diff options
Diffstat (limited to 'plugin/kubernetes/setup.go')
-rw-r--r-- | plugin/kubernetes/setup.go | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/plugin/kubernetes/setup.go b/plugin/kubernetes/setup.go index d8453cf51..89ec439fb 100644 --- a/plugin/kubernetes/setup.go +++ b/plugin/kubernetes/setup.go @@ -253,15 +253,18 @@ func ParseStanza(c *caddy.Controller) (*Kubernetes, error) { } case "kubeconfig": args := c.RemainingArgs() + if len(args) != 1 && len(args) != 2 { + return nil, c.ArgErr() + } + overrides := &clientcmd.ConfigOverrides{} if len(args) == 2 { - config := clientcmd.NewNonInteractiveDeferredLoadingClientConfig( - &clientcmd.ClientConfigLoadingRules{ExplicitPath: args[0]}, - &clientcmd.ConfigOverrides{CurrentContext: args[1]}, - ) - k8s.ClientConfig = config - continue + overrides.CurrentContext = args[1] } - return nil, c.ArgErr() + config := clientcmd.NewNonInteractiveDeferredLoadingClientConfig( + &clientcmd.ClientConfigLoadingRules{ExplicitPath: args[0]}, + overrides, + ) + k8s.ClientConfig = config default: return nil, c.Errf("unknown property '%s'", c.Val()) } |