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/serveurs_step_ca
Daniel Allaire 8f6de3ebe2 Construire l'ecosysteme de services et outiller l'inventaire
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>
2026-06-22 18:06:11 -04:00
..
defaults Construire l'ecosysteme de services et outiller l'inventaire 2026-06-22 18:06:11 -04:00
handlers Construire l'ecosysteme de services et outiller l'inventaire 2026-06-22 18:06:11 -04:00
tasks Construire l'ecosysteme de services et outiller l'inventaire 2026-06-22 18:06:11 -04:00
templates Construire l'ecosysteme de services et outiller l'inventaire 2026-06-22 18:06:11 -04:00
README.md Construire l'ecosysteme de services et outiller l'inventaire 2026-06-22 18:06:11 -04:00

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 :

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.