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).
1.5 KiB
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_KEYet le bucketGARAGE_BUCKET. Rejouable tant que les volumesgarage_metaetgarage_datasont conservés. ChangerGARAGE_SECRET_KEYensuite fait refuser le démarrage. - Ports, sur
127.0.0.1seulement :GARAGE_S3_PORT(3900) pour l'API S3,GARAGE_ADMIN_PORT(3903) pour/health(sans jeton) et/metrics(jetonGARAGE_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.