Set-OPS-Public/roles
Daniel Allaire 43666cff6e site : un SITE a bien un plan — et huit defauts que lui seul pouvait reveler
J'ai repete toute la journee qu'un SITE n'est pas un plan. C'etait faux : j'en
reconstruisais un morceau par morceau dans underlay.yml sans le nommer. Ce qui est vrai,
c'est qu'un site ne DERIVE pas — il declare ses adresses parce qu'il EST le terrain — et
ne passe donc pas par `instancier`. Mais ne pas deriver n'est pas ne pas avoir de plan.

SITE-Chezlepro/plan/{10-intrants,serveurs,applications}.yml ; underlay.yml ne garde que
la fabric. Ce qui est MESURE d'un cote, ce qui est VOULU de l'autre. Les groupes viennent
du registre des applications, les gardes ont suivi le plan (4 controles negatifs).

Huit defauts, tous invisibles chez un tenant parce qu'il a toujours tout :
  - client_pki codait `infra-pki-01` EN DUR — vrai par coincidence de nomenclature ;
  - aucun moyen pour un service non-root de lire la cle (Forgejo tourne en `git`) ;
  - le certificat, PUBLIC par nature, restait en 0600 ;
  - l'unite Forgejo n'avait pas d'ExecReload : un cert renouvele aurait ete servi perime ;
  - le role ne savait pas servir TLS lui-meme (il y avait toujours un edge) ;
  - le cert ne couvrait pas le nom de SERVICE, faute d'`expose:` ;
  - les registres se chargeaient en tout-ou-rien : sans domaines.yml, plancher vide ;
  - le flux declarait 3000 en dur.

Le message accusait presque toujours autre chose : le DNS quand c'etait un nom faux, une
permission de fichier quand c'etait un port privilegie, rien du tout quand le plancher
s'ecrivait vide.

ROOT_URL est gravee dans les URL de clonage : la forge sert desormais sur 443, avec
CAP_NET_BIND_SERVICE, et son URL n'a plus de port.

Verifie depuis le reseau : Verify return code 0, https://forge.genese.internal/ -> 200.

