diff options
author | 2017-08-10 19:26:31 +0100 | |
---|---|---|
committer | 2017-08-10 19:26:31 +0100 | |
commit | 6cc3f47d466b7c6dda57d4fb8abb784dd278c495 (patch) | |
tree | c6d11c148fd91db91dab053226b6fff64daf4a5a /middleware/kubernetes/setup.go | |
parent | 3654361be26d79e9b4a25581deb0168228022585 (diff) | |
download | coredns-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.go | 11 |
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 |