diff options
author | 2022-11-04 09:54:57 -0400 | |
---|---|---|
committer | 2022-11-04 09:54:57 -0400 | |
commit | 47c99dc73b8b77fb2edda060f11780eb022e8bfa (patch) | |
tree | b11ae400cfd2c036d2585ecce5a57de78a6f8b61 /plugin/kubernetes/kubernetes.go | |
parent | ead84e1fa8c618e5eef07d6bc5e9d20fc01e4ca7 (diff) | |
download | coredns-47c99dc73b8b77fb2edda060f11780eb022e8bfa.tar.gz coredns-47c99dc73b8b77fb2edda060f11780eb022e8bfa.tar.zst coredns-47c99dc73b8b77fb2edda060f11780eb022e8bfa.zip |
dont match external services when endpoint is specified (#5734)
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
Diffstat (limited to 'plugin/kubernetes/kubernetes.go')
-rw-r--r-- | plugin/kubernetes/kubernetes.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/plugin/kubernetes/kubernetes.go b/plugin/kubernetes/kubernetes.go index 10d8b7e90..ec0d5a4b1 100644 --- a/plugin/kubernetes/kubernetes.go +++ b/plugin/kubernetes/kubernetes.go @@ -517,6 +517,10 @@ func (k *Kubernetes) findServices(r recordRequest, zone string) (services []msg. // External service if svc.Type == api.ServiceTypeExternalName { + //External services cannot have endpoints, so skip this service if an endpoint is present in the request + if r.endpoint != "" { + continue + } s := msg.Service{Key: strings.Join([]string{zonePath, Svc, svc.Namespace, svc.Name}, "/"), Host: svc.ExternalName, TTL: k.ttl} if t, _ := s.HostType(); t == dns.TypeCNAME { s.Key = strings.Join([]string{zonePath, Svc, svc.Namespace, svc.Name}, "/") |