Une regle inter-tenant n'appartient ni a l'emetteur ni au recepteur : c'est le site qui autorise un flux entre deux de ses tenants, et son runner qui prepare le terrain. Deux silences fermes dans le generateur de frontiere. flux_frontiere() ne retenait que les flux `externe` -- or deux tenants vivent sur des VLAN routes par la frontiere, leur trafic la traverse. Et un egress vers un voisin recevait !SETOPS_INTERNES en destination : le port ouvert vers l'INTERNET. La destination est desormais nommee. Deux roles parce que meta/flux.yml est statique : un role unique aurait declare l'ingress pour TOUS les caches -- maillage complet, visible au devis. serveur_artefacts_site porte l'ingress, serveur_artefacts l'egress vers l'amont. Debian est desormais telecharge une fois pour toute la fabric. Le cache du site ne voit que des requetes agregees, jamais quelle machine installe quoi. Rien n'est applique : le devis se lit avant. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
17 lines
1,001 B
YAML
17 lines
1,001 B
YAML
---
|
|
# LE CACHE D'ARTEFACTS DU SITE — celui que les autres écosystèmes prennent comme amont.
|
|
#
|
|
# Même patron que `serveur_ops_site` : le rôle n'installe rien de plus, il **attribue une
|
|
# responsabilité** et la rend lisible dans le plan. `serveur_artefacts` fait le travail ;
|
|
# celui-ci déclare que ce cache-là sert au-delà de son propre écosystème.
|
|
#
|
|
# POURQUOI DEUX RÔLES PLUTÔT QU'UN DRAPEAU. Les flux se déclarent dans `meta/flux.yml`,
|
|
# qui est STATIQUE : un rôle unique aurait dû déclarer l'ingress inter-tenant pour TOUS
|
|
# les caches. Le devis obtenu le montrait — un maillage complet où chaque cache acceptait
|
|
# chaque autre, alors qu'un seul doit être joignable.
|
|
#
|
|
# QUI PEUT LE DÉCLARER : l'écosystème de l'hébergeur, celui qui exploite la fabric. Un
|
|
# tenant ordinaire qui le déclarerait s'offrirait à servir ses voisins sans y être invité.
|
|
#
|
|
# Le cache du site va DIRECTEMENT chez Debian : il est le bout de la chaîne.
|
|
serveur_artefacts_site_amont_attendu: ""
|