42 preuves vertes, flux coherents (34 roles, 92 flux).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 13:15:34 -04:00
..
amorcage_acces identite : une declaration de politique de mot de passe, deux executants 2026-08-08 06:28:10 -04:00
apparmor Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
auditd Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
chrony Découplage instance : realm centralisé + vars génériques 2026-07-05 00:47:44 -04:00
client_artefacts artefacts : la forge sert le code, il manquait qui sert les binaires 2026-08-23 14:41:56 -04:00
client_backup reconstruction from-zero : sept defauts, tous invisibles sur une flotte debout 2026-08-13 03:36:56 -04:00
client_journal get_url : plus aucun sans garde — la dependance externe tombe a zero 2026-08-09 14:05:25 -04:00
client_metrique metriques : node_exporter mourait a chaque renouvellement de certificat 2026-08-09 14:14:16 -04:00
client_pki site : un SITE a bien un plan — et huit defauts que lui seul pouvait reveler 2026-08-25 13:15:34 -04:00
client_resolveur resolveur : un par tenant, et non plus un par machine 2026-08-24 16:59:34 -04:00
client_smtp Reconstruction propre : orchestrateur ordonné, registre des flux + pare-feu 2026-07-07 03:08:09 -04:00
cloud_init Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
common_packages deploiement : deux attentes de premier demarrage, et trois defauts leves 2026-08-07 09:30:48 -04:00
core_dumps Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
fail2ban_ssh Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
hardening_packages Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
hosts_statiques site : un SITE a bien un plan — et huit defauts que lui seul pouvait reveler 2026-08-25 13:15:34 -04:00
journald Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
motd Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
nftables_baseline Reconstruction propre : orchestrateur ordonné, registre des flux + pare-feu 2026-07-07 03:08:09 -04:00
qemu_guest_agent Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
resoudre_annuaire annuaire : l'hote se derive du plan, il ne s'ecrit plus 2026-08-07 12:46:48 -04:00
resoudre_base deploiement : deux attentes de premier demarrage, et trois defauts leves 2026-08-07 09:30:48 -04:00
resoudre_idp resoudre_idp : le nom invente etait dans QUATRE roles 2026-08-07 15:33:32 -04:00
resoudre_politique_mdp identite : une declaration de politique de mot de passe, deux executants 2026-08-08 06:28:10 -04:00
serveur_artefacts frontiere : appliquee, et la contrainte de nommage d'OPNsense consignee 2026-08-24 17:51:29 -04:00
serveur_backup reconstruction d'un trait : 43 groupes, 0 echec, 37 minutes 2026-08-13 08:49:12 -04:00
serveur_cache_site site : un ecosysteme complet — PKI, DNS, forge, cache, runner 2026-08-25 12:00:17 -04:00
serveur_collabora collabora : en natif, la derniere exception conteneurisee tombe 2026-08-24 16:23:35 -04:00
serveur_debian authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_dovecot courriel : routage local par identifiant, et la livraison interne remise en marche 2026-08-08 09:42:45 -04:00
serveur_forgejo site : un SITE a bien un plan — et huit defauts que lui seul pouvait reveler 2026-08-25 13:15:34 -04:00
serveur_grafana keycloak : un jeton frais la ou on s'en sert ; grafana : un echec lisible 2026-08-10 20:19:50 -04:00
serveur_icinga reconstruction d'un trait : 43 groupes, 0 echec, 37 minutes 2026-08-13 08:49:12 -04:00
serveur_icingaweb2 icingaweb2 : habilitation par groupe d'annuaire, plus par liste d'uid 2026-08-07 19:54:41 -04:00
serveur_keycloak keycloak : l'ancre de confiance existe — publiee hors du canal de livraison 2026-08-11 02:06:02 -04:00
serveur_loki get_url : plus aucun sans garde — la dependance externe tombe a zero 2026-08-09 14:05:25 -04:00
serveur_nextcloud nextcloud : epingle 34.0.2 (correctif amont) 2026-08-10 23:12:19 -04:00
serveur_nginx nginx : dimensionner les tampons d'en-tetes pour les sessions OIDC 2026-08-08 11:06:05 -04:00
serveur_oauth2_proxy artefacts : le controleur telecharge et pousse, la cible ne tire plus 2026-08-10 20:58:58 -04:00
serveur_openldap identite : une declaration de politique de mot de passe, deux executants 2026-08-08 06:28:10 -04:00
serveur_ops forge du genome : mutualisee par site, avec une confiance limitee a une url 2026-08-24 18:55:44 -04:00
serveur_ops_site frontiere : le devis voit le site — fabric, alias et regles 2026-08-25 00:49:04 -04:00
serveur_postfix frontiere : etanche — CONFORME sur 56 lignes, dans les deux sens 2026-08-09 21:33:04 -04:00
serveur_postgresql authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_powerdns resolveur : un par tenant, et non plus un par machine 2026-08-24 16:59:34 -04:00
serveur_prometheus idempotence : Prometheus trie ses cibles, Forgejo conserve son secret JWT 2026-08-09 14:44:03 -04:00
serveur_redis authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_resolveur resolveur : un par tenant, et non plus un par machine 2026-08-24 16:59:34 -04:00
serveur_rspamd authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_step_ca patient 0 debout — et quatre defauts que seul un ecosysteme DIFFERENT pouvait montrer 2026-08-23 02:53:44 -04:00
serveur_web_dorsal empreintes muettes, courses de premier demarrage, collision de noms 2026-08-07 16:22:38 -04:00
serveur_web_frontal empreintes muettes, courses de premier demarrage, collision de noms 2026-08-07 16:22:38 -04:00
ssh_baseline ssh : retirer les drop-ins d'une nomenclature abandonnee 2026-08-25 03:40:24 -04:00
ssh_hardening ssh : retirer les drop-ins d'une nomenclature abandonnee 2026-08-25 03:40:24 -04:00
sudo_ansible Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
sysctl_hardening Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
systemd_ssh_auto Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
template_cleanup gabarit recapture : copie de travail preparee, nettoyee, convertie 2026-08-09 11:29:51 -04:00
unattended_upgrades Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00