aboutsummaryrefslogtreecommitdiff
path: root/middleware/kubernetes/handler.go
diff options
context:
space:
mode:
authorGravatar John Belamaric <jbelamaric@infoblox.com> 2017-04-19 16:08:30 -0400
committerGravatar GitHub <noreply@github.com> 2017-04-19 16:08:30 -0400
commit1c53d4130e83aecdbd06d40ed3daaf90e7e26a03 (patch)
treea9650c616ce63353388ad3fd35152fe904edef5f /middleware/kubernetes/handler.go
parent5a60090933a221467fdc2e18faa516c6c55be306 (diff)
downloadcoredns-1c53d4130e83aecdbd06d40ed3daaf90e7e26a03.tar.gz
coredns-1c53d4130e83aecdbd06d40ed3daaf90e7e26a03.tar.zst
coredns-1c53d4130e83aecdbd06d40ed3daaf90e7e26a03.zip
Add fallthrough support for Kubernetes (#626)
* Add fallthrough support for Kubernetes This enables registering other services in the same zone as Kubernetes services. This also re-orders the middleware chain so that Kubernetes comes before other types, in order to make this work out-of-the-box. * Remove extra line
Diffstat (limited to 'middleware/kubernetes/handler.go')
-rw-r--r--middleware/kubernetes/handler.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/middleware/kubernetes/handler.go b/middleware/kubernetes/handler.go
index 9dfc5c5a0..6eb637506 100644
--- a/middleware/kubernetes/handler.go
+++ b/middleware/kubernetes/handler.go
@@ -71,6 +71,9 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M
_, _, err = middleware.A(&k, zone, state, nil, middleware.Options{})
}
if k.IsNameError(err) {
+ if k.Fallthrough {
+ return middleware.NextOrFailure(k.Name(), k.Next, ctx, w, r)
+ }
// Make err nil when returning here, so we don't log spam for NXDOMAIN.
return middleware.BackendError(&k, zone, dns.RcodeNameError, state, nil /*debug*/, nil /* err */, middleware.Options{})
}