Set-OPS-Public/roles/client_artefacts/defaults/main.yml
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

33 lines
1.8 KiB
YAML

---
# INTÉGRATION CLIENTE : passer par la source d'artefacts de l'écosystème.
#
# Une ligne dans `/etc/apt/apt.conf.d/` suffit à ce qu'un hôte prenne ses paquets chez lui
# plutôt que chez Debian. C'est tout ce que ce rôle fait — et c'est délibérément tout ce
# qu'il fait.
# DÉRIVÉ de l'inventaire : l'hôte qui porte `serveur_artefacts`. Un écosystème sans source
# d'artefacts rend une valeur vide, et le rôle ne pose rien (voir `client_artefacts_actif`).
client_artefacts_hote: >-
{{ (groups['serveur_artefacts'] | default([]) | first | default('')) }}
client_artefacts_port: 3142
client_artefacts_fichier: "/etc/apt/apt.conf.d/00-setops-artefacts"
# L'INTÉGRATION SUIT L'EXISTENCE DU SERVICE — elle ne se déclare pas.
#
# C'est la quatrième fois que la même leçon se paie dans ce dépôt : le moteur supposait
# l'écosystème COMPLET. Un groupe `serveur_artefacts` sans hôte, c'est un écosystème qui
# prend ses paquets à la source d'origine, et c'est un choix valide — pas une panne.
client_artefacts_actif: "{{ (groups['serveur_artefacts'] | default([])) | length > 0 }}"
# SEUL LE HTTP PASSE PAR LE CACHE, et c'est voulu.
#
# Les dépôts Debian (`deb.debian.org`, `security.debian.org`) sont servis en HTTP : leur
# intégrité ne vient pas du transport mais des SIGNATURES du dépôt, qu'apt vérifie de
# toute façon. Un cache intermédiaire ne peut donc pas les altérer sans se faire prendre.
#
# Les dépôts tiers en HTTPS (Smallstep, Grafana, Icinga) continuent d'aller en direct :
# les faire passer par le cache exigerait soit de casser le TLS de bout en bout, soit de
# réécrire leurs sources en `http://cache/<remap>/…`. La seconde voie est propre et
# reste à faire — elle n'est pas dans cet incrément, et le dire vaut mieux que le laisser
# croire.
client_artefacts_https: false