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/roles/serveur_step_ca/README.md
Daniel Allaire ca0f95da28 Mettre les noms de roles et playbooks au singulier
serveurs_* -> serveur_, clients_ -> client_, suffixes pluriels au
singulier (serveur_web_dorsal/frontal, client_metrique, client_journal).

Renommage par tokens exacts : repertoires de roles, playbooks de groupes,
group_vars, variables internes des roles (serveur_nginx_*, conformite
ansible-lint), groupes du plan, constantes de code, docs. Faux-amis
preserves (serveurs_bd, scripts/serveurs.py, fonctions Python). Groupes
d'etat gardes au pluriel (hotes_actifs/planifies, modeles_vm).

Valide : ansible-lint 0 echec (0 var-naming), diff vide de la generation,
node --check, tous les registres. Ajout de .ansible-lint excluant docs/
(registres de donnees, pas du contenu Ansible).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 23:18:52 -04:00

41 lines
1.9 KiB
Markdown

# serveur_step_ca
Autorité de certification interne **Smallstep step-ca** avec provisioner **ACME**,
pour émettre les certificats internes de Chezlepro (`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 :
```yaml
serveur_step_ca_password: "{{ vault_step_ca_password }}"
serveur_step_ca_provisioner_password: "{{ vault_step_ca_provisioner_password }}"
```
À placer dans `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` | `Chezlepro 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@chezlepro.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.