mirror of https://github.com/docker/cli.git
27 lines
723 B
Go
27 lines
723 B
Go
|
package apis
|
||
|
|
||
|
import (
|
||
|
"os"
|
||
|
"path/filepath"
|
||
|
|
||
|
"github.com/docker/docker/pkg/homedir"
|
||
|
"k8s.io/client-go/tools/clientcmd"
|
||
|
)
|
||
|
|
||
|
// NewKubernetesConfig resolves the path to the desired Kubernetes configuration file based on
|
||
|
// the KUBECONFIG environment variable and command line flags.
|
||
|
func NewKubernetesConfig(configPath string) clientcmd.ClientConfig {
|
||
|
kubeConfig := configPath
|
||
|
if kubeConfig == "" {
|
||
|
if config := os.Getenv("KUBECONFIG"); config != "" {
|
||
|
kubeConfig = config
|
||
|
} else {
|
||
|
kubeConfig = filepath.Join(homedir.Get(), ".kube/config")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
|
||
|
&clientcmd.ClientConfigLoadingRules{ExplicitPath: kubeConfig},
|
||
|
&clientcmd.ConfigOverrides{})
|
||
|
}
|