From 5931aefb1fd551587790d1063c4376a797f025c6 Mon Sep 17 00:00:00 2001 From: Dimitri Yatsenko Date: Tue, 13 Oct 2026 15:36:02 -0500 Subject: [PATCH] chore(compose): run MinIO from the image the test fixture uses `docker compose up minio` failed: the service pinned `minio/minio:RELEASE.2025-02-28T09-55-16Z`, and MinIO has withdrawn its Docker Hub images. The `minio_container` fixture moved to `cgr.dev/chainguard/minio:latest` in #1559. The compose service now uses the same image and honors the same `DJ_TEST_MINIO_IMAGE` override. `MINIO_VER` is dropped, since the Chainguard image is published only as `latest`. The Chainguard image runs `/usr/bin/minio` directly, so `command: server ...` still starts the server, but it ships no curl and the old healthcheck could never pass. The healthcheck now runs the bundled `mc ready local`. Credentials move to `MINIO_ROOT_USER`/`MINIO_ROOT_PASSWORD`; the old `MINIO_ACCESS_KEY`/`MINIO_SECRET_KEY` names still work but log a deprecation warning. --- docker-compose.yaml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index 23fd773c1..ffa5ba024 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -38,19 +38,18 @@ services: retries: 5 interval: 15s minio: - image: minio/minio:${MINIO_VER:-RELEASE.2025-02-28T09-55-16Z} + # Same image as the minio_container fixture in tests/conftest.py, and the + # same override variable: MinIO no longer publishes minio/minio. This image + # has no curl, so the healthcheck uses its bundled mc client. + image: ${DJ_TEST_MINIO_IMAGE:-cgr.dev/chainguard/minio:latest} environment: - - MINIO_ACCESS_KEY=datajoint - - MINIO_SECRET_KEY=datajoint + - MINIO_ROOT_USER=datajoint + - MINIO_ROOT_PASSWORD=datajoint ports: - "9000:9000" command: server --address ":9000" /data healthcheck: - test: - - "CMD" - - "curl" - - "--fail" - - "http://localhost:9000/minio/health/live" + test: [ "CMD", "mc", "ready", "local" ] timeout: 30s retries: 5 interval: 15s