Skip to content

fix(ci): run the storage-migration tests on Chainguard's MinIO image - #1138

Merged
Deeds67 merged 1 commit into
mainfrom
fix/storage-migration-minio-image
Sep 24, 2026
Merged

Deeds67 merged 1 commit into
mainfrom
fix/storage-migration-minio-image

Conversation

@Deeds67

@Deeds67 Deeds67 commented Sep 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

MinIO withdrew its container images on 2026-09-24. quay.io/minio/minio now returns 401 for every tag, including pinned RELEASE.* tags, and docker.io/minio/minio reports that the repository does not exist. The minio/mc images are gone as well. Other quay.io images still pull, so this is specific to MinIO and not an outage or rate limit.

Storage Migration Tests (nightly) and Storage Migration E2E both use e2e/docker-compose.storage-migration.yml, so both fail at "Start stack" with minio Error unauthorized. main's last green run was 08:52 UTC on the same day.

Change

  • Swap the fixture to cgr.dev/chainguard/minio. It is current (RELEASE.2026-09-22) and still ships mc, which the workflow (bucket creation) and e2e/src/storage-migration.ts (stat / cat / ls) exec into the container. Chainguard's free tier publishes only latest, so the image is pinned by index digest (amd64 and arm64).
  • The image has no curl, so the healthcheck becomes mc ready local, with MC_HOST_local set so it needs no alias first.

Only the test fixture changes. The server has no dependency on MinIO.

Verification

  • Started the minio service locally from the merged compose files: it goes healthy, and the workflow's exact mc alias set / mc mb commands succeed.
  • In a separate probe, the image ran every mc operation the e2e helpers use (stat, cat, ls --recursive).
  • prettier --check is clean.
  • Both storage-migration workflows are dispatched on this branch; see the checks.

Follow-up (not in this PR)

The helpers are tied to mc inside the container. Moving them to the AWS SDK would let the fixture be any S3-compatible server (RustFS, SeaweedFS, Garage). That would remove the dependency on any one vendor's image.

MinIO withdrew its images from quay.io and Docker Hub on 2026-09-24:
quay.io/minio/minio now returns 401 for every tag, and docker.io/minio/minio reports that the
repository does not exist. Both storage-migration workflows pull it, so both fail at
"Start stack" with `unauthorized`.

Chainguard's build is current (RELEASE.2026-09-22) and still ships `mc`, which the workflow and
the e2e helpers exec into the container. Its free tier publishes only `latest`, so the image is
pinned by index digest. It has no curl, so the healthcheck uses `mc ready local`, with
MC_HOST_local set so it needs no alias first.
@Deeds67 Deeds67 added the changelog:skip Skip changelog entry label Sep 24, 2026
@Deeds67
Deeds67 merged commit 3c07ab4 into main Sep 24, 2026
49 of 50 checks passed
Deeds67 added a commit that referenced this pull request Sep 27, 2026
…1138)

MinIO withdrew its images from quay.io and Docker Hub on 2026-09-24:
quay.io/minio/minio now returns 401 for every tag, and docker.io/minio/minio reports that the
repository does not exist. Both storage-migration workflows pull it, so both fail at
"Start stack" with `unauthorized`.

Chainguard's build is current (RELEASE.2026-09-22) and still ships `mc`, which the workflow and
the e2e helpers exec into the container. Its free tier publishes only `latest`, so the image is
pinned by index digest. It has no curl, so the healthcheck uses `mc ready local`, with
MC_HOST_local set so it needs no alias first.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog:skip Skip changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant