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  }