fix: remove file reload 30s from CoreDNS zone blocks
Unit Tests / test (push) Successful in 7m29s

CoreDNS 1.14.3 returns REFUSED for all zones that use
'file /data/zone reload 30s' — the reload timer defers the
initial zone load, causing the plugin to return REFUSED until
the timer fires. The timer never resolves this correctly.

Zone updates are already triggered by SIGUSR1 sent from
_reload_dns_service() after every zone file write, which
causes CoreDNS to reinitialise all plugins and re-read zone
files. No periodic zone polling is needed.

Also update config/dns/Corefile to remove the stale reload 30s.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-07 04:33:19 -04:00
parent 9b5c2e1994
commit 0507445d86
+2 -2
View File
@@ -739,7 +739,7 @@ def generate_corefile(peers: List[Dict[str, Any]], corefile_path: str = COREFILE
acl_block = _build_acl_block(blocked, domain) acl_block = _build_acl_block(blocked, domain)
primary_zone_block = f'{domain} {{\n file /data/{domain}.zone reload 30s\n log\n' primary_zone_block = f'{domain} {{\n file /data/{domain}.zone\n log\n'
if acl_block: if acl_block:
primary_zone_block += acl_block + '\n' primary_zone_block += acl_block + '\n'
primary_zone_block += '}\n' primary_zone_block += '}\n'
@@ -760,7 +760,7 @@ def generate_corefile(peers: List[Dict[str, Any]], corefile_path: str = COREFILE
for sz in split_horizon_zones: for sz in split_horizon_zones:
corefile += ( corefile += (
f'\n{sz} {{\n' f'\n{sz} {{\n'
f' file /data/{sz}.zone reload 30s\n' f' file /data/{sz}.zone\n'
f' log\n' f' log\n'
f'}}\n' f'}}\n'
) )