Set-OPS-Public/roles/paquets_tiers/defaults/main.yml

39 lines
2.4 KiB
YAML
Raw Normal View History

paquets tiers : passer par le cache du controleur, plus par Internet Trois depots tiers etaient en HTTPS, et client_artefacts pose Acquire::https::Proxy DIRECT — sans quoi le cache du site refuse les tunnels et aucun depot tiers n est joignable. La ligne est juste ; sa consequence ne l avait pas ete vue : ces trois depots CONTOURNENT le cache, et chaque VM neuve allait les chercher sur Internet a sa naissance. step-cli et alloy sont poses par des integrations UNIVERSELLES. Sans lien, une machine neuve n obtenait ni son client d autorite ni ses metriques — elle n entrait dans aucun flux chiffre. Dernier obstacle a une reconstruction hors ligne, et il tenait dans un mot. make cacher-paquets tire les 21 deb aux versions epinglees, empreinte SHA256 verifiee depuis l index du depot. Le role partage paquets_tiers les depose et les installe EN UN SEUL appel a apt — il sait resoudre un ensemble de fichiers locaux qui se dependent, la ou paquet par paquet echouerait sur l ordre (Icinga en apporte dix-sept). Six roles branches ; chacun retombe sur le depot distant pour ce que le cache n a PAS fourni, et rien d autre. Eprouve pour de vrai : packages.smallstep.com renvoye vers 127.0.0.1, step-cli desinstalle, cache local efface. Le role rejoue installe 0.30.6-1 depuis le cache et la machine obtient ses certificats. Zero echec. Deux defauts de mon propre outil, trouves en le construisant : Smallstep sert son index NON COMPRESSE (404 sur .gz) donc step-cli n etait jamais mis en cache ; et un depot injoignable faisait continue AVANT d incrementer le total, si bien que le script rapportait 20 sur 20 alors qu il en manquait un. Une garde qui ne peut pas echouer ne garde rien — troisieme fois cette semaine. Corrige puis eprouve en le faisant echouer. Reste hors ligne : NTP externe, et l expedition des alertes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-09-05 08:22:14 -04:00
---
# LES PAQUETS QUE DEBIAN NE FOURNIT PAS, SERVIS DEPUIS LE CACHE DU CONTRÔLEUR.
#
# Trois dépôts tiers sont configurés sur la flotte — Smallstep, Icinga, Grafana — tous en
# HTTPS. Or `client_artefacts` pose `Acquire::https::Proxy "DIRECT"`, sans quoi le cache
# du site refuse les tunnels HTTPS et aucun dépôt tiers n'est joignable. La conséquence
# n'avait pas été vue : **ces trois dépôts contournent le cache par conception**, et
# chaque VM neuve allait les chercher sur Internet à sa naissance.
#
# `step-cli` (Smallstep) et `alloy` (Grafana) sont posés par des intégrations
# UNIVERSELLES : sans Internet, une machine neuve n'obtenait ni son client d'autorité ni
# ses métriques. C'était le dernier obstacle à une reconstruction hors ligne.
#
# `make cacher-paquets` les tire UNE FOIS, versions épinglées et empreintes vérifiées.
# Ce rôle les dépose depuis ce cache. Les DÉPENDANCES restent l'affaire d'apt : ce sont
# des paquets Debian, qui passent déjà par le cache du site en HTTP.
paquets_tiers_noms: []
# Le cache vit chez le CONTRÔLEUR, comme celui de Forgejo, Keycloak et Nextcloud : on
# télécharge une fois depuis un poste qui a Internet, on déploie ensuite sans en avoir.
paquets_tiers_cache: "{{ lookup('env', 'HOME') }}/.cache/setops/paquets"
paquets_tiers_dest: "/var/cache/setops/paquets"
# LES ÉPINGLES S'APPLIQUENT AUSSI SANS CACHE (2026-10-03). Elles ne valaient que pour ce
# qui sortait du cache du contrôleur. Un runner — qui n'a pas ce cache — installait la
# dernière version publiée, et le `dist-upgrade` du socle (`common_packages`) montait tout
# au-delà de l'épingle, cache ou pas. Mesuré le jour même : sept paquets sur vingt et un
# plus récents que leur épingle chez les locataires, et un au site.
#
# Le fichier qui fait foi est celui du dépôt — le même que lit `make cacher-paquets`.
paquets_tiers_fichier_epingles: "{{ role_path }}/../../paquets-tiers.yml"
# 990 : apt PRÉFÈRE la version épinglée à toute version plus récente (500 par défaut), y
# monte un paquet plus ancien, mais ne RÉTROGRADE jamais un paquet déjà plus récent — ce
# que ferait 1000 et plus. Éprouvé sur `site-dns-01` et `web-dorsal-01` avant d'écrire.
paquets_tiers_priorite: 990
# `true` : épingler TOUS les paquets de paquets-tiers.yml, pas seulement `paquets_tiers_noms`.
# C'est l'appel du socle, avant son `dist-upgrade` (voir common_packages).
paquets_tiers_toutes_epingles: false