diff options
author | 2017-04-19 16:08:30 -0400 | |
---|---|---|
committer | 2017-04-19 16:08:30 -0400 | |
commit | 1c53d4130e83aecdbd06d40ed3daaf90e7e26a03 (patch) | |
tree | a9650c616ce63353388ad3fd35152fe904edef5f /middleware/kubernetes/handler.go | |
parent | 5a60090933a221467fdc2e18faa516c6c55be306 (diff) | |
download | coredns-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.go | 3 |
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{}) } |