Pull MinIO from pgsty/silo instead of building it from source - #5
Merged
Merged
Conversation
Building MinIO and mc from source makes every compose run download and compile about 241 Go modules. That takes about 2 minutes on a typical runner and up to 9.5 on a slow one, and on 2026-09-29 it failed nisshi-io/nisshi's merge queue when proxy.golang.org returned stream errors mid-download. pgsty/silo is a community-maintained AGPLv3 fork of MinIO that still publishes multi-arch images. It ships mc at /usr/bin/mc and bash, so the compose healthcheck and the mc commands in CI and the justfile run unchanged. Pinned by digest. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 of 4 tasks
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.
Building MinIO and
mcfrom source (#4) makes everydocker compose updownload and compile about 241 Go modules. That's about 2 minutes on a typical runner and up to 9½ on a slow one. On 2026-09-29 it also failednisshi-io/nisshi's merge queue: all three failedsmokelegs died ingo buildonstream error: INTERNAL_ERRORfromproxy.golang.org(run).This switches the
minioservice topgsty/silo, a community-maintained AGPLv3 fork of MinIO that still publishes images, and removesetc/minio/Dockerfile.RELEASE.2026-09-16T00-00-00Zby index digest. It coverslinux/amd64andlinux/arm64, the two runner types in this matrix.mcat/usr/bin/mcand hasbash, so the compose healthcheck, themcsteps inci.yml, thejustfilerecipes andbin/uprun unchanged. Its entrypoint maps the existingserver /data ...command to itssilobinary.Verification
Locally, against
nisshi-io/nisshi's identical compose service:mc ready local,mc alias setandmc mb local/nisshiall pass.PutObjectwithIf-None-Match: *and one with a wrongIf-Matchboth returnPreconditionFailed, and the correctIf-Matchsucceeds.ghcr.io/nisshi-io/nisshi:mainon--storage-engine s3://nisshi/created a topic and produced 500 idempotent records, and a consumer group read all 500 back.The
s3://nisshi/legs of this PR's CI run the full compose stack and the bats suite against silo.Expected failures: the
postgres://legsThey fail on
maintoo (run). The cause is theetc/initdb.d/010-schema.sqldrift described in #4, not this change.Follow-up
nisshi-io/nisshi'ssmokejob pins this repo by commit. Once this merges, a nisshi PR will move that pin to the merge commit, alongside the same compose change in nisshi.🤖 Generated with Claude Code