MinIO ist weg, Garage ist da
Für die Datenbank-Backups brauchten wir einen S3-Speicher auf unserem Speicher-Server. Der naheliegende Kandidat war jahrelang MinIO. Als wir ihn installieren wollten, gab es ihn nicht mehr.
Was mit MinIO passiert ist
Das Repository der Community-Ausgabe wurde am 25. April 2026 archiviert. Am 11. September 2026 wurden die fertigen Programme vom Download-Server entfernt; sowohl der Server als auch das Kommandozeilen-Werkzeug antworten seitdem mit „410 Gone”. Die Lizenz hat sich nicht geändert, aber wer MinIO heute nutzen will, muss es selbst aus dem Quellcode bauen und selbst pflegen.
Warum Garage
Garage kommt vom französischen Kollektiv Deuxfleurs und ist genau für unseren Fall gebaut: Selbstbetrieb auf bescheidener Hardware. Ein einzelnes Programm ohne Abhängigkeiten, S3-kompatibel, Open Source. Es erfüllt damit alle fünf Punkte, nach denen wir Bausteine auswählen, besser als MinIO es je tat.
Heute nimmt Garage die fortlaufenden Datenbank-Sicherungen (WAL-Archiv) unserer PostgreSQL-Cluster auf. Damit lässt sich eine Datenbank bis auf Sekunden genau wiederherstellen, selbst wenn alle fünf Pis gleichzeitig ausfallen.
Zwei Stolperstellen
- Das Layout anwenden. Nach
garage layout assignmuss man das Layout mit einer Versionsnummer anwenden. Auf einem frischen Knoten ist das--version 1, nicht „aktuelle Version plus eins”. Wer rät, bekommtInvalid new layout version, und danach meldet jeder AufrufLayout not ready. - Die Region. Garage unterschreibt Anfragen mit der Region aus seiner Konfiguration
(Standard:
garage), nicht mitus-east-1. Der Client muss das wissen, sonst schlägt jede Anmeldung fehl. In CloudNativePG gehört die Region dafür in die Zugangsdaten des Speicherziels.
Die Lehre
Ein Baustein, der heute Standard ist, kann morgen verschwinden. Deshalb achten wir darauf, dass jeder Teil des onpit-Stacks austauschbar bleibt, und schreiben auf, wie man wechselt.