aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/setup.go
diff options
context:
space:
mode:
authorGravatar Brad Beam <bradbeam@users.noreply.github.com> 2018-02-08 10:11:04 -0600
committerGravatar Miek Gieben <miek@miek.nl> 2018-02-08 16:11:04 +0000
commit6fd954f19c9b23ef549797bfea7940181dc9a705 (patch)
tree977ac2252db2fb155ed1c2dc6f7248707dfc1432 /plugin/kubernetes/setup.go
parent864f5023563fc15eb9c06cec98685d3ba657ba3c (diff)
downloadcoredns-6fd954f19c9b23ef549797bfea7940181dc9a705.tar.gz
coredns-6fd954f19c9b23ef549797bfea7940181dc9a705.tar.zst
coredns-6fd954f19c9b23ef549797bfea7940181dc9a705.zip
support for zone transfer for kubernetes (#1259)
* plugin/kubernetes: axfr Hook up dynamic SOA serial by setting ResourceEventHandlerFuncs in dnsController. Add prototype of returns msg.Services via the Transfer function. Leave expanding this to RRs out of scope for a bit. * plugin/kubernetes: axfr Respond to AXFR queries * Fixing race condition * Fixing instantiation of dnstest writer * Updates from review
Diffstat (limited to 'plugin/kubernetes/setup.go')
-rw-r--r--plugin/kubernetes/setup.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/plugin/kubernetes/setup.go b/plugin/kubernetes/setup.go
index e8fc484bf..f79724dee 100644
--- a/plugin/kubernetes/setup.go
+++ b/plugin/kubernetes/setup.go
@@ -10,6 +10,7 @@ import (
"github.com/coredns/coredns/core/dnsserver"
"github.com/coredns/coredns/plugin"
"github.com/coredns/coredns/plugin/pkg/dnsutil"
+ "github.com/coredns/coredns/plugin/pkg/parse"
"github.com/coredns/coredns/plugin/proxy"
"github.com/mholt/caddy"
@@ -197,6 +198,15 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, dnsControlOpts, error) {
return nil, opts, c.Errf("ttl must be in range [5, 3600]: %d", t)
}
k8s.ttl = uint32(t)
+ case "transfer":
+ tos, froms, err := parse.Transfer(c, false)
+ if err != nil {
+ return nil, opts, err
+ }
+ if len(froms) != 0 {
+ return nil, opts, c.Errf("transfer from is not supported with this plugin")
+ }
+ k8s.TransferTo = tos
default:
return nil, opts, c.Errf("unknown property '%s'", c.Val())
}