--- groupes: client_pki: requiert_groupes_actifs: - serveur_step_ca raison: "La confiance CA et ACME client dependent de l'autorite interne." surveillance: "Verifier validite CA, emission ACME et expiration des certificats." client_metrique: requiert_groupes_actifs: - serveur_prometheus raison: "Les exporters clients doivent etre collectes par Prometheus." surveillance: "Verifier targets Prometheus, scrape duration et erreurs de collecte." client_journal: requiert_groupes_actifs: - serveur_loki raison: "L'expedition des journaux depend du collecteur central Loki." surveillance: "Verifier ingestion Loki, retard et volume de journaux." client_smtp: requiert_groupes_actifs: - serveur_postfix raison: "Les notifications locales doivent relayer vers un MTA actif (Postfix)." surveillance: "Verifier file d'attente, relais SMTP et echecs de livraison." serveur_postfix: requiert_groupes_actifs: - serveur_dovecot raison: "Postfix remet le courrier local via LMTP a Dovecot (mailstore) ; la remise exige Dovecot actif." surveillance: "Verifier file d'attente, remise LMTP (status=sent) et rejets." serveur_keycloak: requiert_groupes_actifs: - serveur_postgresql - serveur_openldap raison: "Keycloak persiste dans PostgreSQL et federe l'annuaire OpenLDAP (resoudre_annuaire_uri)." surveillance: "Verifier connexion base, federation LDAP, etat realm et disponibilite OIDC." serveur_dovecot: requiert_groupes_actifs: - serveur_openldap raison: "Dovecot resout ses utilisateurs (userdb/passdb) sur l'annuaire OpenLDAP (resoudre_annuaire_*)." surveillance: "Verifier bind LDAP, authentification IMAP et remise LMTP." serveur_grafana: requiert_groupes_actifs: - serveur_prometheus - serveur_loki raison: "Grafana est utile comme interface aux metriques et journaux centraux." surveillance: "Verifier datasources Prometheus/Loki et authentification." serveur_icinga: requiert_groupes_actifs: - serveur_postgresql raison: "La plateforme Icinga Web/BPM depend d'une base relationnelle." surveillance: "Verifier moteur Icinga, base, interface web et notifications." serveur_icingaweb2: requiert_groupes_actifs: - serveur_icinga - serveur_postgresql - serveur_openldap raison: "Frontal web d'Icinga : lit IcingaDB (base), affiche le moteur Icinga et authentifie sur l'annuaire OpenLDAP (resoudre_annuaire)." surveillance: "Verifier acces IcingaDB, connexion Icinga et authentification LDAP." serveur_forgejo: requiert_groupes_actifs: - serveur_postgresql - serveur_nginx # UNE EXIGENCE PEUT ETRE CONDITIONNELLE (2026-08-22). Depuis que le role sait tenir sa # base dans un fichier, exiger un serveur PostgreSQL est faux pour qui a choisi SQLite # — et bloquait le deploiement d'un ecosysteme parfaitement coherent. sauf_si: serveur_postgresql: { variable: serveur_forgejo_bd, vaut: sqlite } # UTILISE SI PRESENT : Forgejo envoie des notifications quand un MTA existe, et s'en # passe sinon. Ce n'etait pas une EXIGENCE — le confondre avec une exigence obligeait # une forge a deployer une pile courriel pour exister. utilise_si_present: - serveur_postfix raison: "Forgejo depend d'une base (serveur ou fichier) et d'une publication HTTP(S) ; le courriel est un agrement." surveillance: "Verifier HTTP(S), base, files Git et envoi courriel." serveur_nextcloud: requiert_groupes_actifs: - serveur_postgresql - serveur_keycloak - serveur_collabora raison: "Nextcloud persiste dans PostgreSQL (verify-full), federe l'identite par OIDC (Keycloak) et valide WOPI contre Collabora (edition en ligne)." surveillance: "Verifier base, decouverte OIDC, autodetection WOPI et acces web."