aboutsummaryrefslogtreecommitdiff
path: root/middleware/kubernetes/setup.go
diff options
context:
space:
mode:
authorGravatar Chris O'Haver <chrisohaver@gmail.com> 2016-09-23 18:07:06 -0400
committerGravatar Miek Gieben <miek@miek.nl> 2016-09-23 23:07:06 +0100
commit15297c8e637927500902e848ac73bd510cd4c49e (patch)
tree4efd9c10e84a255821ddf09bb65c1f2839ab59d0 /middleware/kubernetes/setup.go
parentb9cf32f7a9e02492927263f3f7f1281ffc112255 (diff)
downloadcoredns-15297c8e637927500902e848ac73bd510cd4c49e.tar.gz
coredns-15297c8e637927500902e848ac73bd510cd4c49e.tar.zst
coredns-15297c8e637927500902e848ac73bd510cd4c49e.zip
Add TLS support for k8s middleware (#289)
* Added TLS to k8s client Added options for TLS kubernetes client connection. * Fix k8s TLS config option parsing Brings config option parsing for kubernetes TLS in line with recent changes. * Put TLS config on one line Put kubernetes tls config on one line to match style established in etcd tls config. * Add tls option to README
Diffstat (limited to 'middleware/kubernetes/setup.go')
-rw-r--r--middleware/kubernetes/setup.go17
1 files changed, 12 insertions, 5 deletions
diff --git a/middleware/kubernetes/setup.go b/middleware/kubernetes/setup.go
index 51af9ac9d..7b5912dd6 100644
--- a/middleware/kubernetes/setup.go
+++ b/middleware/kubernetes/setup.go
@@ -75,7 +75,7 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, error) {
switch c.Val() {
case "template":
args := c.RemainingArgs()
- if len(args) != 0 {
+ if len(args) > 0 {
template := strings.Join(args, "")
err := k8s.NameTemplate.SetTemplate(template)
if err != nil {
@@ -86,21 +86,28 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, error) {
return nil, c.ArgErr()
case "namespaces":
args := c.RemainingArgs()
- if len(args) != 0 {
+ if len(args) > 0 {
k8s.Namespaces = append(k8s.Namespaces, args...)
continue
}
return nil, c.ArgErr()
case "endpoint":
args := c.RemainingArgs()
- if len(args) != 0 {
+ if len(args) > 0 {
k8s.APIEndpoint = args[0]
continue
}
return nil, c.ArgErr()
+ case "tls": // cert key cacertfile
+ args := c.RemainingArgs()
+ if len(args) == 3 {
+ k8s.APIClientCert, k8s.APIClientKey, k8s.APICertAuth = args[0], args[1], args[2]
+ continue
+ }
+ return nil, c.ArgErr()
case "resyncperiod":
args := c.RemainingArgs()
- if len(args) != 0 {
+ if len(args) > 0 {
rp, err := time.ParseDuration(args[0])
if err != nil {
return nil, fmt.Errorf("Unable to parse resync duration value. Value provided was '%v'. Example valid values: '15s', '5m', '1h'. Error was: %v", args[0], err)
@@ -111,7 +118,7 @@ func kubernetesParse(c *caddy.Controller) (*Kubernetes, error) {
return nil, c.ArgErr()
case "labels":
args := c.RemainingArgs()
- if len(args) != 0 {
+ if len(args) > 0 {
labelSelectorString := strings.Join(args, " ")
ls, err := unversionedapi.ParseToLabelSelector(labelSelectorString)
if err != nil {