From 760e66706381ada5c4a589650175d07e8aeb09f0 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Mon, 7 Aug 2017 07:09:32 -0700 Subject: middleware/kubernetes: autopath in sub package (#848) Put the autopath stuff in a separate sub package. Tests are still included in the main kubernetes directory. Next steps (after this is merged), is pulling the autopath handling into the subpackage and fixing the tests. --- middleware/kubernetes/kubernetes.go | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'middleware/kubernetes/kubernetes.go') diff --git a/middleware/kubernetes/kubernetes.go b/middleware/kubernetes/kubernetes.go index 3649eb02c..7c5f59f4f 100644 --- a/middleware/kubernetes/kubernetes.go +++ b/middleware/kubernetes/kubernetes.go @@ -11,6 +11,7 @@ import ( "github.com/coredns/coredns/middleware" "github.com/coredns/coredns/middleware/etcd/msg" + "github.com/coredns/coredns/middleware/kubernetes/autopath" "github.com/coredns/coredns/middleware/pkg/dnsutil" dnsstrings "github.com/coredns/coredns/middleware/pkg/strings" "github.com/coredns/coredns/middleware/proxy" @@ -45,17 +46,9 @@ type Kubernetes struct { PodMode string ReverseCidrs []net.IPNet Fallthrough bool - AutoPath - interfaceAddrsFunc func() net.IP -} -// AutoPath enables server side search path lookups for pods -type AutoPath struct { - Enabled bool - NDots int - ResolvConfFile string - HostSearchPath []string - OnNXDOMAIN int + autoPath *autopath.AutoPath + interfaceAddrsFunc func() net.IP } const ( @@ -259,7 +252,7 @@ func (k *Kubernetes) InitKubeCache() (err error) { } opts := dnsControlOpts{ - initPodCache: (k.PodMode == PodModeVerified || k.AutoPath.Enabled), + initPodCache: (k.PodMode == PodModeVerified || (k.autoPath != nil)), } k.APIConn = newdnsController(kubeClient, k.ResyncPeriod, k.Selector, opts) @@ -468,7 +461,7 @@ func (k *Kubernetes) getRecordsForK8sItems(services []service, pods []pod, r rec } func (k *Kubernetes) findPodWithIP(ip string) (p *api.Pod) { - if !k.AutoPath.Enabled { + if k.autoPath == nil { return nil } objList := k.APIConn.PodIndex(ip) -- cgit v1.2.3