# 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): ```sh 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: ``` /// ``` ## 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.