Funk-lab/ansible/roles/dnsmasq/templates/dnsmasq.conf.j2
alkatrazz c8a1faa632 feat: MetalLB + Traefik + wildcard DNS lab.local
- MetalLB pool 192.168.10.200-230 (L2 mode)
- Traefik LoadBalancer sur 192.168.10.200 (HTTP/HTTPS)
- dnsmasq wildcard *.lab.local → 192.168.10.200
- Fix Flannel CrashLoopBackOff : ClusterRoleBinding corrigée (kube-flannel → kube-system)
- Doc talos.md : procédure complète MetalLB + Traefik + pièges Flannel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 22:45:06 +02:00

44 lines
1.2 KiB
Django/Jinja

# Géré par Ansible — ne pas modifier manuellement
# Écoute uniquement sur le LAN cluster
interface={{ lan_interface }}
bind-interfaces
# 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 }}
# 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