mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-12 23:14:43 +02:00
- 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>
51 lines
1.6 KiB
Django/Jinja
51 lines
1.6 KiB
Django/Jinja
# Géré par Ansible — ne pas modifier manuellement
|
|
|
|
# Écoute sur le LAN cluster + tunnel WireGuard (DNS des clients VPN).
|
|
# bind-dynamic (et non bind-interfaces) : wg0 peut apparaître après le démarrage
|
|
interface={{ lan_interface }}
|
|
interface=wg0
|
|
bind-dynamic
|
|
|
|
# Domaine local
|
|
domain={{ dns_domain }}
|
|
local=/{{ dns_domain }}/
|
|
expand-hosts
|
|
|
|
# Ne pas lire /etc/resolv.conf pour les upstream
|
|
no-resolv
|
|
|
|
# Upstream DNS pour tout ce qui n'est pas lab.local
|
|
{% for server in dns_upstream %}
|
|
server={{ server }}
|
|
{% endfor %}
|
|
|
|
# Enregistrements statiques des machines du cluster
|
|
{% for host in dns_cluster_hosts %}
|
|
address=/{{ host.name }}.{{ dns_domain }}/{{ host.ip }}
|
|
address=/{{ host.name }}/{{ host.ip }}
|
|
{% endfor %}
|
|
|
|
# Wildcard *.lab.local → IP MetalLB Traefik (ingress)
|
|
address=/.{{ dns_domain }}/{{ traefik_ip }}
|
|
|
|
# Split-horizon : *.funklab.online résolu en interne vers Traefik (le LAN utilise
|
|
# les mêmes URLs publiques sans sortir sur Internet ; l'extérieur passe par le DNS
|
|
# OVH → IP publique → Freebox → s01). Ajouter ici chaque nouveau domaine public.
|
|
address=/{{ public_domain }}/{{ traefik_ip }}
|
|
|
|
# DHCP — plage dynamique pour le LAN cluster
|
|
dhcp-range={{ dhcp_range_start }},{{ dhcp_range_end }},{{ dhcp_lease_time }}
|
|
dhcp-option=option:dns-server,{{ lan_ip }}
|
|
dhcp-option=option:router,{{ lan_ip }}
|
|
|
|
# Baux statiques (MAC → IP fixe, ajoutés après récupération des MACs)
|
|
{% for host in dhcp_static_hosts %}
|
|
dhcp-host={{ host.mac }},{{ host.name }},{{ host.ip }}
|
|
{% endfor %}
|
|
|
|
# Cache
|
|
cache-size=1000
|
|
|
|
# Logs (désactiver en prod si trop verbeux)
|
|
log-queries
|
|
log-facility=/var/log/dnsmasq.log
|