serveur_icingaweb2 appelle resoudre_base deux fois — moteur puis comptes — et le second appel ecrase les faits du premier. Les gabarits lisaient donc la seconde base partout : la console cherchait icingadb_schema dans la base des comptes et rendait une trace PHP a chaque page, pendant que les 66 tables du moteur etaient intactes a cote. Celui qui appelle un role partage deux fois doit NOMMER ses resultats avant de le rappeler. Et le cadre de migration veut une instance de base quoi qu il arrive : config_backend db + config_resource icingaweb_db. L erreur des preferences n apparaissait qu A LA CONNEXION — un journal muet ne prouvait rien tant que personne n avait ouvert de session, d ou un controle qui en ouvre une vraie. J ai attribue a tort la fin des erreurs a un rechargement manuel : les horloges disent que le handler du role avait deja redemarre php-fpm sept minutes plus tot. Mes fenetres de mesure enjambaient le correctif. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
51 lines
2.1 KiB
Django/Jinja
51 lines
2.1 KiB
Django/Jinja
; Géré par Set-OPS (rôle serveur_icingaweb2). Ne pas éditer à la main.
|
|
; LA BASE DU MOTEUR — nommee par des variables PROPRES a ce role, jamais par les faits
|
|
; partages de `resoudre_base` : ce role l'appelle deux fois, et le second appel ecrase
|
|
; les faits du premier. Voir `tasks/main.yml`.
|
|
[icingadb]
|
|
type = "db"
|
|
db = "pgsql"
|
|
host = "{{ serveur_icingaweb2_moteur_host }}"
|
|
port = "{{ serveur_icingaweb2_moteur_port }}"
|
|
dbname = "{{ serveur_icingaweb2_moteur_base }}"
|
|
username = "{{ serveur_icingaweb2_moteur_utilisateur }}"
|
|
password = "{{ serveur_icingaweb2_moteur_motdepasse }}"
|
|
charset = "UTF8"
|
|
{% if serveur_icingaweb2_db_sslmode | default('') %}
|
|
; LE SERVEUR IMPOSE `hostssl` : sans ces deux lignes, PostgreSQL refuse la connexion et
|
|
; l'erreur parle de `pg_hba`, pas de chiffrement. Derive de ce que sert le serveur — voir
|
|
; `resoudre_base` et P78.
|
|
ssl_mode = "{{ serveur_icingaweb2_db_sslmode }}"
|
|
ssl_ca = "{{ serveur_icingaweb2_db_sslrootcert }}"
|
|
{% endif %}
|
|
{% if serveur_icingaweb2_auth == 'db' %}
|
|
|
|
; LA BASE DES COMPTES DE LA CONSOLE — distincte d'`icingadb`, qui est celle du MOTEUR.
|
|
; Meler les deux ferait disparaitre les comptes au premier passage des migrations du
|
|
; moteur, sans que personne n'ait touche aux comptes.
|
|
[icingaweb_db]
|
|
type = "db"
|
|
db = "pgsql"
|
|
host = "{{ serveur_icingaweb2_db_host }}"
|
|
port = "{{ serveur_icingaweb2_db_port }}"
|
|
dbname = "{{ serveur_icingaweb2_db_base }}"
|
|
username = "{{ serveur_icingaweb2_db_utilisateur }}"
|
|
password = "{{ serveur_icingaweb2_db_motdepasse }}"
|
|
charset = "UTF8"
|
|
{% if serveur_icingaweb2_db_sslmode | default('') %}
|
|
ssl_mode = "{{ serveur_icingaweb2_db_sslmode }}"
|
|
ssl_ca = "{{ serveur_icingaweb2_db_sslrootcert }}"
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if serveur_icingaweb2_auth not in ('db',) %}
|
|
|
|
[icingaweb_ldap]
|
|
type = "ldap"
|
|
hostname = "{{ serveur_icingaweb2_ldap_url | regex_replace('^ldaps?://', '') }}"
|
|
port = "{{ serveur_icingaweb2_ldap_port }}"
|
|
encryption = "ldaps"
|
|
root_dn = "{{ serveur_icingaweb2_ldap_base }}"
|
|
bind_dn = "{{ serveur_icingaweb2_ldap_bind_dn }}"
|
|
bind_pw = "{{ serveur_icingaweb2_ldap_bind_password }}"
|
|
timeout = "5"
|
|
{% endif %}
|