aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/handler.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/handler.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/handler.go')
-rw-r--r--plugin/kubernetes/handler.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/plugin/kubernetes/handler.go b/plugin/kubernetes/handler.go
index e02608a6b..5c9ccba34 100644
--- a/plugin/kubernetes/handler.go
+++ b/plugin/kubernetes/handler.go
@@ -53,6 +53,8 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M
break
}
fallthrough
+ case dns.TypeAXFR, dns.TypeIXFR:
+ k.Transfer(ctx, state)
default:
// Do a fake A lookup, so we can distinguish between NODATA and NXDOMAIN
_, err = plugin.A(&k, zone, state, nil, plugin.Options{})
@@ -76,6 +78,7 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M
m.Extra = append(m.Extra, extra...)
m = dnsutil.Dedup(m)
+
state.SizeAndDo(m)
m, _ = state.Scrub(m)
w.WriteMsg(m)