util: support load Colon-separated KUBECONFIG

Signed-off-by: Morlay <morlay.null@gmail.com>
pull/761/head
Morlay 3 years ago
parent 6cf9fa8261
commit c83812144c

@ -246,14 +246,15 @@ func driversForNodeGroup(ctx context.Context, dockerCli command.Cli, ng *store.N
func configFromContext(endpointName string, s ctxstore.Reader) (clientcmd.ClientConfig, error) { func configFromContext(endpointName string, s ctxstore.Reader) (clientcmd.ClientConfig, error) {
if strings.HasPrefix(endpointName, "kubernetes://") { if strings.HasPrefix(endpointName, "kubernetes://") {
u, _ := url.Parse(endpointName) u, _ := url.Parse(endpointName)
if kubeconfig := u.Query().Get("kubeconfig"); kubeconfig != "" { if kubeconfig := u.Query().Get("kubeconfig"); kubeconfig != "" {
clientConfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig( _ = os.Setenv(clientcmd.RecommendedConfigPathEnvVar, kubeconfig)
&clientcmd.ClientConfigLoadingRules{ExplicitPath: kubeconfig}, }
&clientcmd.ConfigOverrides{}, rules := clientcmd.NewDefaultClientConfigLoadingRules()
) apiConfig, err := rules.Load()
return clientConfig, nil if err != nil {
return nil, err
} }
return clientcmd.NewDefaultClientConfig(*apiConfig, &clientcmd.ConfigOverrides{}), nil
} }
return kubernetes.ConfigFromContext(endpointName, s) return kubernetes.ConfigFromContext(endpointName, s)
} }

Loading…
Cancel
Save