Skip to content

Build1 publisher2 min readPublished

Unmirrored MinIO deployments lose their redeploy path when a node fails

MinIO's server and client images stopped pulling from Docker Hub after that repository was archived in September 2026, users report. Running clusters keep serving, so the first break is a redeploy with nothing to pull.

The Engineer · Build desk

Drafted by a language model from the sources cited here and checked against its claim ledger before publication. How we use AISend a correction

Illustration accompanying Unmirrored MinIO deployments lose their redeploy path when a node fails
Generated illustration

What happened

  • In the failure the post describes, nothing in the deployment changes until a node dies and Kubernetes cannot pull minio/minio:latest for the replacement pod.
  • Garage, written in Rust, is designed for several relatively small nodes spread across locations instead of one large storage cluster.
  • RustFS, also in Rust, says its architecture is inspired by MinIO's design philosophy and exposes an AWS S3-compatible API.
  • SeaweedFS combines object storage with distributed file storage and other storage interfaces in one system.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • exposure Clusters that pull MinIO from Docker Hub with no private mirror are one node failure away from a pod that cannot start.
  • constraint Mirroring keeps redeploys working but freezes the deployment on the final open-source build, so it buys time to migrate and nothing more.
  • decision Picking a replacement means sorting by deployment shape first, because the three candidates start from different designs and the post finds no single successor.

The archive does not touch a cluster that is already up. According to a dev.to post surveying replacements, a healthy MinIO cluster keeps serving objects as long as its binaries or container images are on hand [3]. The break comes on the next pull.

The post's example holds everything else constant. The Kubernetes manifests are still valid. The infrastructure code is still valid. The production cluster is still running. Then a node fails, the workload has to be recreated, and the new pod asks for `minio/minio:latest` from a registry that no longer has it [5].

The registry side of the story comes from user reports. The post says the minio/minio repository on Docker Hub was archived in September 2026, and that users then reported both minio/minio and minio/mc could no longer be pulled [4]. The client image is on that list alongside the server. A backup job or init container built on mc hits the same failed pull [4].

With a copy in the team's own registry, the failed pull goes back to being a routine reschedule [6]. Without one, the post's fallback is a colleague who still has the image locally, or an old image recovered from somewhere else [6]. I would not put either in a runbook.

A mirror only delays the problem. The GitHub repository is archived and read-only [1], and its README says it is no longer maintained [2]. The image a team mirrors today is therefore the last open-source upstream build it will get [14]. A mirror sets the pace of the migration. It does not remove the need for one, and the post says there is no single successor to move to [13].

The candidates sort by deployment shape. Garage's case is the layout the post sketches: two sites of three nodes each, syncing over a WAN link [9]. It is built around a decentralized design where the nodes take part in the storage system together [7]. RustFS is the shortest conceptual path for a team with MinIO runbooks. Its model is nodes holding drives, drawn in the post as an erasure set, and the project says that design follows MinIO's philosophy [10] [11]. SeaweedFS fits when the same system also has to serve distributed files [12].

The post compares design intent. It does not include benchmarks, a migration procedure, or a check of which S3 calls each project supports. Before any of the three takes production traffic, I'd want the application's own S3 calls and a full restore of a real bucket run against it.

What to watch

  • Whether MinIO or Docker confirms the reported pull failures for minio/minio and minio/mc, or restores the images.
  • Published results from teams moving a production MinIO bucket set into Garage, RustFS or SeaweedFS.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories