aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/kubernetes.go
diff options
context:
space:
mode:
authorGravatar Chris O'Haver <cohaver@infoblox.com> 2022-11-04 09:54:57 -0400
committerGravatar GitHub <noreply@github.com> 2022-11-04 09:54:57 -0400
commit47c99dc73b8b77fb2edda060f11780eb022e8bfa (patch)
treeb11ae400cfd2c036d2585ecce5a57de78a6f8b61 /plugin/kubernetes/kubernetes.go
parentead84e1fa8c618e5eef07d6bc5e9d20fc01e4ca7 (diff)
downloadcoredns-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.go4
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}, "/")