--- # Flux réseau du runner de SITE. Voir docs/flux-conception.md. # # Les flux du POUVOIR DE MATERIALISER : API de l'hyperviseur, shell des noeuds, API de # la frontiere. Chacun est un pouvoir distinct, donc declare a part. # # CE ROLE N'ENTRE PAS CHEZ UN TENANT — SAUF SUR SON RUNNER, POUR L'AMORCER (2026-08-28). # # Cette ligne disait « JAMAIS », et c'etait une frontiere qu'on ne pouvait pas tenir. Un # ecosysteme neuf ne s'amorce pas lui-meme : sa premiere machine doit recevoir le socle, # le moteur, son plan et son plancher de resolution avant de pouvoir configurer quoi que # ce soit. Sans ce flux, ce travail retombe sur un humain qui le fait a la main — donc # hors du depot, donc sans preuve. # # LE COUPLAGE EXISTAIT DEJA, NON DECLARE : `creer-vm` exige `_instance-requise`, et le # runner du site doit donc basculer son symlink `instance` sur le depot du tenant qu'il # materialise. Le declarer ne cree pas un pouvoir, il rend limitable un pouvoir qui # s'exercait sans borne. # # CE QU'IL RESTE INTERDIT, ET QUI N'EST PAS UNE REGLE MAIS UN FAIT : armer. Le runner du # SITE ne detient pas la voute d'un tenant — elle vit hors depot — et n'en connait pas le # mot de passe. Il peut poser tout ce qui est public ; c'est un HUMAIN qui remet le # secret, et c'est la que le pouvoir du site s'arrete. Voir docs/filiation-emancipation.md. flux: - sens: egress port: 8006 protocole: tcp pair: fabric chiffrement: tls-requis raison: >- API de l'hyperviseur : créer, cloner et détruire les VM de la fabric. Le seul flux par lequel un écosystème peut en matérialiser un autre. # SSH VERS LES HYPERVISEURS. L'API Proxmox ne fait pas tout : deplacer un disque, # lire une configuration reseau, poser un pont — cela passe par le shell du nœud. # Le declarer separement de l'API rend visible que ce sont DEUX pouvoirs distincts. - sens: egress port: 22 protocole: tcp pair: fabric chiffrement: ssh raison: >- Shell des hyperviseurs : ce que l'API ne couvre pas — configuration reseau, ponts, deplacement de disques. Un pouvoir distinct de l'API, donc declare a part. # L'API DE LA FRONTIERE. Le runner du site pose les regles et les alias qui laissent # passer les flux d'un tenant : sans ce flux, il prepare un terrain injoignable. - sens: egress port: 443 protocole: tcp pair: fabric chiffrement: tls-requis raison: >- API de la frontiere OPNsense : poser les alias et les regles qui ouvrent les flux du tenant qu'on materialise. Preparer le terrain sans cela laisserait un terrain injoignable. # L'INSEMINATION — le seul flux de ce role qui entre chez un tenant. # # Etroit par construction : il vise le groupe `serveur_ops_tenant`, qu'un ecosysteme ne # pose que sur une machine. Declare au socle, il aurait ouvert le SSH du site vers TOUTE # la flotte du tenant ; declare ici, sa portee est celle du groupe, et le groupe est # ecrit au plan du tenant. - sens: egress port: 22 protocole: tcp pair: serveur_ops_tenant chiffrement: ssh raison: >- Insemination : amorcer le runner d'un tenant — socle, moteur, plan, plancher de resolution — pour qu'il prenne ensuite le relais sur ses propres machines. Ne transporte aucun secret : la voute est remise par un humain.