Skip to content

fix(mc): install mc from the pgsty community fork - #22

Merged
tmaier merged 1 commit into
mainfrom
fix/mc-pgsty-fork
Sep 29, 2026
Merged

tmaier merged 1 commit into
mainfrom
fix/mc-pgsty-fork

Conversation

@tmaier

@tmaier tmaier commented Sep 29, 2026

Copy link
Copy Markdown
Owner

Why

Every devcontainer build that uses ghcr.io/tmaier/devcontainer-features/mc fails: the feature downloads https://dl.min.io/client/mc/release/linux-amd64/mc, which answers 410 Gone. MinIO Inc. archived the community edition and withdrew its free binaries and images in September 2026. The hard-coded URL was also amd64-only, so arm64 containers got an unusable binary.

What changes

  • Installs mc from pgsty/mc, the maintained community fork, using the release tarball for the container's architecture (amd64 or arm64).
  • Pins RELEASE.2026-09-16T00-00-00Z and verifies its SHA-256, so a changed upstream artifact fails the build instead of shipping.
  • Installs the fork's mcli binary as mc, so existing callers keep working.
  • Bumps the feature to 1.1.0.

Verified

  • devcontainer features test --skip-scenarios -f mc passes on debian:latest and ubuntu:latest, and the mc_test scenario passes, all on arm64. CI covers amd64.
  • Librario's devcontainer builds with the same install script, and its mc alias set/mb/rb calls work against a MinIO server.

After merge, the release workflow (manual workflow_dispatch) needs to run to publish 1.1.0 to GHCR.

The feature downloads https://dl.min.io/client/mc/release/linux-amd64/mc,
which answers `410 Gone`: MinIO Inc. archived the community edition and
withdrew its free binaries and images in September 2026, so every
devcontainer build using this feature fails. The URL was also
amd64-only, so arm64 containers got an unusable binary.

pgsty/mc is the maintained community fork. The feature installs its
release tarball for the container's architecture (amd64 or arm64),
pinned and SHA-256 verified so a changed upstream artifact fails the
build instead of shipping. The fork names the binary `mcli`; it is
installed as `mc` so existing callers keep working.

https://github.com/pgsty/mc/releases/tag/RELEASE.2026-09-16T00-00-00Z
Copilot AI balanced review requested due to automatic review settings September 29, 2026 07:00

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Dependency installation can omit CA certificates when curl is already present, causing HTTPS downloads to fail.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Updates the mc feature to install the architecture-specific pgsty community fork with checksum verification.

Changes:

  • Pins and verifies pgsty mcli, installing it as mc.
  • Adds amd64 and arm64 support.
  • Bumps the feature version to 1.1.0 and updates documentation.
File Description
src/​mc/​NOTES.md Documents the fork and upgrade process.
src/​mc/​install.sh Downloads and verifies architecture-specific binaries.
src/​mc/​devcontainer-feature.json Updates metadata and version.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/mc/install.sh
Comment on lines +18 to 21
if ! command -v curl >/dev/null 2>&1; then
apt-get update
apt-get install -y --no-install-recommends wget ca-certificates
apt-get install -y --no-install-recommends curl ca-certificates
fi
@tmaier
tmaier merged commit 9c39b19 into main Sep 29, 2026
56 checks passed
@tmaier
tmaier deleted the fix/mc-pgsty-fork branch September 29, 2026 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants