Câbler les secrets des rôles à leur variable de voûte (vault_*)
Les rôles à secrets déclaraient serveur_X_password: "" avec la variable
de voûte seulement en commentaire — aucun mapping réel. Remplir la voûte
ne branchait donc rien (secret vide → assertion échoue).
Les 12 secrets des 8 rôles pointent maintenant vers leur source :
serveur_X_password: "{{ vault_X | default('') }}"
Comportement inchangé si la voûte est vide ; branché dès qu'elle a le
secret. Prouvé : assertion step_ca passe avec vault_step_ca_password.
Chaque instance remplit ses vault_* ; aucun mapping par instance.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
4d26c15104
commit
bbcf087904
9 changed files with 21 additions and 12 deletions
|
|
@ -15,6 +15,15 @@
|
|||
- **Compteur « vivantes »** dans l'en-tête (depuis la sonde), à côté de actifs/planifiés.
|
||||
|
||||
### Corrigé
|
||||
- **Secrets des rôles non câblés à la voûte (échafaudage manquant).** Les rôles à
|
||||
secrets déclaraient `serveur_X_password: ""` avec, en commentaire seulement, la
|
||||
variable de voûte attendue (`{{ vault_X }}`) — sans mapping réel. Résultat : remplir
|
||||
la voûte selon `vault.exemple.yml` ne suffisait pas, le secret restait vide et
|
||||
l'assertion « secrets requis » échouait. Les 12 secrets des 8 rôles (`serveur_step_ca`,
|
||||
`serveur_forgejo`, `serveur_grafana`, `serveur_keycloak`, `serveur_openldap`,
|
||||
`serveur_redis`, `client_ldap`, `client_pki`) pointent désormais vers leur variable
|
||||
de voûte : `serveur_X_password: "{{ vault_X | default('') }}"`. Chaque instance n'a
|
||||
plus qu'à remplir ses `vault_*` dans sa voûte chiffrée ; aucun mapping par instance.
|
||||
- **« Vérifier » (dry-run `--check`) échouait faussement sur un hôte frais.** Les tâches
|
||||
« démarrer service » et les handlers « redémarrer / recharger / valider » des rôles
|
||||
applicatifs touchent un paquet que `--check` n'installe pas réellement → le service
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ client_ldap_base_dn: "dc={{ domaine_interne.split('.') | join(',dc=') }}"
|
|||
|
||||
# Bind de lecture. Vide => bind anonyme (lecture publique de l'annuaire).
|
||||
client_ldap_bind_dn: ""
|
||||
client_ldap_bind_password: "" # {{ vault_ldap_sssd }} si un bind DN est defini
|
||||
client_ldap_bind_password: "{{ vault_ldap_sssd | default('') }}" # rempli depuis la voute (vault_ldap_sssd)
|
||||
|
||||
# TLS : "never" tant que OpenLDAP n'expose pas LDAPS ; passer a "demand"
|
||||
# avec LDAPS + confiance step_ca (client_pki).
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ client_pki_cert: "{{ client_pki_steppath }}/certs/{{ client_pki_nom_cert }}.crt"
|
|||
client_pki_cle: "{{ client_pki_steppath }}/certs/{{ client_pki_nom_cert }}.key"
|
||||
|
||||
# Secrets OBLIGATOIRES (Ansible Vault).
|
||||
client_pki_ca_fingerprint: "" # {{ vault_step_ca_fingerprint }} (empreinte racine de l'AC)
|
||||
client_pki_provisioner_password: "" # {{ vault_step_ca_provisioner_password }} (partage avec serveur_step_ca)
|
||||
client_pki_ca_fingerprint: "{{ vault_step_ca_fingerprint | default('') }}" # rempli depuis la voute (vault_step_ca_fingerprint)
|
||||
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"
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ serveur_forgejo_db_host: "10.0.13.11" # data-01
|
|||
serveur_forgejo_smtp: "infra-mail-01.{{ domaine_interne }}"
|
||||
|
||||
# Secrets OBLIGATOIRES (Ansible Vault).
|
||||
serveur_forgejo_secret_key: "" # {{ vault_forgejo_secret_key }}
|
||||
serveur_forgejo_internal_token: "" # {{ vault_forgejo_internal_token }}
|
||||
serveur_forgejo_secret_key: "{{ vault_forgejo_secret_key | default('') }}" # rempli depuis la voute (vault_forgejo_secret_key)
|
||||
serveur_forgejo_internal_token: "{{ vault_forgejo_internal_token | default('') }}" # rempli depuis la voute (vault_forgejo_internal_token)
|
||||
serveur_forgejo_admin_user: "forgejo-admin"
|
||||
serveur_forgejo_admin_email: "admin@{{ domaine_interne }}"
|
||||
serveur_forgejo_admin_password: "" # {{ vault_forgejo_admin }}
|
||||
serveur_forgejo_admin_password: "{{ vault_forgejo_admin | default('') }}" # rempli depuis la voute (vault_forgejo_admin)
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ serveur_grafana_prometheus_url: "http://localhost:9090"
|
|||
serveur_grafana_loki_url: "http://localhost:3100"
|
||||
|
||||
# Secret OBLIGATOIRE (Ansible Vault).
|
||||
serveur_grafana_admin_password: "" # {{ vault_grafana_admin }}
|
||||
serveur_grafana_admin_password: "{{ vault_grafana_admin | default('') }}" # rempli depuis la voute (vault_grafana_admin)
|
||||
|
||||
# Depot apt officiel Grafana (partage avec serveur_loki).
|
||||
serveur_grafana_depot_cle_url: "https://apt.grafana.com/gpg-full.key"
|
||||
|
|
|
|||
|
|
@ -18,4 +18,4 @@ serveur_keycloak_db_host: "10.0.13.11"
|
|||
|
||||
# Secrets (Ansible Vault) — obligatoires.
|
||||
serveur_keycloak_admin_user: "admin"
|
||||
serveur_keycloak_admin_password: "" # {{ vault_keycloak_admin }}
|
||||
serveur_keycloak_admin_password: "{{ vault_keycloak_admin | default('') }}" # rempli depuis la voute (vault_keycloak_admin)
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ serveur_openldap_base_dn: "dc={{ serveur_openldap_domaine.split('.') | join(',dc
|
|||
serveur_openldap_admin_dn: "cn=admin,{{ serveur_openldap_base_dn }}"
|
||||
|
||||
# Secret OBLIGATOIRE (Ansible Vault).
|
||||
serveur_openldap_admin_password: "" # {{ vault_openldap_admin }}
|
||||
serveur_openldap_admin_password: "{{ vault_openldap_admin | default('') }}" # rempli depuis la voute (vault_openldap_admin)
|
||||
|
||||
# Unites organisationnelles de base.
|
||||
serveur_openldap_ou:
|
||||
|
|
|
|||
|
|
@ -15,4 +15,4 @@ serveur_redis_maxmemory: "256mb"
|
|||
serveur_redis_maxmemory_policy: "allkeys-lru"
|
||||
|
||||
# Mot de passe OBLIGATOIRE (expose sur le reseau interne). Ansible Vault.
|
||||
serveur_redis_password: "" # {{ vault_redis }}
|
||||
serveur_redis_password: "{{ vault_redis | default('') }}" # rempli depuis la voute (vault_redis)
|
||||
|
|
|
|||
|
|
@ -23,5 +23,5 @@ serveur_step_ca_provisioner: "admin@{{ domaine_interne }}"
|
|||
serveur_step_ca_acme: true
|
||||
|
||||
# Secrets (Ansible Vault) — obligatoires pour l'initialisation.
|
||||
serveur_step_ca_password: "" # {{ vault_step_ca_password }}
|
||||
serveur_step_ca_provisioner_password: "" # {{ vault_step_ca_provisioner_password }}
|
||||
serveur_step_ca_password: "{{ vault_step_ca_password | default('') }}" # rempli depuis la voute (vault_step_ca_password)
|
||||
serveur_step_ca_provisioner_password: "{{ vault_step_ca_provisioner_password | default('') }}" # rempli depuis la voute (vault_step_ca_provisioner_password)
|
||||
|
|
|
|||
Loading…
Reference in a new issue