Les branches
Une seule branche durable :main. Branches courtes (feat/..., fix/...), PR, merge, la
branche meurt. Pas de branche release : on déploie une image, pas une branche.
Les versions
Un tag semver posé sur un commit demain fige une photo du repo entier.
État de prod
Quand prod existera, sa topologie de départ est plus petite que staging : trois audiences API (rs, bo, ad) et les fronts backoffice et audit. Le target all de prod exclut donc api-pr,
kare et provider, et les cibler explicitement est rejeté.
Release
Actions → Release (prod) → Run workflow.
Le tag est posé en dernier, après un verdict sain. Une release échouée ou annulée reste donc
rejouable, et aucune version orpheline ne revendique du code qui n’est jamais arrivé en production.
L’approbation humaine vient de l’environment GitHub
prod (required reviewers) : chaque job du stack
qui touche prod le déclare.
Hotfix
Pour ne pousser que le correctif, on part du code en prod, pas demain.
validate résout le ref en un SHA immuable unique, déploie ce SHA, puis tague après succès. Le report
sur main est obligatoire : sans lui, la prochaine release écrase le correctif.
Rollback
Le rollback ne rejoue pas un build : il repointe un container sur une image déjà construite. Voir Déployer — aujourd’huirollback.yml est staging uniquement.