Set-OPS-Public/roles/client_artefacts/README.md
Daniel Allaire 32e1f6fbcd
Some checks failed
verifier / verifier (push) Has been cancelled
artefacts : la forge sert le code, il manquait qui sert les binaires
serveur_artefacts (apt-cacher-ng) + client_artefacts, integration universelle
qui s'eteint quand aucun hote ne porte le service et RETIRE la direction posee.
Chez patient 0 : colocalise sur forge-01 -- la forge est la source, du code et
des binaires.

La preuve est le mode hors ligne : paquet en cache servi en 0 o/s, paquet absent
refuse par un 503. Tant qu'internet repond, un apt update qui reussit ne dit pas
d'ou vient l'octet.

Trois lecons : apt fait heriter Acquire::https::Proxy de la valeur HTTP (d'ou
403 CONNECT denied sur les depots tiers, et smallstep injoignable) ; un service
ne doit pas dependre de lui-meme pour se reparer (l'apt update du role passait
par le cache hors ligne) ; et rediriger 2>/dev/null, c'est choisir de ne pas
voir.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 14:41:56 -04:00

1.7 KiB

client_artefacts

Intégration cliente : l'hôte prend ses paquets à la source de l'écosystème (serveur_artefacts) plutôt que chez Debian.

Principe

Une ligne dans /etc/apt/apt.conf.d/. C'est tout ce que ce rôle fait, et c'est délibérément tout ce qu'il fait.

Acquire::http::Proxy "http://<hôte-source>.<domaine>:3142";

Elle suit l'existence du service — elle ne se déclare pas

client_artefacts_actif est dérivé de l'inventaire : un groupe serveur_artefacts sans hôte, c'est un écosystème qui prend ses paquets à l'amont, et c'est un choix valide. Le rôle ne pose alors rien — et retire la direction posée auparavant, sans quoi les hôtes resteraient braqués sur une machine disparue et n'installeraient plus rien. Une intégration qui ne sait pas se retirer est un piège différé.

C'est la même leçon que pour le SSO, les bases et les dépendances causales : le moteur ne doit pas supposer l'écosystème complet.

Un cache ne sert jamais la machine qui le construit

client_artefacts est déployé dans la couche agents, en dernier — quand sa cible est debout. Conséquence à connaître : lors d'une construction from-zero, les premières machines prennent encore leurs paquets à l'amont, puisque le cache n'existe pas encore.

Il sert dès le deuxième passage, et à chaque reconstruction — c'est-à-dire exactement le scénario pour lequel il existe.

Seul le HTTP passe par le cache

Les dépôts Debian sont servis en HTTP et leur intégrité vient de leurs signatures. Les dépôts tiers en HTTPS continuent d'aller en direct : client_artefacts_https existe mais reste à false tant que le cache ne sait pas les remapper.