Le registre ne savait pas dire « les autres tenants de ma fabric ». ingress + externe signifie DEPUIS L'INTERNET : declarer ainsi un cache partage l'aurait publie au monde. voisins_site rend les supernets des tenants que CE SITE heberge, en reutilisant devis_reseau.decouvrir_du_site() plutot qu'en ecrivant un second recensement. Ma premiere version lisait un `federe` absent comme « non federe » et excluait Chezlepro et Technolibre en silence -- la decouverte canonique dit l'inverse. LE CHAINAGE DES CACHES N'EST PAS LIVRE. Aucun generateur ne rend ce mot : zero regle 3142 au devis de frontiere. Les declarations ont donc ete RETIREES plutot que laissees a moitie -- un flux declare que personne n'applique est le piege que ce depot traque. La difficulte est structurelle : les regles OPNsense s'evaluent sur l'interface d'ARRIVEE, donc une regle inter-tenant doit etre posee sur l'interface du VOISIN. Le generateur construit tenant par tenant, sur les interfaces de ce tenant. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
65 lines
3.5 KiB
YAML
65 lines
3.5 KiB
YAML
---
|
||
# LA SOURCE D'ARTEFACTS DE L'ÉCOSYSTÈME — apt-cacher-ng.
|
||
#
|
||
# Un écosystème qui prétend se reproduire depuis son propre génome allait chercher, pour
|
||
# poser une seule machine, les binaires de **six serveurs étrangers** : deb.debian.org,
|
||
# security.debian.org, packages.smallstep.com, apt.grafana.com, packages.icinga.com,
|
||
# codeberg.org. La forge héberge le CODE ; il manquait qui héberge les BINAIRES.
|
||
#
|
||
# CE N'EST PAS THÉORIQUE. Deux cicatrices dans ce dépôt :
|
||
# - `packages.smallstep.com` est intermittent — la même URL pend au premier essai et
|
||
# répond en 0,48 s au second. Ça a fait échouer un déploiement de quarante minutes
|
||
# sur la PREMIÈRE machine (2026-08-23) ;
|
||
# - `galaxy.ansible.com` est carrément injoignable depuis l'overlay, et c'est très bien
|
||
# ainsi — on l'a réglé par le cache du contrôleur, pas en ouvrant la frontière.
|
||
#
|
||
# CE RÔLE COUVRE LES DÉPÔTS APT. Les téléchargements DIRECTS (binaire Forgejo, Keycloak,
|
||
# Nextcloud, oauth2-proxy, collections Ansible) sont déjà couverts, autrement : le
|
||
# contrôleur télécharge une fois dans son cache et pousse par SSH. Deux mécanismes,
|
||
# parce que ce sont deux problèmes — on ne sert pas un dépôt apt par `scp`.
|
||
|
||
serveur_artefacts_paquets:
|
||
- apt-cacher-ng
|
||
serveur_artefacts_service: "apt-cacher-ng"
|
||
serveur_artefacts_port: 3142
|
||
# L'écoute est large : les clients sont sur d'autres hôtes de la flotte. C'est le pare-feu
|
||
# est-ouest, dérivé de meta/flux.yml, qui restreint QUI peut s'y adresser — pas l'adresse
|
||
# d'écoute, qui ne saurait distinguer un voisin légitime d'un autre.
|
||
serveur_artefacts_ecoute: "0.0.0.0"
|
||
serveur_artefacts_cache: "/var/cache/apt-cacher-ng"
|
||
|
||
# Combien de temps un paquet reste en cache sans être redemandé. 30 jours : assez pour
|
||
# qu'une reconstruction complète retrouve tout ce que la précédente a téléchargé.
|
||
serveur_artefacts_expiration_jours: 30
|
||
|
||
# --- LE MODE HORS LIGNE, QUI EST AUSSI L'ÉPREUVE -----------------------------
|
||
#
|
||
# `true` : le cache ne va PLUS rien chercher en amont — il sert ce qu'il détient, et
|
||
# refuse le reste. C'est le mode d'un écosystème coupé du monde, et c'est surtout le seul
|
||
# moyen de PROUVER que le cache sert vraiment : tant qu'internet répond, un `apt update`
|
||
# qui réussit ne dit pas d'où vient l'octet.
|
||
#
|
||
# Laisser à `false` en exploitation normale.
|
||
serveur_artefacts_hors_ligne: false
|
||
|
||
# Journalisation : apt-cacher-ng tient un journal des requêtes servies. C'est lui qui
|
||
# permet de répondre à « ce paquet, l'avons-nous servi ou est-il venu du dehors ? ».
|
||
serveur_artefacts_journal: "/var/log/apt-cacher-ng"
|
||
|
||
# --- LE CHAINAGE DES CACHES (2026-08-24) --------------------------------------
|
||
#
|
||
# Chaque écosystème garde SON cache, et celui-ci prend le cache de l'hébergeur comme
|
||
# amont. Debian n'est alors téléchargé qu'UNE FOIS pour tout le site :
|
||
#
|
||
# VM du tenant -> cache du tenant -> cache du SITE -> Debian
|
||
#
|
||
# POURQUOI PAS UN CACHE UNIQUE OÙ TOUTES LES VM TAPENT. Il aurait fallu ouvrir un flux de
|
||
# chaque machine de chaque tenant vers un hôte d'un autre tenant — N×M chemins à travers
|
||
# le default-deny. Avec le chaînage il n'y en a qu'UN par écosystème, entre deux caches.
|
||
#
|
||
# Et l'étanchéité y gagne : le cache du site ne voit que des requêtes AGRÉGÉES, jamais
|
||
# quelle machine installe quoi.
|
||
#
|
||
# Vide = ce cache va directement à l'amont Debian. C'est le cas du cache du SITE lui-même,
|
||
# et de tout écosystème qui s'est émancipé (docs/filiation-emancipation.md).
|
||
serveur_artefacts_amont: ""
|