Registres (source unique): - docs/nomenclature.yml: domaines, VMID, plan d'adressage 10.1.0.0/16 segmente. - docs/bases-donnees.yml: bases applicatives (1 appli -> 1 base -> 1 owner -> 1 DSN). Roles de service: - Reseau/edge/PKI/mail: nginx, step_ca, sendmail. - Donnees/identite: postgresql (consommateur du registre BD), redis, openldap, keycloak. - Observabilite: prometheus, loki, grafana. - Supervision: icinga (coeur; Icinga Web 2 differe). Forge: forgejo. Integrations clientes: - clients_metriques, clients_journaux, clients_pki, clients_ldap, clients_smtp. Inventaire et outillage: - make inventaire-ui: refonte (cartes, theme sombre, onglets, vue Chaine VM->groupes-> playbooks->roles), saisie du provisioning, auto-proposition depuis la nomenclature, deploiement securise (verifier/deployer, jeton anti-CSRF, verrou, mot de passe vault), robustesse reseau (connexions fermees, favicon). - Makefile: cible verifier-deploiement; detection d'un group_vars de production chiffre. - Scission serveurs_web -> serveurs_web_frontaux/dorsaux; migration de l'adressage vers 10.1.x; retrait des hotes de test; planification des hotes; requirements.yml. Chaque role valide en --syntax-check et ansible-lint (profil production). Secrets references depuis Ansible Vault (jamais en clair); roles non testes live. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
# serveurs_step_ca
|
|
|
|
Autorité de certification interne **Smallstep step-ca** avec provisioner **ACME**,
|
|
pour émettre les certificats internes de Chezlepro (`clients_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
|
|
serveurs_step_ca_password: "{{ vault_step_ca_password }}"
|
|
serveurs_step_ca_provisioner_password: "{{ vault_step_ca_provisioner_password }}"
|
|
```
|
|
|
|
À placer dans `inventories/production/group_vars/serveurs_step_ca/vault.yml` (chiffré),
|
|
les variables en clair référençant ces secrets dans `.../serveurs_step_ca/main.yml`.
|
|
|
|
## Variables principales
|
|
| Variable | Défaut | Rôle |
|
|
| --- | --- | --- |
|
|
| `serveurs_step_ca_nom` | `Chezlepro Internal CA` | Nom de l'AC |
|
|
| `serveurs_step_ca_dns` | FQDN + IP | SAN/DNS du certificat de l'AC |
|
|
| `serveurs_step_ca_adresse` | `:8443` | Adresse d'écoute |
|
|
| `serveurs_step_ca_provisioner` | `admin@chezlepro.internal` | Provisioner JWK admin |
|
|
| `serveurs_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 `clients_pki` (ACME).
|
|
|
|
## Hors périmètre
|
|
- Sauvegarde/HA de l'AC, RA (registration authority), rotation des clés racine.
|