Funk-lab/ansible/roles/postgresql
alkatrazz edf4a6294d feat(auth): annuaire Authentik + portail consoles Guacamole
- k8s/apps/authentik : IdP OIDC (auth.lab.local), namespace auth —
  server + worker 2026.5.3, Redis in-cluster, PG sur storage-01, PVC media
- k8s/apps/guacamole : portail consoles SSH web s01/g01 (portail.lab.local) —
  guacd + webapp 1.6.0, SSO OIDC vers Authentik, Job initdb idempotent
- ansible : rôle console_user (user sans sudo pour les consoles, s01 + g01),
  bases PG authentik/guacamole, secrets vault (mdp PG + clé SSH console)
- doc : admin/k8s/auth-portal.md (déploiement, config initiale, pièges)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 21:19:23 +02:00
..
defaults feat(auth): annuaire Authentik + portail consoles Guacamole 2026-07-06 21:19:23 +02:00
handlers feat: initial commit — Ansible roles storage-01/gpu-01 opérationnels 2026-05-12 17:17:03 +02:00
tasks fix(k8s/open-webui): memory 1Gi→2Gi (OOMKill HuggingFace download au boot) 2026-05-29 15:42:54 +02:00
templates feat: initial commit — Ansible roles storage-01/gpu-01 opérationnels 2026-05-12 17:17:03 +02:00
README.md docs(ansible): README par rôle (19) + gaps IaC découverts à l'audit 2026-06-10 15:21:24 +02:00

postgresql

PostgreSQL 16 sur storage-01 — persistance de Hermes, LiteLLM, n8n, Open WebUI (et Grafana).

Ce que fait le rôle

  • Repo PGDG + désactivation du module AppStream
  • PGDATA déplacé vers /srv/data/postgres (override systemd)
  • Init du cluster si absent, pg_hba.conf, listen_addresses, port, shared_buffers
  • Crée bases + users + privilèges (dont GRANT ON SCHEMA public requis en PG 15+)

Variables principales

Variable Défaut
postgresql_version 16
postgresql_data_dir /srv/data/postgres
postgresql_listen_addresses localhost, 192.168.10.1 (pods k8s via LAN)
postgresql_databases / postgresql_users hermes, litellm, openwebui, n8n

Mots de passe dans le vault : vault_pg_hermes_password, vault_pg_litellm_password, vault_pg_openwebui_password, vault_pg_n8n_password.

Caveat

  • Les tasks de Grant utilisent no_log — en cas d'échec, relancer avec -vvv après avoir temporairement retiré no_log
  • Les pods k8s (n8n, openwebui, grafana) se connectent via 192.168.10.1:5432 — port ouvert dans nftables (rôle gateway)