diff --git a/CHANGELOG.md b/CHANGELOG.md index 9923a60..0f9b5aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/roles/client_ldap/defaults/main.yml b/roles/client_ldap/defaults/main.yml index eafc246..a7f8512 100644 --- a/roles/client_ldap/defaults/main.yml +++ b/roles/client_ldap/defaults/main.yml @@ -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). diff --git a/roles/client_pki/defaults/main.yml b/roles/client_pki/defaults/main.yml index 1cde971..a378b86 100644 --- a/roles/client_pki/defaults/main.yml +++ b/roles/client_pki/defaults/main.yml @@ -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" diff --git a/roles/serveur_forgejo/defaults/main.yml b/roles/serveur_forgejo/defaults/main.yml index 097f6dd..7bfbb42 100644 --- a/roles/serveur_forgejo/defaults/main.yml +++ b/roles/serveur_forgejo/defaults/main.yml @@ -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) diff --git a/roles/serveur_grafana/defaults/main.yml b/roles/serveur_grafana/defaults/main.yml index 145bdd9..32dac5a 100644 --- a/roles/serveur_grafana/defaults/main.yml +++ b/roles/serveur_grafana/defaults/main.yml @@ -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" diff --git a/roles/serveur_keycloak/defaults/main.yml b/roles/serveur_keycloak/defaults/main.yml index 78d3782..3150a56 100644 --- a/roles/serveur_keycloak/defaults/main.yml +++ b/roles/serveur_keycloak/defaults/main.yml @@ -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) diff --git a/roles/serveur_openldap/defaults/main.yml b/roles/serveur_openldap/defaults/main.yml index af48782..9007d39 100644 --- a/roles/serveur_openldap/defaults/main.yml +++ b/roles/serveur_openldap/defaults/main.yml @@ -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: diff --git a/roles/serveur_redis/defaults/main.yml b/roles/serveur_redis/defaults/main.yml index 6afe718..43bd4fd 100644 --- a/roles/serveur_redis/defaults/main.yml +++ b/roles/serveur_redis/defaults/main.yml @@ -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) diff --git a/roles/serveur_step_ca/defaults/main.yml b/roles/serveur_step_ca/defaults/main.yml index ce99e34..9c09b30 100644 --- a/roles/serveur_step_ca/defaults/main.yml +++ b/roles/serveur_step_ca/defaults/main.yml @@ -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)