Deux mouvements d une seule doctrine : le site fournit tout ce dont un
tenant a besoin pour venir au monde.
1. LES DEPOTS TIERS. Grafana, Icinga, Smallstep et Collabora ne publient
qu en HTTPS ; apt-cacher-ng ne relaie pas un tunnel, et le socle pose donc
Acquire::https::Proxy DIRECT. Chaque machine sortait elle-meme sur
Internet. Le cache declare desormais un Remap par fournisseur, et chaque
role demande en {{ ..._depot_schema }}:// - http des qu un cache est
declare, https sinon. Le TLS n est rompu nulle part : il est TERMINE au
cache, qui est notre machine, et l integrite vient des signatures.
avant : 4 fournisseurs en HTTPS direct, 14 machines sortant seules
apres : 0 source en HTTPS direct, 0 erreur apt sur 14 machines
Trois lecons. Le remap appartient au cache qui SORT : pose sur un cache
chaine, il tente le HTTPS a travers son amont et rend 503. apt_repository
AJOUTE au lieu de remplacer, donc l ancienne ligne https sortait toujours.
Et la liste des fournisseurs ne se devine pas - j en avais trois, l audit
en a revele un quatrieme.
2. LE CACHE DU TENANT. Sa ligne portait son propre retrait depuis toujours
- service MUTUALISABLE, un ecosysteme au premier age peut pointer sur celui
de son hote. Retiree. Ce qu on perd, dit franchement : plus de trafic
inter-zone et plus de charge sur site-cache-01, contre un service de moins
a poser, superviser et reproduire.
3. UN ROLE QU ON RETIRE DOIT DEFAIRE CE QU IL A FAIT. Le retrait a montre
que rien ne nettoie derriere. Le fichier apt visait un cache eteint en
ecrasant le plancher qui fonctionnait - le defaut deja paye a quinze
machines. Et les sondes du cache restaient, le porteur poussant pour des
services qu Icinga ne definit plus (404). Le socle retire le premier,
client_sante derive les sondes attendues et retire les orphelines.
P65 refuse tout role visant un depot relaye en https ecrit en dur. Sa
limite est dite : elle empeche une regression sur ce qui est connu, elle ne
decouvre pas l inconnu.
Mesure : Icinga 87 OK sur 96, prouver 65 OK, lint 0 defaut.
Reste, et c est dit : apt-cacher-ng tourne toujours sur forge-01 que plus
aucun plan ne declare.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
52 lines
2.2 KiB
Django/Jinja
52 lines
2.2 KiB
Django/Jinja
# GÉNÉRÉ par Set-OPS (rôle serveur_artefacts). NE PAS éditer à la main.
|
|
#
|
|
# Lu APRÈS acng.conf et zz_debconf.conf : ces valeurs l'emportent.
|
|
|
|
Port: {{ serveur_artefacts_port }}
|
|
BindAddress: {{ serveur_artefacts_ecoute }}
|
|
CacheDir: {{ serveur_artefacts_cache }}
|
|
LogDir: {{ serveur_artefacts_journal }}
|
|
|
|
ExThreshold: {{ serveur_artefacts_expiration_jours }}
|
|
|
|
{% if serveur_artefacts_hors_ligne | bool %}
|
|
# MODE HORS LIGNE : le cache ne va plus rien chercher en amont. Il sert ce qu'il détient
|
|
# et refuse le reste — c'est l'état d'un écosystème coupé du monde, et l'épreuve qui
|
|
# montre ce que le cache détient VRAIMENT.
|
|
Offlinemode: 1
|
|
{% else %}
|
|
Offlinemode: 0
|
|
{% endif %}
|
|
|
|
{% if serveur_artefacts_amont %}
|
|
# CHAÎNAGE : ce cache passe par celui de l'hébergeur plutôt que d'aller chez Debian.
|
|
# Debian n'est ainsi téléchargé qu'une fois pour tout le site.
|
|
Proxy: {{ serveur_artefacts_amont }}
|
|
{% endif %}
|
|
|
|
{% if serveur_artefacts_remaps %}
|
|
# ETEND le motif des fichiers relayables — il ne le REMPLACE pas. Sans lui, une cle de
|
|
# signature en `.key` rend 403 la ou la meme en `.gpg` passe. Vaut pour TOUT cache de la
|
|
# chaine : celui qui relaie refuse avant meme de transmettre.
|
|
PfilePatternEx: {{ serveur_artefacts_motif_fichiers_sup }}
|
|
|
|
{% if not serveur_artefacts_amont %}
|
|
# --- DEPOTS TIERS : LE REMAP APPARTIENT AU CACHE QUI SORT (mesure du 2026-09-10) ---
|
|
#
|
|
# Le client demande en `http://`, ce cache va chercher en `https://` chez le fournisseur.
|
|
#
|
|
# POURQUOI SEULEMENT ICI. Un cache CHAINE (`Proxy:` vers l'amont) qui porte le meme remap
|
|
# tente le HTTPS A TRAVERS son amont — ce qui exige un tunnel CONNECT que l'amont ne fait
|
|
# pas. Mesure : le cache du tenant rendait alors 503 sur les trois fournisseurs, la ou il
|
|
# rendait 200 en se contentant de TRANSMETTRE la requete en clair.
|
|
#
|
|
# remap sur le cache du tenant (chaine) -> 503
|
|
# remap sur le seul cache du site -> 200
|
|
#
|
|
# Un cache qui relaie n'a rien a remapper : il passe la demande a qui sort. C'est la meme
|
|
# forme que la filiation elle-meme — le locataire emprunte, le site va chercher.
|
|
{% for r in serveur_artefacts_remaps %}
|
|
Remap-{{ r.nom }}: http://{{ r.hote }} ; https://{{ r.hote }}/
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endif %}
|