diff options
author | 2017-08-03 09:03:53 -0700 | |
---|---|---|
committer | 2017-08-03 09:03:53 -0700 | |
commit | cd1f2f1bbf0a967bc41560f6da41e8cc383eaf7e (patch) | |
tree | 4393cf1544cb323e1aba853404834727a4417876 /middleware/kubernetes/kubernetes.go | |
parent | 2410f5b3f4dbc223ed0da7ce05b00da9f1536622 (diff) | |
download | coredns-cd1f2f1bbf0a967bc41560f6da41e8cc383eaf7e.tar.gz coredns-cd1f2f1bbf0a967bc41560f6da41e8cc383eaf7e.tar.zst coredns-cd1f2f1bbf0a967bc41560f6da41e8cc383eaf7e.zip |
mw/kubernete: small cleanup (#810)
* mw/kubernete: small cleanup
Small cleanup, avoid pointer to []msg.Services and just returns the
msg.Service.
* Actually compile
* testss
Diffstat (limited to 'middleware/kubernetes/kubernetes.go')
-rw-r--r-- | middleware/kubernetes/kubernetes.go | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/middleware/kubernetes/kubernetes.go b/middleware/kubernetes/kubernetes.go index 6b55329d5..58d3656ae 100644 --- a/middleware/kubernetes/kubernetes.go +++ b/middleware/kubernetes/kubernetes.go @@ -100,13 +100,15 @@ type recordRequest struct { var localPodIP net.IP -var errNoItems = errors.New("no items found") -var errNsNotExposed = errors.New("namespace is not exposed") -var errInvalidRequest = errors.New("invalid query name") -var errZoneNotFound = errors.New("zone not found") -var errAPIBadPodType = errors.New("expected type *api.Pod") -var errPodsDisabled = errors.New("pod records disabled") -var errResolvConfReadErr = errors.New("resolv.conf read error") +var ( + errNoItems = errors.New("no items found") + errNsNotExposed = errors.New("namespace is not exposed") + errInvalidRequest = errors.New("invalid query name") + errZoneNotFound = errors.New("zone not found") + errAPIBadPodType = errors.New("expected type *api.Pod") + errPodsDisabled = errors.New("pod records disabled") + errResolvConfReadErr = errors.New("resolv.conf read error") +) // Services implements the ServiceBackend interface. func (k *Kubernetes) Services(state request.Request, exact bool, opt middleware.Options) (svcs []msg.Service, debug []msg.Service, err error) { @@ -139,26 +141,28 @@ func (k *Kubernetes) Services(state request.Request, exact bool, opt middleware. } return noext, nil, e case "TXT": - err := k.recordsForTXT(r, &svcs) + if r.typeName == "dns-version" { + srv := k.recordsForTXT(r) + svcs = append(svcs, srv) + } return svcs, nil, err case "NS": - err = k.recordsForNS(r, &svcs) + srv := k.recordsForNS(r) + svcs = append(svcs, srv) return svcs, nil, err } return nil, nil, nil } -func (k *Kubernetes) recordsForTXT(r recordRequest, svcs *[]msg.Service) (err error) { - switch r.typeName { - case "dns-version": - s := msg.Service{ - Text: DNSSchemaVersion, - TTL: 28800, - Key: msg.Path(strings.Join([]string{r.typeName, r.zone}, "."), "coredns")} - *svcs = append(*svcs, s) - return nil - } - return nil +func (k *Kubernetes) recordsForTXT(r recordRequest) msg.Service { + return msg.Service{Text: DNSSchemaVersion, TTL: 28800, + Key: msg.Path(strings.Join([]string{r.typeName, r.zone}, "."), "coredns")} +} + +func (k *Kubernetes) recordsForNS(r recordRequest) msg.Service { + ns := k.coreDNSRecord() + return msg.Service{Host: ns.A.String(), + Key: msg.Path(strings.Join([]string{ns.Hdr.Name, r.zone}, "."), "coredns")} } // PrimaryZone will return the first non-reverse zone being handled by this middleware |