Skip to content

basalt / storage-s3/src / S3DriverOptions

Interface: S3DriverOptions ​

Defined in: storage-s3/src/index.ts:60

Multipart knobs. Settable on the driver (a default for every upload) and per S3StorageDriver.putStream call, which wins.

Extends ​

Properties ​

bucket ​

> bucket: string

Defined in: storage-s3/src/index.ts:61


credentials? ​

> optional credentials?: object

Defined in: storage-s3/src/index.ts:65

accessKeyId ​

> accessKeyId: string

secretAccessKey ​

> secretAccessKey: string


endpoint? ​

> optional endpoint?: string

Defined in: storage-s3/src/index.ts:64

Custom endpoint — set this to use MinIO or any S3-compatible service.


forcePathStyle? ​

> optional forcePathStyle?: boolean

Defined in: storage-s3/src/index.ts:70

Path-style URLs (http://host/bucket/key) instead of virtual-hosted style. Defaults to true when an endpoint is set (required by MinIO).


partSizeBytes? ​

> optional partSizeBytes?: number

Defined in: storage-s3/src/index.ts:52

Bytes per part. Defaults to 5 MiB — S3's minimum for every part but the last, and therefore the lowest value accepted. Larger parts mean fewer requests and more memory: up to partSizeBytes × queueSize is in flight.

Inherited from ​

S3MultipartOptions.partSizeBytes


queueSize? ​

> optional queueSize?: number

Defined in: storage-s3/src/index.ts:54

Parts uploaded in parallel. Defaults to 4. Must be at least 1.

Inherited from ​

S3MultipartOptions.queueSize


region? ​

> optional region?: string

Defined in: storage-s3/src/index.ts:62


serverSideEncryption? ​

> optional serverSideEncryption?: S3ServerSideEncryption

Defined in: storage-s3/src/index.ts:78

Server-side encryption sent with every put and signed into every pre-signed upload URL. Unset: no SSE headers are sent and the bucket's default encryption applies — configuring default encryption on the bucket is the simplest alternative (and AWS encrypts new objects with SSE-S3 by default). Set { kms } when objects must use a specific KMS key.


signingEndpoint? ​

> optional signingEndpoint?: string

Defined in: storage-s3/src/index.ts:90

Default base endpoint for pre-signed URLs, when the host that SERVES the bucket differs from the one this process talks to. The classic split: the API reaches MinIO at http://minio:9000 inside the container network while browsers and isolated workers must use the public name.

Applies to temporaryUrl and temporaryUploadUrl; a per-call endpoint wins over it. Region, path style, credentials and SSE are unchanged — only the host the signature is computed for. Point it at the SAME bucket under another name; never at a third party.

Released under the MIT License.