Set-OPS-Public/roles/serveur_icingaweb2/templates/config.ini.j2
Daniel Allaire 504840f378 console : deux bases confondues, et un etat sans domicile
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
2026-09-15 10:22:53 -04:00

29 lines
1.2 KiB
Django/Jinja

; Géré par Set-OPS (rôle serveur_icingaweb2). Ne pas éditer à la main.
[global]
show_stacktraces = "0"
{% if serveur_icingaweb2_auth == 'db' %}
; LA CONSOLE RANGE SON PROPRE ETAT DANS SA PROPRE BASE (2026-09-15).
;
; `config_backend = "ini"` laissait les preferences en fichiers, et c'etait tenable — mais
; le cadre de MIGRATION d'Icinga Web 2, lui, veut une instance de base quoi qu'il arrive.
; Sans elle, deux erreurs toutes les quinze secondes :
;
; Failed to load pending migrations : Please check if a db instance exists at all
; Cannot load preferences for user "icinga-admin" : Cannot load resource config ""
;
; La seconde n'apparaissait qu'A LA CONNEXION — un journal muet ne prouvait donc rien
; tant que personne n'avait ouvert de session.
;
; Des lors que la console A une base — celle de ses comptes — il n'y a aucune raison d'y
; ranger les comptes et pas le reste. Les preferences d'un utilisateur le suivent alors
; d'un navigateur a l'autre, ce que des fichiers locaux ne font pas.
config_backend = "db"
config_resource = "icingaweb_db"
{% else %}
config_backend = "ini"
{% endif %}
[logging]
log = "syslog"
level = "ERROR"
application = "icingaweb2"