Skip to main content

ADR-0111: SeaweedFS and client storage instead of MinIO

Context​

MinIO is AGPL-3.0; the kit imposes the client's storage.

Decision​

Object storage is the client's (S3, Azure Blob, GCS adapters); SeaweedFS serves development; MinIO carries replacement: seaweedfs.

Consequences​

Each capability (WORM, versioning) is detected and verified per storage profile.

Evidence​

  • catalog/components/minio.yaml
  • catalog/components/seaweedfs.yaml
  • services/control-plane/src/eai/storage/s3.py
  • services/control-plane/src/eai/storage/azure.py
  • services/control-plane/src/eai/storage/gcs.py
  • sql/postgres/V126__storage_capability_checks.sql
  • services/control-plane/tests/test_storage_s3_seaweedfs.py