dynv6 sert mal un TXT _acme-challenge à la racine de la zone : l'API ne le liste ni ne le supprime, et un seul de ses trois serveurs le renvoie. Le défi DNS-01 de la prod échouait donc à chaque essai, alors que rec. et dev. passaient. La prod rejoint ses voisines en sous-domaine, ce qui aligne aussi les trois noms sur les environnements. - provision-host.sh : hôte prod.$DOMAINE, enregistrement A prod publié. - Makefile : --dnssleep 90, le temps que les trois serveurs de dynv6 servent le TXT avant la validation multi-réseaux de Let's Encrypt. - deploy.yml, ADR 0018, 10-infra.md, infra/README.md, Terraform.
Scripts
Outillage local du monorepo. Les taches courantes passent par le Makefile racine.
dast-token.sh
Prépare le scan DAST (.github/workflows/dast.yml) : sur une API déjà démarrée, crée un compte
lecteur jetable, lui fait passer le changement de mot de passe obligatoire et écrit son jeton
d'accès sur la sortie standard. À lancer depuis apps/backend, contre une base jetable (il y
crée deux comptes) : BASE_URL=http://localhost:8000 ../../scripts/dast-token.sh. Nécessite curl,
jq et openssl.