build: pull MinIO from quay.io instead of Docker Hub - #1178
Merged
Conversation
MinIO deleted its Docker Hub repositories. Both `minio/minio` and `minio/mc` now return 404 from the Hub API, and every pull fails with "repository does not exist or may require 'docker login'", which reads like an auth problem but is not one. This turns controlplane-tests and integration-tests red on every branch. The images are still published to quay.io, so point every reference there. Pin a dated release tag rather than `latest` so a later rebuild cannot change the image underneath us. The minio tag resolves to the same digest the Hub served before it was removed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCY5Jf2BQPCVKJTZU1TpEe
Test Impact PlanDeterministic summary of how this PR changes tests, CI runners, and coverage-risk signals. Summary
Signals
Coverage risk: neutral or increased No coverage-reduction warnings detected. |
dl.min.io now returns 410 Gone. MinIO archived the community mc client alongside the Docker Hub images, so the CI step that installed the binary cannot work either. Worse, `curl -sL` without -f writes the 410 body to /tmp/mc and the step then chmods and runs an HTML page. Run mc from the quay.io image this branch already pins. Joining the MinIO container's network namespace keeps the endpoint on its internal port, so the step no longer depends on the published one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCY5Jf2BQPCVKJTZU1TpEe
Collaborator
|
fyi: switching to a maintained fork of minio #1175 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
minio/minioandminio/mcreference atquay.iolatestmcfrom its image, replacing thedl.min.iodownload that now 410sWhy
MinIO deleted its Docker Hub repositories. This is not a rate limit and not an auth problem, despite the error text:
The Hub API agrees they are gone:
This currently turns
controlplane-testsandintegration-testsred on every branch.The client binary is gone too.
https://dl.min.io/client/mc/release/linux-arm64/mcreturns 410 Gone:So the CI step that installed
mccould not work either. It was also failing badly rather than loudly:curl -sLwithout-fwrites the 410 body to/tmp/mc, and the step then chmods and executes an HTML page. That step now runsmcfrom the quay.io image instead.quay.io/minio/minio:RELEASE.2025-09-07T16-13-09Zresolves to digestsha256:14cea493d9a34af32..., the same image the Hub served before removal. So this changes where we pull from, not what we run.Tags are dated releases rather than
latest, so a later rebuild cannot change the image underneath us.Production risk
None. Every reference changed is a local compose file or CI service container. No shipped image or runtime path pulls MinIO.
Start here
tests/integration/docker-compose.ymlanddocker-compose.yaml— the two that gate CI..github/workflows/ci.yml— already pointed at quay.io but onlatest; now pinned.Skip
k8s/local-config-store.compose.yaml, which is the same substitution.Test plan
Run locally against the real images:
ci.ymlsequence verbatim: MinIO healthy in 2s, bucket created, rerun is idempotent via--ignore-existing, bucket confirmed presentdocker compose -f tests/integration/docker-compose.yml up minio minio-init: bucket, policytrino-ducklake-read, usertrino-readerand its attachment all succeed, exit code 0controlplane-testsandintegration-testsNote on overlap
#1174 carries the same registry move bundled with its perf-test work, using the same two tags. This PR is the standalone repair so CI can go green without waiting on that one. #1174 should rebase cleanly, or drop its copy.
🤖 Generated with Claude Code
https://claude.ai/code/session_01WCY5Jf2BQPCVKJTZU1TpEe