--- # 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: ""