Set-OPS-Public/roles/serveur_cache_site/meta/flux.yml
Daniel Allaire ee0e33d452 flux : plus aucune sortie vers Internet sans un role qui le dise
La sortie 80/443 que le socle donnait a toute machine ne servait plus a apt
(tout passe par le cache du site) mais a de la telemetrie et a des sorties
non declarees. Elle devient conditionnelle (seulement_si artefacts_amorcage
vide) ; la telemetrie de Grafana, Loki, Alloy et la verification de version
de Collabora sont coupees a la source ; rspamd et la sonde du genome
declarent leur sortie. Le devis du site evalue enfin seulement_si, ce qui
retire aussi le 465/587 vers un Postfix du site qui n'ecoute que sur 25.
Garde : test_conditions_site.py. Journal (125).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 23:11:13 -04:00

47 lines
1.9 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), et le
dépôt de binaires (roues PyPI, collections Galaxy, versions GitHub, Nextcloud,
Forgejo). Le site les relaie pour que la flotte n'ait pas à sortir elle-même.