# 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
