Set-OPS-Public/playbooks/site.yml
Daniel Allaire ca731eedc4 site : l'ordre d'un site neuf, le depot avant l'autorite et le cache avant tous
- Couche depot_etat juste apres le socle (serveur_backup, serveur_backup_site) : l'AC, les
  bases et la supervision trouvent un depot qui repond quand elles naissent.
- site-deployer-tout amorce d'abord la machine du cache, seule (socle, serveur_artefacts,
  serveur_cache_site) : aucune couche ne peut exprimer cet ordre par machine.
- verifier_flux_site.py refuse le deploiement si une machine active n'a pas ses regles
  nftables generees ; test_verifier_flux_site.py l'eprouve.

Simulation complete contre le site de TechnoLibre : aucun echec sur les neuf machines.
95 preuves (make verifier), make test passe. CHANGELOG 147.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 00:31:56 -04:00

110 lines
4.8 KiB
YAML

---
# GENERE par scripts/orchestrer.py (make site) — NE PAS EDITER A LA MAIN.
# Point d'entree ordonne : deploie l'ecosysteme couche par couche, dans
# l'ordre de reconstruction. Regenerer apres tout changement de couches
# (docs/couches-deploiement.yml) ou du graphe (docs/dependances-groupes.yml).
# Ansible saute les groupes sans hote actif : le meme fichier sert toute instance.
# --- couche socle ---
- name: Couche socle — groupe serveur_debian
import_playbook: groupes/serveur_debian.yml
- name: Couche socle — groupe serveur_durci
import_playbook: groupes/serveur_durci.yml
# --- couche depot_etat ---
- name: Couche depot_etat — groupe serveur_backup
import_playbook: groupes/serveur_backup.yml
- name: Couche depot_etat — groupe serveur_backup_site
import_playbook: groupes/serveur_backup_site.yml
# --- couche pki_racine ---
- name: Couche pki_racine — groupe serveur_step_ca
import_playbook: groupes/serveur_step_ca.yml
# --- couche pki_client ---
- name: Couche pki_client — groupe client_pki
import_playbook: groupes/client_pki.yml
# --- couche observabilite ---
- name: Couche observabilite — groupe serveur_postgresql
import_playbook: groupes/serveur_postgresql.yml
- name: Couche observabilite — groupe serveur_prometheus
import_playbook: groupes/serveur_prometheus.yml
- name: Couche observabilite — groupe serveur_loki
import_playbook: groupes/serveur_loki.yml
- name: Couche observabilite — groupe serveur_grafana
import_playbook: groupes/serveur_grafana.yml
- name: Couche observabilite — groupe serveur_icinga
import_playbook: groupes/serveur_icinga.yml
# --- couche agents_supervision ---
- name: Couche agents_supervision — groupe client_metrique
import_playbook: groupes/client_metrique.yml
- name: Couche agents_supervision — groupe client_journal
import_playbook: groupes/client_journal.yml
- name: Couche agents_supervision — groupe client_sante
import_playbook: groupes/client_sante.yml
# --- couche services ---
- name: Couche services — groupe serveur_openldap
import_playbook: groupes/serveur_openldap.yml
- name: Couche services — groupe serveur_powerdns
import_playbook: groupes/serveur_powerdns.yml
- name: Couche services — groupe serveur_redis
import_playbook: groupes/serveur_redis.yml
- name: Couche services — groupe serveur_nginx
import_playbook: groupes/serveur_nginx.yml
- name: Couche services — groupe serveur_rspamd
import_playbook: groupes/serveur_rspamd.yml
- name: Couche services — groupe serveur_artefacts
import_playbook: groupes/serveur_artefacts.yml
- name: Couche services — groupe serveur_cache_site
import_playbook: groupes/serveur_cache_site.yml
- name: Couche services — groupe serveur_forge_site
import_playbook: groupes/serveur_forge_site.yml
- name: Couche services — groupe serveur_resolveur_site
import_playbook: groupes/serveur_resolveur_site.yml
- name: Couche services — groupe serveur_relais
import_playbook: groupes/serveur_relais.yml
- name: Couche services — groupe serveur_dns_public
import_playbook: groupes/serveur_dns_public.yml
- name: Couche services — groupe serveur_resolveur
import_playbook: groupes/serveur_resolveur.yml
- name: Couche services — groupe serveur_dovecot
import_playbook: groupes/serveur_dovecot.yml
- name: Couche services — groupe serveur_postfix
import_playbook: groupes/serveur_postfix.yml
# --- couche apps ---
- name: Couche apps — groupe serveur_keycloak
import_playbook: groupes/serveur_keycloak.yml
- name: Couche apps — groupe serveur_oauth2_proxy
import_playbook: groupes/serveur_oauth2_proxy.yml
- name: Couche apps — groupe serveur_forgejo
import_playbook: groupes/serveur_forgejo.yml
- name: Couche apps — groupe serveur_icingaweb2
import_playbook: groupes/serveur_icingaweb2.yml
- name: Couche apps — groupe serveur_collabora
import_playbook: groupes/serveur_collabora.yml
- name: Couche apps — groupe serveur_web_frontal
import_playbook: groupes/serveur_web_frontal.yml
- name: Couche apps — groupe serveur_web_dorsal
import_playbook: groupes/serveur_web_dorsal.yml
- name: Couche apps — groupe serveur_nextcloud
import_playbook: groupes/serveur_nextcloud.yml
- name: Couche apps — groupe serveur_ops
import_playbook: groupes/serveur_ops.yml
- name: Couche apps — groupe serveur_ops_tenant
import_playbook: groupes/serveur_ops_tenant.yml
- name: Couche apps — groupe serveur_ops_site
import_playbook: groupes/serveur_ops_site.yml
# --- couche agents ---
- name: Couche agents — groupe client_smtp
import_playbook: groupes/client_smtp.yml
- name: Couche agents — groupe client_backup
import_playbook: groupes/client_backup.yml
- name: Couche agents — groupe client_resolveur
import_playbook: groupes/client_resolveur.yml
- name: Couche agents — groupe client_artefacts
import_playbook: groupes/client_artefacts.yml