This repository has been archived on 2026-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
Set-OPS/docs/domaines.yml
Daniel Allaire d7938d4c5a Poser le registre des domaines publics (primaire cache)
Registre declaratif docs/domaines.yml pour la publication externe des
hostnames, symetrique de docs/bases-donnees.yml. Modele d'autorite :
primaire cache + secondaires. Le bloc « exposition » est le binding
nom public -> service interne (cible) -> edge, destine a trois
consommateurs (zone publique, vhosts nginx, ACME).

- inventory_rules.py : charger_domaines, valider_domaines,
  fqdn_exposition, expositions_du_groupe, AUTORITES_DNS.
- scripts/domaines.py : CLI miroir (lister / verifier).
- Makefile : cibles domaines / domaines-verifier + validation dans
  inventaire-verifier.

Premiere entree reelle : forge.alliance-boreale.ca -> serveurs_forgejo.
Secondaires, mail et DNSSEC laisses a renseigner (structurel, pas
encore operationnel ; l'interne chezlepro.internal n'est pas touche).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 20:29:29 -04:00

43 lines
2 KiB
YAML

---
# Registre des domaines publics Set-OPS (publication externe des hostnames).
#
# Symetrique de docs/bases-donnees.yml : une source unique, plusieurs consommateurs.
#
# Modele d'autorite retenu : PRIMAIRE CACHE + SECONDAIRES.
# - Le primaire (PowerDNS, backend PostgreSQL + API) detient la zone faisant
# autorite mais N'EST PAS expose a Internet (NOTIFY + AXFR seulement).
# - Les "secondaires" sont la face publique : ce sont eux dans les NS + la glue
# chez le registraire. Ils tirent la zone du primaire (AXFR authentifie TSIG).
#
# Le bloc "exposition" est le binding nom-public <-> service interne, frere du
# binding appli<->base : nom public -> service interne (cible) -> edge.
# Il est lu par : (1) la generation de la zone publique (nom -> IP de l'edge),
# (2) la generation des vhosts serveurs_nginx, (3) ACME (noms a certifier).
#
# Champs par domaine :
# autorite : primaire-cache | auto-heberge | delegue
# edge : groupe Ansible qui porte l'IP publique de facade (le reverse proxy)
# secondaires : NS publics (FQDN) faisant face a Internet (a renseigner)
# dnssec : signature de la zone (jalon ulterieur ; false au depart)
# ttl : TTL par defaut de la zone
# mail : mx / spf / dmarc (lies a serveurs_sendmail) ; vides si pas de mail
# exposition : liste de { nom, cible, type }
# nom : etiquette publiee ("@" = apex du domaine) ex. forge
# cible : groupe interne servi ex. serveurs_forgejo
# type : web (vhost derriere l'edge) | direct | autre defaut: web
domaines_publics:
alliance-boreale.ca:
autorite: primaire-cache
edge: serveurs_nginx
secondaires: [] # FQDN des NS publics secondaires - a renseigner
dnssec: false # jalon ulterieur (DS chez le registraire d'abord)
ttl: 3600
mail:
mx: []
spf: ""
dmarc: ""
exposition:
- nom: forge # forge.alliance-boreale.ca
cible: serveurs_forgejo
type: web