docs: réaligne la documentation sur l'état livré au gel
Trois environnements et un frontal SNI au lieu de deux, certificats Let's Encrypt par DNS-01, sept DAGs, index des ADR complété jusqu'à 0020. Les exemples de l'ETL passent en bash et n'utilisent plus l'option --limit, retirée. L'adresse de la machine est masquée dans l'arbre, les ADR 0009 et 0014 portent une note datée sur l'approbation de la production.
This commit is contained in:
@@ -19,3 +19,35 @@ Rejouable, en root sur la VM : `COFFRE_TAILLE=30G COFFRE_MIGRER=1 bash scripts/c
|
||||
`COFFRE_MIGRER=1`, le coffre est préparé mais les volumes existants ne sont pas déplacés : la
|
||||
migration arrête Docker le temps de la copie. Variables : `COFFRE_IMAGE`, `COFFRE_CLE`,
|
||||
`COFFRE_MONTAGE`, `COFFRE_TAILLE`. La clé est à sauvegarder hors de la VM : perdue, tout est perdu.
|
||||
Le script refuse de démarrer dans un conteneur LXC (`systemd-detect-virt`) ou sans device-mapper :
|
||||
c'est le cas de la machine ENI, où le chiffrement du disque relève de l'hôte Proxmox.
|
||||
|
||||
## provision-host.sh
|
||||
|
||||
Prépare la machine et ses trois environnements, `prod` sur `main`, `rec` et `dev` sur `dev`
|
||||
([ADR 0009](../docs/adr/0009-deux-environnements-compose-sur-la-vm-eni.md),
|
||||
[ADR 0017](../docs/adr/0017-environnement-dev-a-la-demande.md)), sans démarrer aucune stack. Pour
|
||||
chacun, sous `RACINE` (`/srv/enervision` par défaut) : un clone du dépôt, un `.env` en `600` dont
|
||||
les secrets sont générés sur place et jamais réécrits s'ils existent, l'adressage réaligné, un
|
||||
certificat Let's Encrypt par DNS-01 si le jeton dynv6 est dans `RACINE/dns.token` (auto-signé
|
||||
sinon). Lancé en root avec `PROPRIETAIRE`, il pose aussi la tâche cron de renouvellement et donne
|
||||
les dossiers au compte du runner. Joué par Terraform (`infra/terraform/environments/vm-eni`) ou à
|
||||
la main : `PROPRIETAIRE=<utilisateur du runner> bash scripts/provision-host.sh`.
|
||||
Rejouable. Variables : `REPO_URL`, `RACINE`, `DOMAINE`, `PUBLIC_IP`, `PROPRIETAIRE`.
|
||||
|
||||
## tls-selfsigned.sh
|
||||
|
||||
Écrit un certificat auto-signé dans `infra/proxy/tls/` (`fullchain.pem`, `privkey.pem`), là où
|
||||
nginx lit toujours ses certificats, quel que soit le mode d'obtention. Sert au poste de
|
||||
développement et aux tests e2e ; sur la machine, il ne reste en place que si Let's Encrypt échoue.
|
||||
`make tls-selfsigned PUBLIC_HOST=enervision.local`, `FORCE=1` pour écraser. Variables :
|
||||
`PUBLIC_HOST`, `PUBLIC_IP` (ajoutée au certificat), `TLS_DAYS` (365 par défaut).
|
||||
|
||||
## comptes-test.sh
|
||||
|
||||
Réservé à une base **jetable** (CI, e2e, charge sur le poste) : crée un administrateur par la CLI
|
||||
du backend, puis un lecteur et un opérateur, leur fait passer le changement de mot de passe
|
||||
obligatoire, et écrit leurs identifiants en JSON dans `COMPTES_FICHIER`. Appelé par `e2e.yml` et
|
||||
par `make e2e-prepare`. Variables : `BASE_URL` (`http://localhost:8000` par défaut),
|
||||
`COMPTES_FICHIER` (requis), `APP_CLI`, `ADMIN_SUPPLEMENTAIRE=1` pour la base du poste, qui a déjà
|
||||
un administrateur. Nécessite `curl`, `jq` et `openssl`.
|
||||
|
||||
Reference in New Issue
Block a user