Funk-lab/ansible/roles/gateway
ALI YESILKAYA cd0dacbc9a
feat(infra): domaine public funklab.online + HTTPS Let's Encrypt (fondation) (#88)
- traefik : values.yaml versionné (réplique existant + certResolver ACME
  HTTP-01 + acme.json persistant) — appliqué par helm upgrade (hors ArgoCD).
  Redirect HTTP→HTTPS scopée funklab.online (ne casse pas *.lab.local).
- gateway : DNAT 80/443 → Traefik + rate-limit
- dnsmasq : split-horizon *.funklab.online → Traefik (var public_domain)
- doc : admin/k8s/public-domain.md (archi, OVH/Freebox, helm, ajout d'app)

Appliqué et vérifié : helm upgrade OK (services *.lab.local intacts),
resolver ACME chargé, DNAT/dnsmasq en place. En attente DNS OVH + Freebox
pour l'émission des certificats.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 15:59:26 +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(infra): domaine public funklab.online + HTTPS Let's Encrypt (fondation) (#88) 2026-07-07 15:59:26 +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é).