Funk-lab/ansible/roles/gateway
ALI YESILKAYA 5a4190faaa
feat(auth): Authentik en hub utilisateur public — SSO de bout en bout (#82)
L'entrée unique devient la page « My applications » d'Authentik
(kaya.freeboxos.fr:9081) : login → tuiles des apps autorisées → SSO
vers Guacamole (:9080). Plus de comptes locaux Guacamole.

- Services LoadBalancer dédiés (MetalLB .201 Authentik / .202 Guacamole) :
  le DNAT par port ne peut pas router par Host derrière Traefik :80
- gateway : DNAT 9081→.201:9000 et 9080→.202:8080 + rate-limit par VIP
- Guacamole : endpoints OIDC sur l'URL publique canonique (LAN inclus,
  hairpin Freebox) + retour au SSO direct (openid prioritaire)
- doc : section « Accès externe » réécrite (hub, chaîne, config provider)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:25:56 +02:00
..
handlers feat(postfix): relay SMTP Gmail + suppression règles Conan nftables 2026-05-17 16:46:42 +02:00
tasks feat: initial commit — Ansible roles storage-01/gpu-01 opérationnels 2026-05-12 17:17:03 +02:00
templates feat(auth): Authentik en hub utilisateur public — SSO de bout en bout (#82) 2026-07-07 11:25:56 +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

gateway

Fait de storage-01 le routeur/firewall du LAN cluster : nftables + NAT + IP forwarding. Remplace firewalld (stoppé et désactivé).

Ce que fait le rôle

  • Désactive firewalld, installe nftables
  • Active net.ipv4.ip_forward
  • Déploie /etc/nftables.conf depuis templates/nftables.conf.j2 (policy drop en input/forward)

Ports ouverts (template nftables.conf.j2)

Port Source Service
22 LAN maison + cluster SSH
53 udp/tcp, 67 udp LAN cluster dnsmasq (DNS + DHCP)
111, 2049 LAN cluster NFS
5432, 6333/6334, 9000/9001 LAN cluster PostgreSQL, Qdrant, MinIO
9100, 9093 cluster + pods 10.42/16 node_exporter, alertmanager-webhook
8080 maison + cluster + pods Hermes gateway
9119 hermes_dashboard_allowed_ip uniquement Dashboard Hermes
4000 maison + cluster + pods LiteLLM
25 cluster + pods Postfix relay
9095 cluster + pods hermes-auto-improve trigger

NAT : masquerade du LAN cluster vers le WAN.

Variables

Pas de defaults — utilise lan_interface, wan_interface (host_vars) et hermes_dashboard_allowed_ip (defaults du rôle hermes_agent).

Caveat

Tout nouveau service réseau doit ajouter son port ici (modifier le template puis --tags gateway). C'est la cause de plusieurs incidents passés (voir admin/incidents.md 2026-05-13, port monitoring bloqué).