coredns/Corefile
Ryan Malloy 10867ee319 coredns: docker compose stack with Vultr zone import
- Auto plugin loads zones-prepared/*.zone (regex zone-name extraction)
- scripts/prepare-zones.sh transforms raw Vultr exports:
  * synthesizes SOA (omitted by Vultr; CoreDNS requires it)
  * prepends @ to leading-TAB apex lines to disambiguate owner inheritance
  * dot-terminates NS/MX/CNAME rdata so $ORIGIN doesn't double-suffix
- DNS_PORT defaults to 1053 (5353=avahi, 53=libvirt dnsmasq on this host)
- Forwards non-authoritative queries to 1.1.1.1/1.0.0.1/9.9.9.9
- Makefile targets: prep, up, down, reload, test, logs
- 91 zones loaded
2026-05-12 01:51:09 -06:00

26 lines
605 B
Plaintext

. {
# Authoritative: load every <zone>.zone in /zones via the auto plugin.
# Filename pattern (.*)\.zone yields the zone name from the first group.
# CoreDNS reloads modified files every 30s.
auto {
directory /zones (.*)\.zone {1}
reload 30s
}
# Anything not authoritative falls through to upstream resolvers.
forward . 1.1.1.1 1.0.0.1 9.9.9.9 {
max_concurrent 1000
}
# In-memory cache (TTL clamp 30s for both pos/neg).
cache 30
# Operational plugins
health :8080
prometheus :9153
errors
log
loop
reload 10s
}