--- # Flux réseau d'Icinga 2 (moteur de supervision). Voir docs/flux-conception.md. # IcingaDB (Redis 6380) est co-localisé : consommé en localhost par le frontal Icinga Web 2. flux: - sens: ingress port: 5665 protocole: tcp pair: localhost chiffrement: clair raison: "API Icinga 2 consommée en local par Icinga Web 2 co-localisé." # LES NOEUDS RAPPORTENT EUX-MEMES DEPUIS LE 2026-09-02. # # Tant que le depot vivait dans l'ecosysteme, il rapportait pour tout le monde et # `serveur_backup` suffisait comme pair. Depuis que les ecosystemes deposent chez leur # HEBERGEUR — qui heberge du chiffre et ne peut rien juger — c'est chaque detenteur # d'etat qui verifie SON depot et le rapporte. Le pair, c'est donc `client_backup`. # # Les deux coexistent : un ecosysteme qui garde son propre depot continue de le laisser # rapporter. `serveur_backup` reste declare juste en dessous. - sens: ingress port: 5665 protocole: tcp pair: client_backup chiffrement: tls-requis raison: "Rapport passif de chaque detenteur d'etat sur SON depot distant : le depot du site heberge du chiffre et ne peut pas le juger." - sens: ingress port: 5665 protocole: tcp pair: serveur_backup chiffrement: tls-requis partage: true raison: "Le depot de sauvegarde depose ses resultats passifs (portee : process-check-result sur « sauvegarde: * »)." # LE RAPPORT DE SANTE : TOUS les noeuds, pas seulement les detenteurs d'etat. # # Le declarer ici n'est pas une redondance avec `client_sante/meta/flux.yml`. Les deux # faces sont necessaires, et l'oubli s'est paye le 2026-09-09 : le role client etait # deploye, sa face EGRESS declaree, la politique de sortie etait `accept`, la regle # d'entree de l'hote autorisait bien la source — et cinq machines sur sept rendaient # `TimeoutError`. Les paquets mouraient ENTRE les deux, a la frontiere, qui filtre le # trafic inter-zones et ne connait que ce que le registre lui dit. # # `make site-appliquer GROUPE=client_sante` avait pourtant rendu 7/7, 0 echec : un # deploiement REUSSI sur un flux qui ne passait pas. Seul l'essai de bout en bout l'a # dit — un playbook vert ne prouve pas qu'une chose fonctionne. # # LE PAIR EST `serveur_debian`, PAS `client_sante`, ET C'EST LA LE POINT. # # La frontiere ne connait que les roles que les machines PORTENT AU PLAN. Une # integration universelle n'y figure pas : elle est derivee, pas declaree. Ecrire # `pair: client_sante` produisait donc une regle est-ouest correcte et AUCUNE regle a # la frontiere — d'ou les cinq `TimeoutError` sur sept. Le meme piege explique pourquoi # le flux `client_backup` juste au-dessus ne suffit pas seul : c'est `serveur_backup`, # role REEL du site, qui ouvre la porte. # # `serveur_debian` est le vocabulaire du depot pour « tout noeud » — le socle que # chaque machine porte — et le generateur de frontiere le traite deja comme tel. C'est # exact au sens strict : tout noeud rapporte sa sante. # # `partage: true` : plusieurs pairs entrent par le meme port, la regle est mutualisee. - sens: ingress port: 5665 protocole: tcp pair: serveur_debian chiffrement: tls-requis partage: true raison: "Rapport passif de sante de chaque noeud (unites systemd en echec)." - sens: egress port: 5432 protocole: tcp pair: serveur_postgresql chiffrement: tls-requis raison: "Base relationnelle du moteur Icinga (verify-full)."