amduat/docs/minio-adapter.md
Carl Niklas Rydberg 7e3e302988 Add Minio adapter.
2026-02-21 18:04:15 +01:00

2 KiB

MinIO ASL Store Adapter

This adapter provides an S3-compatible ASL/1-STORE backend for MinIO. It is opt-in for conformance runs and does not require MinIO or any external services at build time.

Required environment

These are required when running conformance against the MinIO backend:

  • AMDUAT_MINIO_ENDPOINT (e.g. http://localhost:9000)
  • AMDUAT_MINIO_BUCKET (e.g. amduat)
  • AMDUAT_MINIO_ACCESS_KEY
  • AMDUAT_MINIO_SECRET_KEY

Optional configuration:

  • AMDUAT_MINIO_REGION (default: us-east-1)
  • AMDUAT_MINIO_PREFIX (default: asl)
  • AMDUAT_MINIO_FORCE_PATH_STYLE (default: 1)
  • AMDUAT_MINIO_TLS_VERIFY (default: 1)
  • AMDUAT_MINIO_TIMEOUT_MS (default: 30000)
  • AMDUAT_MINIO_RETRY_MAX (default: 3)

Conformance runs

MinIO is skipped unless explicitly enabled.

Example (opt-in conformance run):

AMDUAT_CONFORMANCE_ENABLE_MINIO=1 \
AMDUAT_MINIO_ENDPOINT=http://localhost:9000 \
AMDUAT_MINIO_BUCKET=amduat \
AMDUAT_MINIO_ACCESS_KEY=minioadmin \
AMDUAT_MINIO_SECRET_KEY=minioadmin \
./build/amduat_conformance_run --suite asl --backend minio --workdir /tmp/amduat_conformance

If required environment variables are missing, the backend is reported as SKIPPED with the missing variable names.

Key layout

Objects are stored under a sharded key derived from the canonical reference hex:

<prefix>/<r0r1>/<r2r3>/<full_reference_hex>

Error mapping

HTTP/S3 response Canonical taxonomy Store error
404 NotFound AMDUAT_ASL_STORE_ERR_NOT_FOUND
401, 403 PermissionDenied AMDUAT_ASL_STORE_ERR_IO
408, 429 TransientIO AMDUAT_ASL_STORE_ERR_IO
5xx TransientIO AMDUAT_ASL_STORE_ERR_IO
4xx (other) InvalidArtifact AMDUAT_ASL_STORE_ERR_INTEGRITY
Network/TLS/parse errors InternalError/TransientIO AMDUAT_ASL_STORE_ERR_IO

Limitations

  • HTTPS is not supported yet (HTTP-only). Use http:// endpoints for now.
  • Multipart uploads, streaming artifacts, and very large objects are not implemented in Phase 0.