aboutsummaryrefslogtreecommitdiff
path: root/middleware/kubernetes/kubernetes.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-08-07 07:09:32 -0700
committerGravatar GitHub <noreply@github.com> 2017-08-07 07:09:32 -0700
commit760e66706381ada5c4a589650175d07e8aeb09f0 (patch)
treece0472143c20801a3637fa1ae774b4a8d1e2bb91 /middleware/kubernetes/kubernetes.go
parent050eccd69e2381fa865b5c527618111ab7c7d21d (diff)
downloadcoredns-760e66706381ada5c4a589650175d07e8aeb09f0.tar.gz
coredns-760e66706381ada5c4a589650175d07e8aeb09f0.tar.zst
coredns-760e66706381ada5c4a589650175d07e8aeb09f0.zip
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.
Diffstat (limited to 'middleware/kubernetes/kubernetes.go')
-rw-r--r--middleware/kubernetes/kubernetes.go17
1 files changed, 5 insertions, 12 deletions
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)