github.com/pachyderm/pachyderm@v1.13.4/src/client/pkg/config/kube_config.go (about) 1 package config 2 3 import ( 4 "github.com/pachyderm/pachyderm/src/client/pkg/errors" 5 "k8s.io/client-go/tools/clientcmd" 6 "k8s.io/client-go/tools/clientcmd/api" 7 ) 8 9 // KubeConfig gets the kubernetes config 10 func KubeConfig(context *Context) clientcmd.ClientConfig { 11 rules := clientcmd.NewDefaultClientConfigLoadingRules() 12 overrides := &clientcmd.ConfigOverrides{} 13 if context != nil { 14 overrides.Context = api.Context{ 15 LocationOfOrigin: "pachyderm", 16 Cluster: context.ClusterName, 17 AuthInfo: context.AuthInfo, 18 Namespace: context.Namespace, 19 } 20 } 21 22 return clientcmd.NewNonInteractiveDeferredLoadingClientConfig(rules, overrides) 23 } 24 25 // RawKubeConfig gets the "raw" kube config, e.g. without overrides 26 func RawKubeConfig() (api.Config, error) { 27 kubeConfig := KubeConfig(nil) 28 kubeRawConfig, err := kubeConfig.RawConfig() 29 if err != nil { 30 return api.Config{}, errors.Wrapf(err, "could not read raw kube config: %v", err) 31 } 32 return kubeRawConfig, nil 33 }