Set-OPS-Public/playbooks/site.yml
Daniel Allaire a8af541059 D-86 : la supervision se deploie juste apres la PKI, pas a la fin
On n allume pas la lumiere une fois la maison finie. L observabilite et le
moteur de supervision etaient deployes APRES presque tout ce qu ils
surveillent. Une reconstruction depuis zero est pourtant le moment ou l on
a le plus besoin de voir, et c etait le seul moment ou l on ne voyait rien.

  4. observabilite       postgresql, prometheus, loki, grafana, icinga
  5. agents_supervision  client_metrique, client_journal, client_sante

DEPLACER LES SERVEURS SANS LES AGENTS N AURAIT RIEN CHANGE : ce sont les
agents qui rapportent, et ils etaient en derniere couche. Les deux couches
vont donc ensemble. Des la couche 5, chaque hote expedie ses metriques,
ses journaux et l etat de ses unites — tout ce qui se deploie ensuite est
mesure pendant qu on le construit.

COUT : serveur_postgresql monte aussi (icinga l exige, il n exige rien).
C est le seul entrainement.

RESTE TARD A DESSEIN : icingaweb2 et oauth2_proxy reclament LDAP et
Keycloak. C est la CONSOLE, pas la mesure.

CE QUI REND CE DEPLACEMENT POSSIBLE : le DNS reste en couche 6, donc apres
la supervision, alors qu icinga joint sa base par un NOM. Ca tient grace au
plancher /etc/hosts pose des la couche 1 — 34 entrees, verifie. C est
exactement ce pour quoi il existe.

LIMITE : les notifications dependent de client_smtp, encore en derniere
couche. Pendant une reconstruction, l etat est mesure et consultable, mais
rien ne part par courriel avant la fin.

ET : l ordre est VALIDE, pas EPROUVE. P08 accepte, le graphe accepte,
site.yml regenere passe le syntax-check sur 782 lignes de plan. La seule
preuve reelle d un ordre de reconstruction, c est une reconstruction.

make prouver : CONFORME, 64 OK, 0 echec, 0 saute.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-09 23:39:19 -04:00

104 lines
4.6 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 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_backup
import_playbook: groupes/serveur_backup.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_backup_site
import_playbook: groupes/serveur_backup_site.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