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
104 lines
4.6 KiB
YAML
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
|