mirror of
https://github.com/coredns/coredns.git
synced 2025-10-27 08:14:18 -04:00
* Implement notifies for transfer plugin (#3972) * Fix notifies in transfer plugin Signed-off-by: Miek Gieben <miek@miek.nl> * Make it compile Signed-off-by: Miek Gieben <miek@miek.nl> * Port more plugins Signed-off-by: Miek Gieben <miek@miek.nl> * golint Signed-off-by: Miek Gieben <miek@miek.nl> * Fix tests Signed-off-by: Miek Gieben <miek@miek.nl> * Fix notifies in transfer plugin Signed-off-by: Miek Gieben <miek@miek.nl> * Make it compile Signed-off-by: Miek Gieben <miek@miek.nl> * Port more plugins Signed-off-by: Miek Gieben <miek@miek.nl> * golint Signed-off-by: Miek Gieben <miek@miek.nl> * Fix tests Signed-off-by: Miek Gieben <miek@miek.nl> * Fix tests Signed-off-by: Miek Gieben <miek@miek.nl> * really fix test Signed-off-by: Miek Gieben <miek@miek.nl> * Implement ixfr fallback and unify file and auto for transfering Signed-off-by: Miek Gieben <miek@miek.nl> * Add transfer tests copied and modified from #3452 Signed-off-by: Miek Gieben <miek@miek.nl> * Test correct selection of plugin Signed-off-by: Miek Gieben <miek@miek.nl> * add upstream back in Signed-off-by: Miek Gieben <miek@miek.nl> * Implement ixfr fallback and unify file and auto for transfering Signed-off-by: Miek Gieben <miek@miek.nl> * fix test Signed-off-by: Miek Gieben <miek@miek.nl> * properly merge Signed-off-by: Miek Gieben <miek@miek.nl> * Remove plugin/kubernetes/setup_transfer_test.go Signed-off-by: Yong Tang <yong.tang.github@outlook.com> Co-authored-by: Miek Gieben <miek@miek.nl>
70 lines
1.6 KiB
Markdown
70 lines
1.6 KiB
Markdown
# secondary
|
|
|
|
## Name
|
|
|
|
*secondary* - enables serving a zone retrieved from a primary server.
|
|
|
|
## Description
|
|
|
|
With *secondary* you can transfer (via AXFR) a zone from another server. The retrieved zone is
|
|
*not committed* to disk (a violation of the RFC). This means restarting CoreDNS will cause it to
|
|
retrieve all secondary zones.
|
|
|
|
## Syntax
|
|
|
|
~~~
|
|
secondary [ZONES...]
|
|
~~~
|
|
|
|
* **ZONES** zones it should be authoritative for. If empty, the zones from the configuration block
|
|
are used. Note that without a remote address to *get* the zone from, the above is not that useful.
|
|
|
|
A working syntax would be:
|
|
|
|
~~~
|
|
secondary [zones...] {
|
|
transfer from ADDRESS
|
|
}
|
|
~~~
|
|
|
|
* `transfer from` specifies from which address to fetch the zone. It can be specified multiple times;
|
|
if one does not work, another will be tried. Transfering this zone outwards again can be done by
|
|
enableing the *transfer* plugin.
|
|
|
|
When a zone is due to be refreshed (Refresh timer fires) a random jitter of 5 seconds is
|
|
applied, before fetching. In the case of retry this will be 2 seconds. If there are any errors
|
|
during the transfer in, the transfer fails; this will be logged.
|
|
|
|
## Examples
|
|
|
|
Transfer `example.org` from 10.0.1.1, and if that fails try 10.1.2.1.
|
|
|
|
~~~ corefile
|
|
example.org {
|
|
secondary {
|
|
transfer from 10.0.1.1 10.1.2.1
|
|
}
|
|
}
|
|
~~~
|
|
|
|
Or re-export the retrieved zone to other secondaries.
|
|
|
|
~~~ corefile
|
|
example.net {
|
|
secondary {
|
|
transfer from 10.1.2.1
|
|
}
|
|
transfer {
|
|
to *
|
|
}
|
|
}
|
|
~~~
|
|
|
|
## Bugs
|
|
|
|
Only AXFR is supported and the retrieved zone is not committed to disk.
|
|
|
|
## Also See
|
|
|
|
See the *transfer* plugin to enable zone transfers _to_ other servers.
|