func NewKubernetesInterface()

in pkg/k8s/k8s.go [34:58]


func NewKubernetesInterface(kubeConfigPath, name string) (*ClientSet, error) {
	k := &ClientSet{Name: name}

	config, err := rest.InClusterConfig() // Assume run in a Pod or an environment with appropriate env variables set.
	if err != nil {
		config, err = clientcmd.BuildConfigFromFlags("", kubeConfigPath)
		if err != nil {
			return nil, err
		}
		k.InPod = false
		k.Namespace = peerdDefaultNamespace
	} else {
		k.InPod = true
		k.Namespace = getPodNamespace()
	}

	clientset, err := kubernetes.NewForConfig(config)
	if err != nil {
		return nil, err
	}

	k.Interface = clientset

	return k, nil
}