Set-OPS-Public/roles
Daniel Allaire 5fde136e9f devis des certificats : disque contre memoire, et l'AC etait expiree
Deuxieme application du patron devis/applicateur aux services. Trouve a la
premiere execution : sur infra-pki-01 — l'autorite elle-meme — le certificat
etait expire depuis plus de 8 h et le renouvellement echouait toutes les 14
minutes sur « 'step ca renew' requires the '--ca-url' flag ». Rien ne le
signalait.

Cause : sur l'hote de l'AC, /etc/step est le STEPPATH du SERVEUR, pas un
amorcage client — pas de defaults.json, et l'unite de renouvellement en
dependait. La lecon etait deja ecrite dans le commentaire de la tache
d'emission (« l'autorite ne bootstrape pas »), jamais reportee sur l'unite.

Le role ne pouvait pas non plus se soigner : la re-emission ne regardait que
la FORME (cert absent ou SAN manquant), jamais la validite. client_pki
verifie desormais l'echeance (client_pki_marge_renouvellement).

Ce qu'il a fallu desapprendre : les certificats vivent 24 h et se renouvellent
toutes les ~14 min ; « empreinte servie != empreinte disque » est l'etat
NORMAL. Comparer les empreintes aurait donne un verificateur qui crie en
permanence. Le signal est l'echeance de ce qui est SERVI, plus l'absence de
client_pki_reload_services.

Le devis a d'abord menti, du defaut meme qu'il traque : include_vars au niveau
du play prime sur les group_vars. Et le premier correctif a PARU marcher —
set_fact accepte un dictionnaire entier en argument libre sans erreur et n'en
fait rien. Il faut reimposer cle par cle. Les deux devis sont corriges et le
piege est consigne dans docs/devis-services.md avant d'ecrire le prochain.

Verifie dans les deux sens : CONFORME sur 14 hotes ; sur un releve ou l'on
rejoue une copie perimee en memoire, 2 ecarts et code de sortie 1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-08 07:20:56 -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_backup docs : un README par rôle (12 manquants) + carte remise à l'état du code 2026-07-29 11:32:06 -04:00
client_journal intégrations : le rôle déclare sa politique ; le cluster passe à l'hébergeur 2026-08-03 14:09:22 -04:00
client_metrique intégrations : le rôle déclare sa politique ; le cluster passe à l'hébergeur 2026-08-03 14:09:22 -04:00
client_pki devis des certificats : disque contre memoire, et l'AC etait expiree 2026-08-08 07:20:56 -04:00
client_smtp Reconstruction propre : orchestrateur ordonné, registre des flux + pare-feu 2026-07-07 03:08:09 -04:00
client_unbound dns : client_unbound universel, et un resolveur d'amorcage 2026-08-06 21:41:58 -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 docs : un README par rôle (12 manquants) + carte remise à l'état du code 2026-07-29 11:32:06 -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_backup authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_collabora empreintes muettes, courses de premier demarrage, collision de noms 2026-08-07 16:22:38 -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 authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_forgejo rotation : vault_forgejo_oidc, et la reconciliation des secrets OIDC 2026-08-07 22:20:11 -04:00
serveur_grafana rotation : les comptes de secours peuvent enfin changer de mot de passe 2026-08-07 21:10:47 -04:00
serveur_icinga authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -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 identite : une declaration de politique de mot de passe, deux executants 2026-08-08 06:28:10 -04:00
serveur_loki authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_nextcloud rotation : les comptes de secours peuvent enfin changer de mot de passe 2026-08-07 21:10:47 -04:00
serveur_nginx flux : admin devient un pair, et make ca-racine livre la racine 2026-08-07 17:26:35 -04:00
serveur_oauth2_proxy sso : l'issuer et le nom d'hote se derivent de l'exposition declaree 2026-08-07 11:47:34 -04:00
serveur_openldap identite : une declaration de politique de mot de passe, deux executants 2026-08-08 06:28:10 -04:00
serveur_postfix authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -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 dns : client_unbound universel, et un resolveur d'amorcage 2026-08-06 21:41:58 -04:00
serveur_prometheus authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -04:00
serveur_redis authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -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 authentification : chaque rôle déclare sa position, gardé par P29 2026-08-03 17:05:43 -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 Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
ssh_hardening Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -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 Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
unattended_upgrades Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00