aboutsummaryrefslogtreecommitdiff
path: root/middleware/kubernetes/setup.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2017-08-10 19:26:31 +0100
committerGravatar GitHub <noreply@github.com> 2017-08-10 19:26:31 +0100
commit6cc3f47d466b7c6dda57d4fb8abb784dd278c495 (patch)
treec6d11c148fd91db91dab053226b6fff64daf4a5a /middleware/kubernetes/setup.go
parent3654361be26d79e9b4a25581deb0168228022585 (diff)
downloadcoredns-6cc3f47d466b7c6dda57d4fb8abb784dd278c495.tar.gz
coredns-6cc3f47d466b7c6dda57d4fb8abb784dd278c495.tar.zst
coredns-6cc3f47d466b7c6dda57d4fb8abb784dd278c495.zip
middleware/authpath: Fix return from k8s mw (#871)
* middleware/authpath: Fix return from k8s mw Return the correct search path from the kubernetes' AutoPath function. Based on preliminary discussion in #870 * PodWithIP can be private Fix and add docs to functions. * CR: remove the error from AutoPathFunc
Diffstat (limited to 'middleware/kubernetes/setup.go')
-rw-r--r--middleware/kubernetes/setup.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/middleware/kubernetes/setup.go b/middleware/kubernetes/setup.go
index b28e5df18..4c6ba1247 100644
--- a/middleware/kubernetes/setup.go
+++ b/middleware/kubernetes/setup.go
@@ -62,6 +62,8 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, error) {
Proxy: proxy.Proxy{},
}
+ k8s.autoPathSearch = searchFromResolvConf()
+
for c.Next() {
if c.Val() == "kubernetes" {
zones := c.RemainingArgs()
@@ -202,6 +204,15 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, error) {
return nil, errors.New("kubernetes setup called without keyword 'kubernetes' in Corefile")
}
+func searchFromResolvConf() []string {
+ rc, err := dns.ClientConfigFromFile("/etc/resolv.conf")
+ if err != nil {
+ return nil
+ }
+ middleware.Zones(rc.Search).Normalize()
+ return rc.Search
+}
+
const (
defaultResyncPeriod = 5 * time.Minute
defautNdots = 0