Advance MinIO compatibility lane

This commit is contained in:
2026-06-27 23:37:55 +02:00
parent 5858a7309b
commit 8f454da406
6 changed files with 941 additions and 4 deletions

View File

@@ -200,6 +200,42 @@ artifactstore push ./fixtures/smoke \
artifactstore storage verify --backend s3
```
Opt-in MinIO compatibility smoke:
```sh
export ARTIFACTSTORE_MINIO_ENDPOINT_URL=http://127.0.0.1:9000
export ARTIFACTSTORE_MINIO_REGION=us-east-1
export ARTIFACTSTORE_MINIO_BUCKET=artifact-store-compat
export ARTIFACTSTORE_MINIO_KEY_PREFIX=compat/manual
export ARTIFACTSTORE_MINIO_ACCESS_KEY=<from-approved-local-env>
export ARTIFACTSTORE_MINIO_SECRET_KEY=<from-approved-local-env>
make test-minio
```
The MinIO bucket must already exist and the access key must have `s3:PutObject`,
`s3:GetObject`, `s3:DeleteObject`, `s3:ListBucket`, and multipart permissions on
the test prefix. Do not commit or paste the key values; use the approved local
environment, file, or operator custody path. The live test skips unless all
required `ARTIFACTSTORE_MINIO_*` values are present.
The same endpoint can be used for an application-level S3 smoke by mapping the
approved local values through the regular secret-reference settings:
```sh
export ARTIFACTSTORE_STORAGE_BACKENDS=local,s3
export ARTIFACTSTORE_STORAGE_DEFAULT_BACKEND=s3
export ARTIFACTSTORE_S3_ENDPOINT_URL="$ARTIFACTSTORE_MINIO_ENDPOINT_URL"
export ARTIFACTSTORE_S3_REGION="$ARTIFACTSTORE_MINIO_REGION"
export ARTIFACTSTORE_S3_BUCKET="$ARTIFACTSTORE_MINIO_BUCKET"
export ARTIFACTSTORE_S3_KEY_PREFIX="$ARTIFACTSTORE_MINIO_KEY_PREFIX"
export ARTIFACTSTORE_S3_ACCESS_KEY_REF=env:ARTIFACTSTORE_MINIO_ACCESS_KEY
export ARTIFACTSTORE_S3_SECRET_KEY_REF=env:ARTIFACTSTORE_MINIO_SECRET_KEY
artifactstore health
artifactstore storage verify --backend s3
```
The verification command re-reads stored objects, recomputes the primary
digest, emits `v1.storage.location_verified`, and marks failed locations as
`failed`. A nonzero failed-location count degrades `/health`.