Files
GearBox/.planning/phases/17-object-storage/17-DISCUSSION-LOG.md

1.7 KiB

Phase 17: Object Storage - Discussion Log

Audit trail only. Do not use as input to planning, research, or execution agents.

Date: 2026-04-05 Phase: 17-object-storage Areas discussed: S3 Client, URL Strategy, Storage Abstraction, Migration Approach Mode: --auto --batch


S3 Client

Option Description Selected
@aws-sdk/client-s3 Official AWS SDK v3, S3-compatible, tree-shakeable
minio-js MinIO-specific client
undici/fetch with S3 API Raw HTTP calls

User's choice: @aws-sdk/client-s3 (auto-selected)


URL Strategy

Option Description Selected
Presigned URLs MinIO generates time-limited signed URLs, client fetches directly
Proxy through GearBox API Server fetches from MinIO, streams to client
Public bucket No auth needed, direct MinIO URLs

User's choice: Presigned URLs (auto-selected)


Storage Abstraction

Option Description Selected
Thin storage service Single file wrapping S3 SDK with upload/delete/getUrl
Full abstraction layer Interface with local/S3 implementations

User's choice: Thin storage service (auto-selected)


Migration Approach

Option Description Selected
One-time script Reads uploads/, uploads to MinIO, same filenames
Lazy migration Upload to MinIO on first access, fallback to local

User's choice: One-time script (auto-selected)


Claude's Discretion

  • Presigned URL expiry, proxy fallback, MinIO version, bucket policy, cleanup strategy

Deferred Ideas

None