Adapter
MinIO
Overview
The MinIO adapter wraps the MinIO S3-compatible API. Snapshots and forks follow the same sibling-bucket pattern as the S3 adapter (server-side copy + manifest).
Primarily useful for local development against docker run minio/minio, or for self-hosted S3-compatible storage on your own infrastructure.
Configuration
import { Storage } from '@storagesdk/core';
import { minio } from '@storagesdk/adapters/minio';
const storage = new Storage({
adapter: minio({
bucket: 'agent-runs',
endpoint: process.env.MINIO_ENDPOINT,
accessKeyId: process.env.MINIO_ACCESS_KEY_ID,
secretAccessKey: process.env.MINIO_SECRET_ACCESS_KEY,
}),
});
minio({
bucket: string;
endpoint: string; // required — no default
accessKeyId: string;
secretAccessKey: string;
region?: string; // defaults to 'us-east-1'
forcePathStyle?: boolean; // defaults to true
});
Notes
- Same peer deps as the S3 adapter:
@aws-sdk/client-s3and friends. endpointis required. Typical local setup ishttp://localhost:9000.forcePathStyledefaults totrue— the underlying S3 client needs path-style addressing against MinIO.- For other S3-compatible providers, prefer the S3 adapter directly with
forcePathStyle: false.
Compatibility
| Capability | Support |
|---|---|
| Snapshots | Sibling buckets via server-side CopyObject |
| Forks | Sibling buckets via server-side CopyObject |
| Byte-range reads | ✓ |
| Multipart upload | ✓ |
| Enforced upload limits | ✓ |
| User metadata | ✓ |
| Signed URLs | ✓ |