Skip to content

S3ObjectStorageOptions

Defined in: src/persistence/object-storage/S3ObjectStorageBackend.ts:47

readonly bucket: string

Defined in: src/persistence/object-storage/S3ObjectStorageBackend.ts:49

S3 bucket name.


readonly optional client?: S3ClientLike

Defined in: src/persistence/object-storage/S3ObjectStorageBackend.ts:75

Allow injecting a pre-built S3Client — useful for tests, custom middleware, or sharing one client across multiple backends. When provided, all other connection options are ignored.


readonly optional credentials?: S3Credentials

Defined in: src/persistence/object-storage/S3ObjectStorageBackend.ts:69

Static credentials. Omit to fall back to the SDK’s default chain (env vars AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY, EC2 instance profile, IAM role for service accounts, …).


readonly optional endpoint?: string

Defined in: src/persistence/object-storage/S3ObjectStorageBackend.ts:57

Custom endpoint URL. Use this for MinIO (http://localhost:9000), Cloudflare R2 (https://<account>.r2.cloudflarestorage.com), Backblaze B2, DigitalOcean Spaces, Wasabi. Omit for AWS S3.


readonly optional forcePathStyle?: boolean

Defined in: src/persistence/object-storage/S3ObjectStorageBackend.ts:63

Force path-style URLs (<endpoint>/<bucket>/<key>) instead of virtual-host style (<bucket>.<endpoint>/<key>). Required for MinIO and most non-AWS S3-compatible stores.


readonly region: string

Defined in: src/persistence/object-storage/S3ObjectStorageBackend.ts:51

AWS region. For Cloudflare R2 use 'auto'.