# ----------------------------------------------------------------------------- # MinIO — stockage objet S3 du homelab (3 × Raspberry Pi 5, arm64). # # Pourquoi ici : c'est une BRIQUE PARTAGÉE, au même titre que pgbouncer ou # clickhouse — le namespace `tools` en héberge le serveur ; les buckets, quotas # et identifiants d'une application vivent, eux, avec cette application. # # Premier consommateur : Kadans (ADR-012 « MinIO local d'abord », ADR-013 # « OPFS local-first, MinIO/R2 = paliers payants »). La bascule vers Cloudflare # R2 est prévue par l'ADR-012 aux seuils : 100+ utilisateurs actifs, > 10 To/mois # de bande passante, ou dispersion géographique. # # Mode STANDALONE assumé : 3 nœuds, mais la donnée servie ici est DÉRIVÉE (le # master d'une vidéo reste sur l'appareil de son propriétaire — ADR-018 du front) ; # la redondance de Longhorn suffit, l'erasure coding distribué de MinIO coûterait # de la RAM et des IOPS que des Pi n'ont pas à dépenser pour ça. # # ⚠⚠ CE CHART EST AUTONOME DEPUIS LE 2026-09-02, ET CE N'EST PAS UN CAPRICE. # Il dépendait du sous-chart officiel `minio/minio` 5.4.0. Ce chart N'OFFRE # AUCUNE SONDE DE SANTÉ — vérifié sur toutes ses versions publiées, la 5.4.0 # étant la dernière : pas une clé `livenessProbe` dans ses valeurs, pas un rendu # de sonde dans ses templates. MinIO tournait donc sans le moindre contrôle, et # une panne totale de trois jours est passée inaperçue (arcodange-org/tools#31). # # Il n'existe aucun moyen de greffer une sonde sur le Deployment d'un sous-chart # depuis un chart parent. On rend donc les manifestes nous-mêmes — huit objets, # tous dans templates/, chacun commenté avec ce qu'il reprend à l'identique et # ce qu'il change délibérément. # # CE QU'ON REPREND À NOTRE CHARGE, ET QU'IL FAUT DONC SUIVRE À LA MAIN : le # `tag` de l'image (values.yaml), qui n'est plus tiré par la version du chart. # ----------------------------------------------------------------------------- apiVersion: v2 name: minio description: Stockage objet S3 du homelab — manifestes rendus ici, sans sous-chart. # ⚠ Plus AUCUNE dépendance, et c'est délibéré : # - `minio/minio` 5.4.0 est parti pour la raison ci-dessus ; # - la bibliothèque `tool` n'était utilisée que par templates/helm-chart*.yaml, # deux fichiers inertes (gardés par `tool.kind == "HelmChart"`, jamais vrai # ici) supprimés dans le même passage. # Effet de bord bienvenu : la synchronisation ArgoCD ne dépend plus de deux # dépôts Helm distants — un point de panne en moins sur le stockage objet. dependencies: [] type: application version: 0.2.0 appVersion: "RELEASE.2024-12-18T13-15-44Z"