Un mot manquait au vocabulaire des flux. Le runner de SITE declarait son API Proxmox en
`externe`, qui se rend par !SETOPS_INTERNES — or les hyperviseurs SONT en RFC 1918 : la
regle les aurait exclus tout en ayant l'air d'ouvrir le flux. D'ou `fabric`.
Deux flux manquaient :
- serveur_cache_site n'avait aucun egress : la chaine de caches se terminait sur un
cache vide, et ca ne se serait vu qu'au premier apt update d'un ecosysteme neuf ;
- serveur_ops_site n'avait que l'API : le shell des noeuds et l'API de la frontiere
sont deux autres pouvoirs, declares a part.
Le devis ignorait les machines du site — dans aucun plan de tenant, donc invisibles a sa
boucle, zero regle rendue SANS RIEN SIGNALER. Il emet desormais SETOPS_SITE,
SETOPS_FABRIC, SETOPS_ADMIN_SITE et un alias par role, sur opt2 (arrivee reelle du
trafic) et lan pour le SSH, plus le NAT sortant du site.
Le socle s'applique au site : site_inventaire.py range ses machines dans serveur_debian.
Patient 0 ne declare plus serveur_ops_site ni serveur_cache_site : il est un tenant
comme les autres, c'est meme tout ce qu'il prouve. Inventaire regenere.
42 preuves vertes. Devis : 26 regles a creer, 5 a retirer.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
46 lines
1.8 KiB
YAML
46 lines
1.8 KiB
YAML
---
|
|
# Flux réseau du cache d'artefacts DU SITE. Voir docs/flux-conception.md.
|
|
#
|
|
# UN SEUL FLUX, et c'est tout son sens : accepter les caches des écosystèmes voisins.
|
|
# `serveur_artefacts` porte le reste (servir sa propre flotte, remplir depuis Debian).
|
|
#
|
|
# `voisins_site` désigne les autres tenants que CE SITE héberge. Ni `flotte` (mon
|
|
# écosystème), ni `externe` — qui signifie « depuis l'Internet » et aurait publié le cache
|
|
# au monde entier.
|
|
#
|
|
# LA RÈGLE APPARTIENT AU SITE : c'est son runner qui prépare le terrain, pas un tenant qui
|
|
# ouvrirait une porte chez un autre.
|
|
flux:
|
|
- sens: ingress
|
|
port: 3142
|
|
protocole: tcp
|
|
pair: voisins_site
|
|
chiffrement: clair
|
|
raison: >-
|
|
Servir les caches des écosystèmes voisins. Debian n'est ainsi téléchargé qu'une
|
|
fois pour tout le site, et le cache ne voit que des requêtes AGRÉGÉES — jamais
|
|
quelle machine installe quoi.
|
|
|
|
# LA RACINE DOIT POUVOIR REMPLIR. Ce cache n'a pas d'amont interne — c'est LUI l'amont
|
|
# de tous les autres. Sans flux sortant, la chaine entiere se termine sur un cache vide :
|
|
#
|
|
# VM du tenant -> cache du tenant -> cache du SITE -> (rien)
|
|
#
|
|
# Il manquait, et ca ne se serait vu qu'au premier `apt update` d'un ecosysteme neuf —
|
|
# c'est-a-dire au pire moment.
|
|
- sens: egress
|
|
port: 80
|
|
protocole: tcp
|
|
pair: externe
|
|
chiffrement: clair
|
|
raison: >-
|
|
Remplir le cache depuis les dépôts Debian amont. En clair parce que les dépôts apt
|
|
sont signés : l'intégrité vient de la signature, pas du transport.
|
|
- sens: egress
|
|
port: 443
|
|
protocole: tcp
|
|
pair: externe
|
|
chiffrement: tls-requis
|
|
raison: >-
|
|
Les dépôts tiers qui n'existent qu'en HTTPS (smallstep, Grafana, Icinga). Le cache
|
|
les relaie pour que la flotte n'ait pas à sortir elle-même.
|