Set-OPS-Public/roles/serveur_icingaweb2/templates/resources.ini.j2
Daniel Allaire 5ecce4282a une console pour le site, et un repli qui ouvrait vers l Internet
Icinga Web 2 gagne un troisieme mode, locale : nginx authentifie en HTTP Basic
et pose REMOTE_USER, l application le croit. Un SITE n a ni annuaire ni Keycloak
— ce sont des services d ecosysteme. Ni backend LDAP ni backend de groupes : un
backend qui vise une ressource inexistante fait echouer chaque ouverture de
session. L habilitation nomme alors une personne, entorse a D-66 ecrite plutot
que contournee.

Deux pieges en chemin : resoudre_annuaire etait appele sans condition et tombait
sur NoneType has no len (default sans son second argument ne remplace pas None),
et le flux du role ne nommait que l edge — le site n en a pas, donc personne ne
pouvait entrer. serveur_grafana portait deja la reponse.

LE DEFAUT DU DEVIS : une sortie vers un role ABSENT de l ecosysteme retombait
sur !SETOPS_INTERNES, la forme de vers l Internet. La frontiere aurait autorise
la console a parler LDAPS a n importe quelle machine du monde, pour joindre un
annuaire qui n existe pas. C est une source vide ouvre le port, cote
destination. Trois regles du meme defaut etaient DEJA posees pour postfix.

La frontiere n est pas ecrite : elle porte la production, et le devis attend un
mot.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 19:11:22 -04:00

29 lines
1.1 KiB
Django/Jinja

; Géré par Set-OPS (rôle serveur_icingaweb2). Ne pas éditer à la main.
[icingadb]
type = "db"
db = "pgsql"
host = "{{ resoudre_base_db_host }}"
port = "{{ resoudre_base_db_port }}"
dbname = "{{ resoudre_base_entree.base }}"
username = "{{ resoudre_base_entree.proprietaire }}"
password = "{{ resoudre_base_db_password }}"
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 != 'locale' %}
[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 %}