package k8s import ( "bytes" yamlutil "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/client-go/kubernetes" "k8s.io/client-go/tools/clientcmd" ) func NewClient(kubeConfigPath string) (*kubernetes.Clientset, error) { // use the current admin kubeconfig config, err := clientcmd.BuildConfigFromFlags("", kubeConfigPath) if err != nil { return nil, err } K8sClientSet, err := kubernetes.NewForConfig(config) if err != nil { return nil, err } return K8sClientSet, nil } func decodeYamlResource(resource interface{}, yamlManifest string) error { decoder := yamlutil.NewYAMLToJSONDecoder(bytes.NewReader([]byte(yamlManifest))) return decoder.Decode(&resource) }