Set-OPS-Public/roles/serveur_resolveur_site/meta/flux.yml
Daniel Allaire a5c9a88f00 resolveur du site : le troisieme service prete pendant la jeunesse d un tenant
Apres les paquets (serveur_cache_site) et le genome (serveur_forge_site), les NOMS.
Meme patron : un installateur, un marqueur.

CE QUE CA CORRIGE, mesure sur infra-pki-01, premiere machine a porter l autorite
de Chezlepro :

    DNS               BLOQUE      un tenant resout chez lui, sa requete ne sort pas
    443 sortant       OK          par adresse
    apt via le cache  OK          le mandataire resout a sa place

apt s en sortait ; TOUT LE RESTE ETAIT AVEUGLE AUX NOMS. Versionner la cle de
signature Smallstep a fait passer une tache et l echec s est deplace d un cran : le
depot lui-meme devait etre joint par son nom.

POURQUOI PAS L UNBOUND DE LA FRONTIERE : il tourne sur le boitier sans etre un
service gere, et le plan du site l avait deja ecrit une fois — un processus n est
pas un service. site-dns-01 est deploye par le moteur et verifie par le harnais.

OU VIT LA DERIVATION : dans site_inventaire.py, qui connait le plan du site ET le
registre des tenants. Le role tourne sur une machine qui n a aucune raison de lire
la carte de l hebergeur — la derivation appartient a qui detient les deux sources.

PIEGE DE FILTRE, ATTRAPE EN LE BRANCHANT : _supernets_voisins() EXCLUT l instance
montee (personne n est son propre voisin). Le site sert TOUS ceux qu il heberge — y
compris celui qu on deploie. Reutilise tel quel, il privait de resolution le seul
tenant en cours de montage. On reutilise donc la DECOUVERTE partagee sans son
filtre : deux recensements divergent, deux filtres non.

Le marqueur verifie deux choses : que le resolveur ECOUTE, et que sa liste
d autorisation ADMET reellement les tenants. Sans la seconde, la panne chez le
locataire ressemblerait a un DNS mort alors que c est une ACL.

make verifier : vert. make prouver : CONFORME, 55 OK, 0 echec, 0 saute.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019f91zs9SDdwSzL2CVei6on
2026-08-30 12:37:33 -04:00

43 lines
2 KiB
YAML

---
# Flux réseau du RÉSOLVEUR DU SITE. Voir docs/flux-conception.md.
#
# TROISIÈME SERVICE QUE LE SITE PRÊTE À SES LOCATAIRES, après les paquets
# (`serveur_cache_site`) et le génome (`serveur_forge_site`). Même patron, même raison :
# un écosystème neuf n'a ni cache, ni forge, ni résolveur — et c'est lui qui doit les
# construire.
#
# CE QUE ÇA A COÛTÉ DE NE PAS L'AVOIR (2026-08-30). `infra-pki-01`, première machine à
# porter l'autorité de Chezlepro, n'a pas pu récupérer une clé de signature :
#
# Echec temporaire dans la resolution du nom
#
# `apt` s'en sortait par le mandataire du cache, qui résout à sa place. Tout ce qui ne
# passe pas par apt — un `get_url`, un `git clone`, une sonde — n'avait aucun moyen de
# traduire un nom. Le tenant sortait en 443 par adresse et restait aveugle aux noms.
#
# POURQUOI PAS L'UNBOUND DE LA FRONTIÈRE. Il tourne sur le boîtier sans être un service
# géré, et le plan du site l'a déjà écrit une fois : *un processus n'est pas un service*.
# Celui-ci est déployé par le moteur, vérifié par le harnais, et porte ses flux.
#
# `voisins_site` désigne les autres tenants que CE SITE héberge. Ni `flotte` (mon
# écosystème), ni `externe` — un résolveur ouvert au monde est un relais d'amplification.
flux:
- sens: ingress
port: 53
protocole: udp
pair: voisins_site
chiffrement: clair
raison: >-
Les écosystèmes de ce site résolvent ici tant qu'ils n'ont pas leur propre
résolveur. `client_resolveur` les bascule chez eux dès qu'il existe ; retirer cet
emprunt est alors une émancipation.
# CE RÔLE N'OUVRE AUCUNE ÉCOUTE — il emprunte celle de `serveur_resolveur`, sur le
# même hôte. Sans ce mot, P33 y voit deux rôles qui se disputent le port 53.
partage: true
- sens: ingress
port: 53
protocole: tcp
pair: voisins_site
chiffrement: clair
raison: "Réponses longues et bascule TCP, obligatoires en DNS."
partage: true