Set-OPS-Public/roles/serveur_artefacts/defaults/main.yml
Daniel Allaire 6547eb2fac flux : le mot voisins_site, et l'aveu de ce qui manque pour s'en servir
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>
2026-08-24 17:15:19 -04:00

65 lines
3.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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