Skip to main content

S3 Datastore

@swamp/s3-datastorev2026.06.03.1· 1d agoDATASTORES
01README

Store data in an Amazon S3 bucket with local cache synchronization. Provides distributed locking via S3 conditional writes and bidirectional sync between a local cache directory and S3. Features SHA-256 content hashing, per-path dirty tracking, partitioned index for scoped sync, namespace-scoped sync for multi-repo shared datastores, and configurable transfer concurrency.

Authentication

Uses the default AWS credential chain — no credentials in config. Provide credentials via one of:

  • Environment variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
  • AWS profile: ~/.aws/credentials
  • IAM role attached to the instance or task

Required IAM Permissions

  • s3:HeadBucket
  • s3:GetObject
  • s3:PutObject
  • s3:DeleteObject
  • s3:ListBucket
  • s3:HeadObject

Usage

swamp datastore setup @swamp/s3-datastore \
  --config '{"bucket": "my-bucket", "prefix": "swamp", "region": "us-east-1"}' --json

S3-Compatible Endpoints

Supports S3-compatible services (MinIO, DigitalOcean Spaces, etc.) via the endpoint and forcePathStyle config options.

02Datastores1
Amazon S3configurable
@swamp/s3-datastores3.ts

Store data in an Amazon S3 bucket with local cache synchronization.

Config Fields

FieldTypeDescription
bucketstringS3 bucket name
prefix?stringKey prefix within the bucket
region?stringAWS region (defaults to environment/credentials)
endpoint?stringCustom S3-compatible endpoint URL (e.g., https://nyc3.digitaloceanspaces.com)
forcePathStyle?booleanUse path-style addressing (bucket in path, not subdomain). Default: false
pullConcurrency?numberMaximum concurrent S3 downloads during pull. Default: 50
pushConcurrency?numberMaximum concurrent S3 uploads during push. Default: 25
03Previous Versions19
2026.05.26.1May 26, 2026
2026.05.25.1May 25, 2026
2026.05.24.1May 24, 2026
2026.05.23.1May 24, 2026

Modified 1 datastores

2026.05.15.3May 15, 2026
2026.05.15.2May 15, 2026
2026.05.15.1May 15, 2026
2026.05.14.2May 14, 2026
2026.05.14.1May 14, 2026
2026.05.05.1May 5, 2026
2026.05.04.4May 4, 2026
2026.05.04.3May 4, 2026
2026.05.04.2May 4, 2026
2026.05.04.1May 4, 2026
2026.04.28.4Apr 28, 2026
2026.04.28.3Apr 28, 2026
2026.04.28.2Apr 28, 2026
2026.04.28.1Apr 28, 2026
2026.04.25.2Apr 25, 2026
04Stats
Downloads
6,786
Archive size
380.0 KB

Not yet scored.

A score will be generated the next time this extension is published. The owner can also trigger scoring manually.

05Platforms
06Labels