mirror of
https://github.com/coredns/coredns.git
synced 2025-11-02 02:03:13 -05:00
Cache the size and the do bit whenever someone asked for it. We can probably add more: PASS BenchmarkStateDo-4 100000000 11.9 ns/op BenchmarkStateSize-4 5000000 265 ns/op ok github.com/miekg/coredns/middleware 2.828s PASS BenchmarkStateDo-4 1000000000 2.86 ns/op BenchmarkStateSize-4 500000000 3.10 ns/op ok github.com/miekg/coredns/middleware 5.032s This PR also includes some testing cleanups as well.
file
file enables serving zone data from a RFC-1035 styled file.
The file middleware is used for "old-style" DNS server. It serves from a preloaded file that exists on disk.
Syntax
file dbfile [zones...]
dbfilethe database file to read and parse.zoneszones it should be authoritative for. If empty the zones from the configuration block are used.
If you want to round robin A and AAAA responses look at the loadbalance middleware.
TSIG key configuration is TODO; directive format for transfer will probably be extended with
TSIG key information, something like transfer out [address] key [name] [base64]
file dbfile [zones... ] {
transfer out [address...]
transfer to [address]
}
transferenables zone transfers. It may be specified multiples times. To or from signals the direction. Address must be denoted in CIDR notation (127.0.0.1/32 etc.). The special wildcard "*" means: the entire internet.
Examples
Load the miek.nl zone from miek.nl.signed and allow transfers to the internet.
file miek.nl.signed miek.nl {
transfer to *
}