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>
46 lines
2.1 KiB
YAML
46 lines
2.1 KiB
YAML
---
|
|
client_pki_paquets:
|
|
- step-cli
|
|
|
|
client_pki_steppath: "/etc/step"
|
|
|
|
# AC interne (serveur_step_ca / infra-pki-01).
|
|
client_pki_ca_url: "https://infra-pki-01.{{ domaine_interne }}:8443"
|
|
client_pki_provisioner: "admin@{{ domaine_interne }}"
|
|
|
|
# Identite de l'hote.
|
|
client_pki_nom_cert: "{{ ansible_fqdn | default(ansible_hostname) }}"
|
|
client_pki_cert: "{{ client_pki_steppath }}/certs/{{ client_pki_nom_cert }}.crt"
|
|
client_pki_cle: "{{ client_pki_steppath }}/certs/{{ client_pki_nom_cert }}.key"
|
|
|
|
# SANs du certificat (FQDN + nom court + IP). Requis pour un mTLS moderne :
|
|
# les clients TLS valident par le SAN, pas par le CN.
|
|
client_pki_sans:
|
|
- "{{ client_pki_nom_cert }}"
|
|
- "{{ ansible_hostname | default('') }}"
|
|
- "{{ ansible_host | default('') }}"
|
|
|
|
# L'empreinte du root CA n'est PAS un intrant : elle est DERIVEE a chaud depuis l'AC
|
|
# (tasks/main.yml), parce qu'un from-zero regenere l'autorite avec une empreinte neuve.
|
|
# La stocker en voute donnerait une valeur perimee des la premiere reconstruction.
|
|
# Pour epingler explicitement une empreinte : `client_pki_ca_fingerprint_override`.
|
|
client_pki_ca_fingerprint: ""
|
|
|
|
# Secret OBLIGATOIRE (Ansible Vault).
|
|
client_pki_provisioner_password: "{{ vault_step_ca_provisioner_password | default('') }}" # rempli depuis la voute (vault_step_ca_provisioner_password)
|
|
|
|
# Depot apt officiel Smallstep (partage avec serveur_step_ca).
|
|
client_pki_depot_cle_url: "https://packages.smallstep.com/keys/apt/repo-signing-key.gpg"
|
|
client_pki_depot_cle_fichier: "/etc/apt/keyrings/smallstep.asc"
|
|
client_pki_depot_uri: "https://packages.smallstep.com/stable/debian"
|
|
client_pki_depot_suite: "debs"
|
|
|
|
# Services a recharger apres un renouvellement de cert : les VRAIS consommateurs
|
|
# (nginx sur l'edge, postfix/dovecot sur le mail, slapd sur l'annuaire). Sans ca,
|
|
# le cert est renouvele sur disque mais le service sert l'ancien jusqu'a un reload.
|
|
client_pki_reload_services: []
|
|
|
|
# Marge avant echeance (secondes) sous laquelle le role RE-EMET le certificat plutot que
|
|
# d'attendre le renouvellement automatique. 3600 = une heure : large devant le minuteur
|
|
# (~14 min), serre devant la duree de vie (24 h).
|
|
client_pki_marge_renouvellement: 3600
|