Set-OPS-Public/playbooks/site.yml

99 lines
4.3 KiB
YAML
Raw Normal View History

---
# 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 services ---
- name: Couche services — groupe serveur_postgresql
import_playbook: groupes/serveur_postgresql.yml
- 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_prometheus
import_playbook: groupes/serveur_prometheus.yml
- name: Couche services — groupe serveur_loki
import_playbook: groupes/serveur_loki.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
forge du site : le marqueur manquant — le genome n etait ouvert a personne MEME PATRON QUE serveur_artefacts + serveur_cache_site : un installateur, un marqueur. Le site rend DEUX services a ses locataires pendant leur jeunesse, les PAQUETS et le GENOME. Le premier etait declare, le second ne l etait pas — alors que D-81 fait de cette forge l autorite dont tout ecosysteme se reproduit. Mesure sur ops-01, premiere machine de la reconstruction de Chezlepro : cache du SITE 10.0.33.21:3142 : OK forge du SITE 10.0.33.11:443 : BLOQUE Le plan du tenant declarait pourtant lire son genome a cette adresse. UNE DEPENDANCE DECLAREE CHEZ LE CONSOMMATEUR, SANS FLUX CHEZ LE FOURNISSEUR — et rien ne le signalait : la garde de matrice de resoudre_flux ne verifie que les paires role->role, jamais un pair symbolique comme voisins_site. POURQUOI UN ROLE A PART : ajouter cet ingress a serveur_forgejo aurait ouvert LA FORGE DE CHAQUE TENANT a ses voisins. La responsabilite appartient a une machine precise, pas au logiciel qu elle fait tourner. Il verifie que la forge ECOUTE vraiment : sans ca il attribuerait l autorite du genome a un port muet, et l ecosysteme venu s y reproduire attendrait sans savoir pourquoi — ce qui est exactement arrive, quinze minutes durant. TROIS GARDES ONT TRAVAILLE : le catalogue a refuse un role qu il ne nomme pas, la carte a corrige ses deux chiffres, et P49 a exige la regeneration du registre. P33 a impose partage: true — le marqueur emprunte l ecoute de serveur_forgejo. Frontiere : 4 objets crees, 0 retire. Verifie depuis ops-01 : 443 OK. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-08-28 16:15:42 -04:00
- 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
resolveur du site : le troisieme service prete pendant la jeunesse d un tenant Apres les paquets (serveur_cache_site) et le genome (serveur_forge_site), les NOMS. Meme patron : un installateur, un marqueur. CE QUE CA CORRIGE, mesure sur infra-pki-01, premiere machine a porter l autorite de Chezlepro : DNS BLOQUE un tenant resout chez lui, sa requete ne sort pas 443 sortant OK par adresse apt via le cache OK le mandataire resout a sa place apt s en sortait ; TOUT LE RESTE ETAIT AVEUGLE AUX NOMS. Versionner la cle de signature Smallstep a fait passer une tache et l echec s est deplace d un cran : le depot lui-meme devait etre joint par son nom. POURQUOI PAS L UNBOUND DE LA FRONTIERE : il tourne sur le boitier sans etre un service gere, et le plan du site l avait deja ecrit une fois — un processus n est pas un service. site-dns-01 est deploye par le moteur et verifie par le harnais. OU VIT LA DERIVATION : dans site_inventaire.py, qui connait le plan du site ET le registre des tenants. Le role tourne sur une machine qui n a aucune raison de lire la carte de l hebergeur — la derivation appartient a qui detient les deux sources. PIEGE DE FILTRE, ATTRAPE EN LE BRANCHANT : _supernets_voisins() EXCLUT l instance montee (personne n est son propre voisin). Le site sert TOUS ceux qu il heberge — y compris celui qu on deploie. Reutilise tel quel, il privait de resolution le seul tenant en cours de montage. On reutilise donc la DECOUVERTE partagee sans son filtre : deux recensements divergent, deux filtres non. Le marqueur verifie deux choses : que le resolveur ECOUTE, et que sa liste d autorisation ADMET reellement les tenants. Sans la seconde, la panne chez le locataire ressemblerait a un DNS mort alors que c est une ACL. make verifier : vert. make prouver : CONFORME, 55 OK, 0 echec, 0 saute. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-08-30 12:37:33 -04:00
- 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
forge du site : le marqueur manquant — le genome n etait ouvert a personne MEME PATRON QUE serveur_artefacts + serveur_cache_site : un installateur, un marqueur. Le site rend DEUX services a ses locataires pendant leur jeunesse, les PAQUETS et le GENOME. Le premier etait declare, le second ne l etait pas — alors que D-81 fait de cette forge l autorite dont tout ecosysteme se reproduit. Mesure sur ops-01, premiere machine de la reconstruction de Chezlepro : cache du SITE 10.0.33.21:3142 : OK forge du SITE 10.0.33.11:443 : BLOQUE Le plan du tenant declarait pourtant lire son genome a cette adresse. UNE DEPENDANCE DECLAREE CHEZ LE CONSOMMATEUR, SANS FLUX CHEZ LE FOURNISSEUR — et rien ne le signalait : la garde de matrice de resoudre_flux ne verifie que les paires role->role, jamais un pair symbolique comme voisins_site. POURQUOI UN ROLE A PART : ajouter cet ingress a serveur_forgejo aurait ouvert LA FORGE DE CHAQUE TENANT a ses voisins. La responsabilite appartient a une machine precise, pas au logiciel qu elle fait tourner. Il verifie que la forge ECOUTE vraiment : sans ca il attribuerait l autorite du genome a un port muet, et l ecosysteme venu s y reproduire attendrait sans savoir pourquoi — ce qui est exactement arrive, quinze minutes durant. TROIS GARDES ONT TRAVAILLE : le catalogue a refuse un role qu il ne nomme pas, la carte a corrige ses deux chiffres, et P49 a exige la regeneration du registre. P33 a impose partage: true — le marqueur emprunte l ecoute de serveur_forgejo. Frontiere : 4 objets crees, 0 retire. Verifie depuis ops-01 : 443 OK. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-08-28 16:15:42 -04:00
- 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_icinga
import_playbook: groupes/serveur_icinga.yml
- name: Couche apps — groupe serveur_grafana
import_playbook: groupes/serveur_grafana.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_icingaweb2
import_playbook: groupes/serveur_icingaweb2.yml
- name: Couche apps — groupe serveur_nextcloud
import_playbook: groupes/serveur_nextcloud.yml
forge du site : le marqueur manquant — le genome n etait ouvert a personne MEME PATRON QUE serveur_artefacts + serveur_cache_site : un installateur, un marqueur. Le site rend DEUX services a ses locataires pendant leur jeunesse, les PAQUETS et le GENOME. Le premier etait declare, le second ne l etait pas — alors que D-81 fait de cette forge l autorite dont tout ecosysteme se reproduit. Mesure sur ops-01, premiere machine de la reconstruction de Chezlepro : cache du SITE 10.0.33.21:3142 : OK forge du SITE 10.0.33.11:443 : BLOQUE Le plan du tenant declarait pourtant lire son genome a cette adresse. UNE DEPENDANCE DECLAREE CHEZ LE CONSOMMATEUR, SANS FLUX CHEZ LE FOURNISSEUR — et rien ne le signalait : la garde de matrice de resoudre_flux ne verifie que les paires role->role, jamais un pair symbolique comme voisins_site. POURQUOI UN ROLE A PART : ajouter cet ingress a serveur_forgejo aurait ouvert LA FORGE DE CHAQUE TENANT a ses voisins. La responsabilite appartient a une machine precise, pas au logiciel qu elle fait tourner. Il verifie que la forge ECOUTE vraiment : sans ca il attribuerait l autorite du genome a un port muet, et l ecosysteme venu s y reproduire attendrait sans savoir pourquoi — ce qui est exactement arrive, quinze minutes durant. TROIS GARDES ONT TRAVAILLE : le catalogue a refuse un role qu il ne nomme pas, la carte a corrige ses deux chiffres, et P49 a exige la regeneration du registre. P33 a impose partage: true — le marqueur emprunte l ecoute de serveur_forgejo. Frontiere : 4 objets crees, 0 retire. Verifie depuis ops-01 : 443 OK. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-08-28 16:15:42 -04:00
- 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_metrique
import_playbook: groupes/client_metrique.yml
- name: Couche agents — groupe client_journal
import_playbook: groupes/client_journal.yml
- 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
forge du site : le marqueur manquant — le genome n etait ouvert a personne MEME PATRON QUE serveur_artefacts + serveur_cache_site : un installateur, un marqueur. Le site rend DEUX services a ses locataires pendant leur jeunesse, les PAQUETS et le GENOME. Le premier etait declare, le second ne l etait pas — alors que D-81 fait de cette forge l autorite dont tout ecosysteme se reproduit. Mesure sur ops-01, premiere machine de la reconstruction de Chezlepro : cache du SITE 10.0.33.21:3142 : OK forge du SITE 10.0.33.11:443 : BLOQUE Le plan du tenant declarait pourtant lire son genome a cette adresse. UNE DEPENDANCE DECLAREE CHEZ LE CONSOMMATEUR, SANS FLUX CHEZ LE FOURNISSEUR — et rien ne le signalait : la garde de matrice de resoudre_flux ne verifie que les paires role->role, jamais un pair symbolique comme voisins_site. POURQUOI UN ROLE A PART : ajouter cet ingress a serveur_forgejo aurait ouvert LA FORGE DE CHAQUE TENANT a ses voisins. La responsabilite appartient a une machine precise, pas au logiciel qu elle fait tourner. Il verifie que la forge ECOUTE vraiment : sans ca il attribuerait l autorite du genome a un port muet, et l ecosysteme venu s y reproduire attendrait sans savoir pourquoi — ce qui est exactement arrive, quinze minutes durant. TROIS GARDES ONT TRAVAILLE : le catalogue a refuse un role qu il ne nomme pas, la carte a corrige ses deux chiffres, et P49 a exige la regeneration du registre. P33 a impose partage: true — le marqueur emprunte l ecoute de serveur_forgejo. Frontiere : 4 objets crees, 0 retire. Verifie depuis ops-01 : 443 OK. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-08-28 16:15:42 -04:00
- name: Couche agents — groupe client_artefacts
import_playbook: groupes/client_artefacts.yml