Le GUI n a aucune authentification : GET / sert la page a qui la demande, jeton ecrit dedans, et POST /api exige ce jeton que la page vient de donner. Le jeton garde contre le CSRF, pas contre un visiteur — la seule serrure est --hote 127.0.0.1. Ce qu il offre a qui entre : deployer, creer, raser, editer le plan. La fabric entiere. Le service reste donc sur la boucle locale. Ce qui est publie est un nginx local qui authentifie d abord : oidc par defaut (oauth2-proxy, donc un groupe d annuaire qu on revoque sans deploiement), locale en repli pour un ecosysteme sans annuaire. L authentification est posee au niveau du server, pas d un location. La sonde console-ops mesure une SERRURE : une requete anonyme doit etre REFUSEE. Un 200 y est la pire des reponses, et il ne fait echouer personne. P54 a attrape une contrainte ratee : serveur_ops est insemine par le SITE, qui ne detient pas la voute du locataire. Le role ne nomme donc aucune voute — il declare un parametre, et la couche qui detient le secret le remplit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
70 lines
2.7 KiB
YAML
70 lines
2.7 KiB
YAML
---
|
|
# Voûte UNIQUE de l'instance — TOUS les secrets, un seul fichier, un seul mot de passe.
|
|
#
|
|
# Installation (un seul inventaire par instance : « production » dans le modèle socle) :
|
|
# 1. Copier ce gabarit vers la voûte de l'instance :
|
|
# cp exemples/vault.exemple.yml instance/inventories/production/group_vars/all/vault.yml
|
|
# 2. Renseigner les valeurs, puis chiffrer :
|
|
# ansible-vault encrypt instance/inventories/production/group_vars/all/vault.yml
|
|
# 3. Éditer ensuite sans jamais déchiffrer sur disque :
|
|
# ansible-vault edit instance/inventories/production/group_vars/all/vault.yml
|
|
#
|
|
# Ne JAMAIS versionner le fichier vault.yml (couvert par .gitignore).
|
|
# Le GUI ne stocke ni n'affiche ces valeurs : il n'en montre que les NOMS
|
|
# (panneau « Intrants de base »). Le mot de passe du vault est saisi au déploiement.
|
|
|
|
# --- Accès API Proxmox (clonage des VM) ---
|
|
proxmox_api_token_id: ""
|
|
proxmox_api_token_secret: ""
|
|
|
|
# --- AC / PKI interne (step-ca) ---
|
|
vault_step_ca_password: ""
|
|
vault_step_ca_fingerprint: ""
|
|
vault_step_ca_provisioner_password: ""
|
|
|
|
# --- Identité (LDAP / SSO) ---
|
|
vault_openldap_admin: ""
|
|
vault_ldap_sssd: ""
|
|
vault_keycloak_admin: ""
|
|
|
|
# --- Bases de données ---
|
|
vault_postgresql_keycloak: ""
|
|
vault_bd_keycloak: ""
|
|
vault_bd_forgejo: ""
|
|
vault_bd_icingadb: ""
|
|
|
|
# --- Forge (Forgejo) ---
|
|
vault_forgejo_admin: ""
|
|
vault_forgejo_secret_key: ""
|
|
vault_forgejo_internal_token: ""
|
|
|
|
# --- Observabilité / divers ---
|
|
vault_grafana_admin: ""
|
|
vault_redis: ""
|
|
|
|
# LA CONSOLE DE SUPERVISION, QUAND ELLE S'AUTHENTIFIE SEULE.
|
|
#
|
|
# `serveur_icingaweb2_auth: locale` — le mode d'un SITE, qui n'a ni annuaire ni Keycloak.
|
|
# nginx demande ce mot de passe à l'entrée, Icinga Web 2 croit le nom que nginx lui passe.
|
|
# Inutile en mode `ldap` ou `external` : le rôle ne l'exige que dans le mode qui s'en sert.
|
|
vault_icingaweb2_admin: ""
|
|
|
|
# LA CONSOLE D'EXPLOITATION, QUAND ELLE S'AUTHENTIFIE SEULE.
|
|
#
|
|
# `serveur_ops_gui_auth: locale` — le repli d'un ecosysteme SANS annuaire (un SITE).
|
|
# Un ecosysteme qui a Keycloak reste en `oidc` et laisse cette cle VIDE : la console
|
|
# lance des deploiements et peut raser, un mot de passe partage devant ce pouvoir est un
|
|
# accident qui attend.
|
|
vault_setops_gui_admin: ""
|
|
|
|
|
|
# LE COMPTE DE METRIQUES DE POSTGRESQL — lecture seule, role `pg_monitor`.
|
|
#
|
|
# Il ne lit que les vues de statistiques : pas une ligne de donnee applicative. Faire
|
|
# tourner l'exportateur en `postgres` serait donner les cles de la base pour lire des
|
|
# compteurs.
|
|
#
|
|
# VIDE = PAS D'EXPORTATEUR DU TOUT. Le role ne le pose pas, ne cree pas le compte, et
|
|
# Prometheus ne derive aucune cible. Degrader, jamais deviner — et surtout jamais un mot
|
|
# de passe par defaut.
|
|
vault_pg_exportateur: ""
|