diff options
Diffstat (limited to 'plugin/kubernetes/setup.go')
-rw-r--r-- | plugin/kubernetes/setup.go | 12 |
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()) } |