Storage Extension
@kamod-ch/otok-storage#
Provider-based object storage with typed bucket configuration and server-side secrets only.
Providers#
| Provider | Use case |
|---|---|
test |
In-memory storage for tests |
local |
Filesystem under .otok-storage |
s3 |
AWS S3 |
r2 |
Cloudflare R2 |
minio |
MinIO or S3-compatible endpoints |
Plugin#
import storage from "@kamod-ch/otok-storage";
export default defineConfig({
plugins: [
storage({
provider: { type: "local" },
buckets: {
uploads: {
name: "uploads",
maxSizeBytes: 5 * 1024 * 1024,
allowedMimeTypes: ["image/*"],
},
},
}),
],
});
Clients receive presigned URLs from server actions — never storage credentials.