--- # Registre des bases de donnees applicatives Set-OPS. # # Patron : 1 appli -> 1 base nommee -> 1 compte proprietaire (db_owner) -> 1 chaine de connexion. # # Deux consommateurs du MEME registre : # - serveurs_postgresql : cree chaque base + son compte proprietaire # (mot de passe = la variable Vault nommee par le champ "secret"). # - le role applicatif : construit sa chaine de connexion vers cette base. # # Le mot de passe est PARTAGE : il vit une seule fois dans le Vault (variable nommee # par "secret"), lu par le serveur (pour creer le compte) et par l'appli (pour se # connecter). Source unique, jamais de desynchronisation. # # Convention de chaine de connexion cote appli : # host= port=5432 dbname= user= # password={{ lookup('vars', ) }} sslmode=require # L'IP du serveur BD se derive de la nomenclature (ex. data-01 -> 10.1.13.11). # # Prerequis : la dependance "appli requiert serveurs_postgresql actif" est declaree # dans docs/dependances-groupes.yml (la base existe avant que l'appli s'y connecte). # # Ajouter une appli = une entree ici + son secret dans le Vault. Aucun nouveau role. bases_donnees: keycloak: base: keycloak proprietaire: keycloak serveur: serveurs_postgresql secret: vault_bd_keycloak icingadb: base: icingadb proprietaire: icingadb serveur: serveurs_postgresql secret: vault_bd_icingadb # icingaweb : a ajouter avec la phase Icinga Web 2 (2e base de l'ecosysteme Icinga). forgejo: base: forgejo proprietaire: forgejo serveur: serveurs_postgresql secret: vault_bd_forgejo # nextcloud: # base: nextcloud # proprietaire: nextcloud # serveur: serveurs_postgresql # secret: vault_bd_nextcloud