58 lines
2.4 KiB
Markdown
58 lines
2.4 KiB
Markdown
|
|
# serveur_resolveur_site
|
||
|
|
|
||
|
|
**Le marqueur du résolveur du site.** Il dit que *ce* résolveur est celui que les
|
||
|
|
écosystèmes de ce site interrogent tant qu'ils n'ont pas le leur, et déclare le flux qui
|
||
|
|
le permet. Il n'installe rien.
|
||
|
|
|
||
|
|
## Le troisième service prêté
|
||
|
|
|
||
|
|
C'est le même patron que `serveur_artefacts` + `serveur_cache_site`, et que
|
||
|
|
`serveur_forgejo` + `serveur_forge_site` : **un installateur, un marqueur**.
|
||
|
|
|
||
|
|
| ce que le site prête | pendant la jeunesse du tenant |
|
||
|
|
|---|---|
|
||
|
|
| les paquets | `serveur_cache_site` |
|
||
|
|
| le génome | `serveur_forge_site` |
|
||
|
|
| **les noms** | **ce rôle** |
|
||
|
|
|
||
|
|
## Ce qu'il a corrigé
|
||
|
|
|
||
|
|
Mesuré le 2026-08-30 sur `infra-pki-01`, première machine à porter l'autorité de
|
||
|
|
certification de Chezlepro :
|
||
|
|
|
||
|
|
```
|
||
|
|
DNS BLOQUÉ un tenant résout chez lui, sa requête ne sort pas
|
||
|
|
443 sortant OK par adresse
|
||
|
|
apt via le cache OK le mandataire résout à sa place
|
||
|
|
```
|
||
|
|
|
||
|
|
`apt` s'en sortait ; **tout le reste était aveugle aux noms** — un `get_url`, un dépôt
|
||
|
|
tiers en HTTPS, un `git clone`. Versionner la clé de signature Smallstep a fait passer une
|
||
|
|
tâche, et l'échec s'est déplacé d'un cran : le dépôt lui-même devait être joint par son
|
||
|
|
nom.
|
||
|
|
|
||
|
|
## 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'avait déjà
|
||
|
|
écrit une fois : *« un processus n'est pas un service »*. `site-dns-01` est déployé par le
|
||
|
|
moteur, vérifié par le harnais, et porte ses flux.
|
||
|
|
|
||
|
|
## Où vit la dérivation
|
||
|
|
|
||
|
|
La liste d'autorisation est calculée par `scripts/site_inventaire.py`, qui connaît le plan
|
||
|
|
du site **et** le registre des tenants. Le rôle, lui, tourne sur une machine qui n'a
|
||
|
|
aucune raison de lire la carte de l'hébergeur — *la dérivation appartient à qui détient
|
||
|
|
les deux sources*.
|
||
|
|
|
||
|
|
Attention au filtre : `resoudre_flux._supernets_voisins()` **exclut** l'instance montée
|
||
|
|
(personne n'est son propre voisin). Le site sert **tous** ceux qu'il héberge, y compris
|
||
|
|
celui qu'on déploie — sans quoi le seul tenant en cours de montage serait précisément
|
||
|
|
celui qu'on prive de résolution.
|
||
|
|
|
||
|
|
## Ce que ce rôle ne fait pas
|
||
|
|
|
||
|
|
Il n'installe rien, n'ouvre aucun port, ne sauvegarde rien. Il attribue une responsabilité
|
||
|
|
— et vérifie deux choses : que le résolveur **écoute**, et que sa liste d'autorisation
|
||
|
|
**admet réellement** les tenants du site. Sans la seconde, la panne chez le locataire
|
||
|
|
ressemblerait à un DNS mort alors que c'est une ACL.
|