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

39 lines
1.7 KiB
Markdown

# 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.