aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/setup.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/kubernetes/setup.go')
-rw-r--r--plugin/kubernetes/setup.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/plugin/kubernetes/setup.go b/plugin/kubernetes/setup.go
index 9e2129f6a..abfd8193f 100644
--- a/plugin/kubernetes/setup.go
+++ b/plugin/kubernetes/setup.go
@@ -19,6 +19,7 @@ import (
"github.com/mholt/caddy"
"github.com/miekg/dns"
meta "k8s.io/apimachinery/pkg/apis/meta/v1"
+ "k8s.io/client-go/tools/clientcmd"
)
var log = clog.NewWithPlugin("kubernetes")
@@ -261,6 +262,17 @@ func ParseStanza(c *caddy.Controller) (*Kubernetes, error) {
return nil, fmt.Errorf("unable to parse ignore value: '%v'", ignore)
}
}
+ case "kubeconfig":
+ args := c.RemainingArgs()
+ if len(args) == 2 {
+ config := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
+ &clientcmd.ClientConfigLoadingRules{ExplicitPath: args[0]},
+ &clientcmd.ConfigOverrides{CurrentContext: args[1]},
+ )
+ k8s.ClientConfig = config
+ continue
+ }
+ return nil, c.ArgErr()
default:
return nil, c.Errf("unknown property '%s'", c.Val())
}