--- # Couches de déploiement — l'ordre de reconstruction de l'écosystème. # # Registre central (comme docs/dependances-groupes.yml). L'orchestrateur # (scripts/orchestrer.py → make site) trie les groupes déployables par COUCHE # (clé primaire, ordre ci-dessous), puis AFFINE l'ordre INTRA-couche avec le # graphe des dépendances (dependances-groupes.yml, ex. dovecot avant postfix). # # Règle : chaque groupe déployable (= un playbooks/groupes/.yml # opérationnel) DOIT figurer dans exactement une couche. Le générateur refuse # sinon (garde anti-dérive : un nouveau rôle non classé casse la génération). # # Règle de cohérence : un prérequis (dependances-groupes.yml) doit vivre dans # une couche <= celle du groupe qui en dépend. Une arête « en arrière » (un # groupe qui requiert un groupe d'une couche PLUS TARDIVE) = mauvaise # classification → le générateur refuse. # # L'ordre des couches ci-dessous EST l'ordre de déploiement. couches: - nom: socle raison: "Base du système : /etc/hosts (résolution interne au bootstrap), paquets, durcissement. Tout en dépend." groupes: - serveur_debian - serveur_durci - nom: pki_racine raison: "L'autorité de certification interne (step_ca) : la racine de confiance de tous les flux TLS est-ouest." groupes: - serveur_step_ca - nom: pki_client raison: "Émission des certificats et pose de la racine (root_ca 0644) sur chaque nœud. Prérequis de TOUT service qui sert ou vérifie du TLS." groupes: - client_pki - nom: services raison: "Les services d'infrastructure dont dépendent les applications : bases, annuaire, DNS, cache, métriques, journaux, edge, courriel." groupes: - serveur_postgresql - serveur_openldap - serveur_powerdns - serveur_redis - serveur_prometheus - serveur_loki - serveur_nginx - serveur_rspamd - serveur_dovecot - serveur_postfix - serveur_backup - nom: apps raison: "Les applications métier, qui consomment les services (base, SSO, courriel, edge)." groupes: - serveur_keycloak - serveur_oauth2_proxy - serveur_forgejo - serveur_icinga - serveur_icingaweb2 - serveur_grafana - serveur_collabora - serveur_nextcloud - serveur_web_frontal - serveur_web_dorsal - nom: agents raison: "Les intégrations clientes qui expédient vers les services centraux (métriques, journaux, courriel, sauvegardes, résolution locale). Déployées en dernier, quand leurs cibles sont debout." groupes: - client_metrique - client_journal - client_smtp - client_backup - client_unbound