mirror of https://github.com/docker/cli.git
25 lines
649 B
Go
25 lines
649 B
Go
package kubernetes
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/docker/docker/pkg/homedir"
|
|
restclient "k8s.io/client-go/rest"
|
|
"k8s.io/client-go/tools/clientcmd"
|
|
)
|
|
|
|
// NewKubernetesConfig resolves the path to the desired Kubernetes configuration file, depending
|
|
// environment variable and command line flag.
|
|
func NewKubernetesConfig(configFlag string) (*restclient.Config, error) {
|
|
kubeConfig := configFlag
|
|
if kubeConfig == "" {
|
|
if config := os.Getenv("KUBECONFIG"); config != "" {
|
|
kubeConfig = config
|
|
} else {
|
|
kubeConfig = filepath.Join(homedir.Get(), ".kube/config")
|
|
}
|
|
}
|
|
return clientcmd.BuildConfigFromFlags("", kubeConfig)
|
|
}
|