Set-OPS-Public/roles/serveur_step_ca
Daniel Allaire 27b8f51f15 step_ca : dry-run check-safe (install + init du dépôt Smallstep)
Le rôle ajoute bien le dépôt Smallstep et installe step-cli/step-ca —
il n'était PAS cassé. Mais en --check, le dépôt/binaire ne sont pas
réellement présents → apt « No package step-cli » puis « step ca init »
échouaient (faux). Ajout de when: not ansible_check_mode sur l'install
et l'initialisation de l'AC (le service l'avait déjà).

Dry-run step_ca : failed=0 (prouvé avec vault_* de test). Config dépôt
vérifiée (clé officielle, stable/debian suite debs) — vrai déploiement
non exécuté (nécessite la voûte + action GUI).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 21:44:14 -04:00
..
defaults Câbler les secrets des rôles à leur variable de voûte (vault_*) 2026-07-01 21:29:18 -04:00
handlers Rendre le dry-run (--check) fiable sur les rôles applicatifs 2026-07-01 21:01:53 -04:00
meta Dimensionner les ressources VM depuis les logiciels hébergés 2026-06-30 10:07:04 -04:00
tasks step_ca : dry-run check-safe (install + init du dépôt Smallstep) 2026-07-01 21:44:14 -04:00
templates Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00
README.md Set-OPS — moteur d'ecosystemes numeriques souverains (Alliance Boreale) 2026-06-24 20:17:46 -04:00

serveur_step_ca

Autorité de certification interne Smallstep step-ca avec provisioner ACME, pour émettre les certificats internes (client_pki est le client ACME).

Rôle

  • Ajoute le dépôt apt officiel Smallstep (clé + source deb822) et installe step-ca + step-cli.
  • Crée l'utilisateur système step et STEPPATH=/etc/step-ca.
  • Déploie les mots de passe (CA et provisioner) depuis Vault.
  • Initialise l'AC une seule fois (step ca init, standalone + provisioner ACME), garde-fou creates: config/ca.json.
  • Déploie l'unité systemd durcie officielle et démarre le service.

Secrets requis (Vault)

Obligatoires dès l'installation :

serveur_step_ca_password: "{{ vault_step_ca_password }}"
serveur_step_ca_provisioner_password: "{{ vault_step_ca_provisioner_password }}"

À placer dans instance/inventories/production/group_vars/serveur_step_ca/vault.yml (chiffré), les variables en clair référençant ces secrets dans .../serveur_step_ca/main.yml.

Variables principales

Variable Défaut Rôle
serveur_step_ca_nom Set-OPS Internal CA Nom de l'AC
serveur_step_ca_dns FQDN + IP SAN/DNS du certificat de l'AC
serveur_step_ca_adresse :8443 Adresse d'écoute
serveur_step_ca_provisioner admin@exemple.internal Provisioner JWK admin
serveur_step_ca_acme true Ajoute un provisioner ACME

Notes

  • La ligne step ca init utilise les drapeaux documentés par Smallstep ; selon la version de step-cli installée, un ajustement mineur peut être nécessaire. L'init ne s'exécute qu'une fois (présence de config/ca.json).
  • L'unité systemd provient de la doc de production Smallstep (sandboxing systemd).
  • Émission/renouvellement côté clients : voir le futur rôle client_pki (ACME).

Hors périmètre

  • Sauvegarde/HA de l'AC, RA (registration authority), rotation des clés racine.