Set-OPS-Public/roles/client_artefacts
Daniel Allaire 1a7c042e5b site : quatre zones d'autorite, et l'ordre inscrit dans les integrations
Le site n'est plus un /24 plat. Une zone par nature d'autorite — pilotage, autorite,
genome, service — chacune son VLAN et sa patte sur la frontiere. L'inversion corrigee,
mesuree : les cinq VM du site n'avaient AUCUN filtrage est-ouest, contre policy_in=DROP
sur une machine de tenant. La plus autoritaire etait la moins protegee.

Filtrage nord-sud par choix de l'exploitant : un seul point de police, un seul devis.
90 -> 117 regles. Chaque flux `flotte` produit une regle par zone SOURCE, destination
nommee — ce qui etait gratuit devient police.

L'ORDRE FAIT PARTIE DE L'INTEGRATION. client_pki tournait en parallele sur tous les hotes ;
sur celui qui porte l'autorite il recharge step-ca, et les quatre autres echouaient dans
cette fenetre sur `TLS handshake timeout` — un message qui accuse le reseau. Chaque
integration declare desormais sa dependance dans meta/integration.yml, les playbooks en
sont le miroir genere, et P44 refuse l'ecart (4 controles negatifs). `serveur: ~` est une
reponse valable : client_metrique pose un exportateur qu'on vient LIRE.

Autres defauts du meme soir :
  - le plancher /etc/hosts venait APRES le premier apt, qui vise le cache par son NOM :
    boucle fermee des que les adresses changent. Il ne s'installe pas, il rend installable.
  - dns_amorcage ecrit en dur a eu tort deux fois ; il se derive de serveur_resolveur.
  - l'ACL du resolveur derivait d'un seul sous-reseau : trois zones refusees sur quatre.

ET UNE ERREUR A MOI : j'ai diagnostique un trou noir de MTU et declare 1450. Faux — pas de
VXLAN sur ce chemin, tout est a 1500 de bout en bout. Ma mesure etait reelle, mon
interpretation non : je venais de debrancher la carte a chaud, et chaque `ip link set mtu`
reconfigurait l'interface. C'est la reconfiguration qui debloquait, pas la valeur.

44 preuves vertes, ansible-lint profil production.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 17:31:07 -04:00
..
defaults artefacts : la forge sert le code, il manquait qui sert les binaires 2026-08-23 14:41:56 -04:00
meta site : quatre zones d'autorite, et l'ordre inscrit dans les integrations 2026-08-25 17:31:07 -04:00
tasks artefacts : la forge sert le code, il manquait qui sert les binaires 2026-08-23 14:41:56 -04:00
README.md artefacts : la forge sert le code, il manquait qui sert les binaires 2026-08-23 14:41:56 -04:00

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.