Files
ENI-projet-piscine/infra/garage/README.md
T
Johan LEROY f011fce84e docs(adr): constate que la machine ENI est un conteneur LXC, LUKS y est impossible
La garde de scripts/coffre-luks.sh refuse un conteneur LXC ou l'absence de device-mapper.
L'ADR 0020, 10-infra.md et la vue d'ensemble disent ce qui est en place (SSE-C des archives)
et ce qui relève de l'hôte Proxmox (chiffrement du disque du conteneur).
2026-09-24 10:54:06 +02:00

1.5 KiB

Garage

Stockage objet S3 de la stack, un conteneur par projet Compose (ADR 0019). Il ne sert qu'au DAG retention, qui y archive les chunks de reading avant de les supprimer.

  • garage.toml : configuration versionnée, sans secret, montée en lecture seule. Les secrets arrivent par l'environnement : GARAGE_RPC_SECRET, GARAGE_ADMIN_TOKEN, GARAGE_METRICS_TOKEN.
  • Démarrage --single-node --default-bucket : le premier démarrage crée le layout, la clé GARAGE_ACCESS_KEY et le bucket GARAGE_BUCKET. Rejouable tant que les volumes garage_meta et garage_data sont conservés. Changer GARAGE_SECRET_KEY ensuite fait refuser le démarrage.
  • Ports, sur 127.0.0.1 seulement : GARAGE_S3_PORT (3900) pour l'API S3, GARAGE_ADMIN_PORT (3903) pour /health (sans jeton) et /metrics (jeton GARAGE_METRICS_TOKEN, scruté par Prometheus). Le RPC 3901 n'est pas publié.
  • Nœud unique, replication_factor = 1, moteur sqlite : aucune redondance, l'instantané des métadonnées toutes les six heures est la seule protection ; chiffrement au repos : ADR 0020.
docker compose exec garage /garage status
docker compose exec garage /garage bucket info enervision-archives
docker compose exec garage /garage key info --show-secret "$GARAGE_ACCESS_KEY"

Tests de fumée : tests/garage/test_smoke.py, joués par la CI contre le vrai conteneur (job « Validation des fichiers Compose et de la supervision »). En local, stack démarrée et .env chargé : uvx --with boto3 pytest tests/garage.