func (k *KConf) AddContext(name string, context *clientcmdapi.Context) string {
	if k.hasContext(context) {
		return ""
	}
	name, _ = k.rename(name, "context")
	k.Config.Contexts[name] = context
	return name
}
AddContext attempts to add a Context and return the resulting name
package kubeconfig
import (
	"fmt"
	"os"
	"path"
	"reflect"
	clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
)
type Configurable interface {
	AddContext() bool
	AddCluster() bool
	AddUser() bool
	hasContext() bool
	hasCluster() bool
	hasUser() bool
	rename() string
}
type KConf struct {
	clientcmdapi.Config
}
var MainConfigPath string
func init() {
	MainConfigPath = path.Join(os.Getenv("HOME"), ".kube", "config")
}