feat(infra): déploie Garage par environnement, secrets par le .env, fumée S3 en CI
Reprend l'amorce de la PR 164 et l'intègre à la stack : service `garage` (dxflrs/garage v2.4.1, `--single-node --default-bucket`) dans docker-compose.yml, garage.toml versionné sans secret, ports sur 127.0.0.1 décalés par environnement dans provision-host.sh, garde des six clés GARAGE_* dans le Makefile, cible Prometheus avec jeton, tests de fumée déplacés dans tests/garage et joués par le job compose d'infra.yml contre le vrai conteneur, SSE-C compris. Variables APP_S3_* et APP_READING_RETENTION_DAYS posées sur airflow-scheduler pour le DAG `retention`. ADR 0019. Closes #24
This commit is contained in:
@@ -52,6 +52,31 @@ AIRFLOW_ADMIN_EMAIL=admin@enervision.fr
|
||||
# python -c "import secrets; print(secrets.token_urlsafe(48))"
|
||||
AIRFLOW_APP_SECRET_KEY=change_me
|
||||
|
||||
# Garage, stockage objet S3 par environnement (ADR 0019) : un conteneur par projet Compose, publié
|
||||
# sur 127.0.0.1 seulement. Les six secrets ci-dessous sont exigés par `make services-up` et
|
||||
# `make stack-up` ; scripts/provision-host.sh les génère sur la VM.
|
||||
# 32 octets en hexadécimal, rien d'autre n'est accepté : openssl rand -hex 32
|
||||
GARAGE_RPC_SECRET=change_me
|
||||
# Jetons de l'API d'administration et de /metrics (port 3903). Même générateur qu'APP_SECRET_KEY.
|
||||
GARAGE_ADMIN_TOKEN=change_me
|
||||
GARAGE_METRICS_TOKEN=change_me
|
||||
# Clé S3 créée au premier démarrage (`--default-bucket`). Identifiant : echo "GK$(openssl rand -hex 12)"
|
||||
# Secret : openssl rand -hex 32. Ne plus le changer ensuite, Garage refuserait de démarrer.
|
||||
GARAGE_ACCESS_KEY=change_me
|
||||
GARAGE_SECRET_KEY=change_me
|
||||
GARAGE_BUCKET=enervision-archives
|
||||
# Ports S3 et admin sur 127.0.0.1. Recette : 3910 et 3913, dev : 3920 et 3923.
|
||||
GARAGE_S3_PORT=3900
|
||||
GARAGE_ADMIN_PORT=3903
|
||||
|
||||
# Rétention des mesures (ADR 0019, 0020) : le DAG `retention` exporte chaque nuit vers Garage les
|
||||
# chunks de `reading` plus vieux que cette borne, puis les supprime. L'historique de démonstration
|
||||
# s'arrête fin 2024 : sous 21 mois, la démo disparaîtrait.
|
||||
READING_RETENTION_DAYS=1095
|
||||
# Clé SSE-C des archives, 32 octets en base64 : openssl rand -base64 32. La perdre rend les
|
||||
# archives illisibles ; la sauvegarder hors de la VM.
|
||||
GARAGE_SSE_KEY=change_me
|
||||
|
||||
# Stack complète derrière le reverse proxy (docker-compose.prod.yml).
|
||||
# PUBLIC_HOST alimente l'origine CORS, le lien de réinitialisation et le certificat.
|
||||
PUBLIC_HOST=enervision.local
|
||||
|
||||
Reference in New Issue
Block a user