S3 Datastore
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.
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:HeadBuckets3:GetObjects3:PutObjects3:DeleteObjects3:ListBuckets3:HeadObject
Usage
swamp datastore setup @swamp/s3-datastore \
--config '{"bucket": "my-bucket", "prefix": "swamp", "region": "us-east-1"}' --jsonS3-Compatible Endpoints
Supports S3-compatible services (MinIO, DigitalOcean Spaces, etc.) via the
endpoint and forcePathStyle config options.
02Datastores
Amazon S3configurable
@swamp/s3-datastores3.ts
Store data in an Amazon S3 bucket with local cache synchronization.
Config Fields
| Field | Type | Description |
|---|---|---|
| bucket | string | S3 bucket name |
| prefix? | string | Key prefix within the bucket |
| region? | string | AWS region (defaults to environment/credentials) |
| endpoint? | string | Custom S3-compatible endpoint URL (e.g., https://nyc3.digitaloceanspaces.com) |
| forcePathStyle? | boolean | Use path-style addressing (bucket in path, not subdomain). Default: false |
03Previous Versions
2026.04.28.3Apr 28, 2026
2026.04.28.2Apr 28, 2026
2026.04.28.1Apr 28, 2026
2026.04.25.2Apr 25, 2026
2026.04.24.4Apr 24, 2026
2026.04.24.3Apr 24, 2026
2026.04.24.2Apr 24, 2026
2026.04.24.1Apr 23, 2026
2026.04.23.1Apr 23, 2026
2026.04.22.3Apr 22, 2026
2026.04.22.2Apr 22, 2026
2026.04.20.2Apr 20, 2026
2026.04.20.1Apr 20, 2026
2026.04.08.1Apr 8, 2026
2026.04.03.1Apr 3, 2026
2026.03.31.6Mar 31, 2026
2026.03.31.5Mar 31, 2026
2026.03.31.4Mar 31, 2026
2026.03.31.3Mar 31, 2026
04Stats
A
91 / 100
Downloads
2,718
Archive size
282.5 KB
Verified by Swamp
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types0/1missing
- Has description1/1earned
- At least one platform tag (or universal)1/1earned
- Two or more platform tags (or universal)1/1earned
- License declared1/1earned
- Verified public repository2/2earned
05Platforms
06Labels