in internal/util/k8s.go [55:82]
func ConnectToK8sCluster(kubeConfigPath string) (info *K8sClusterInfo, err error) {
config, err := clientcmd.BuildConfigFromFlags("", kubeConfigPath)
if err != nil {
return nil, err
}
c, err := kubernetes.NewForConfig(config)
if err != nil {
return nil, err
}
dc, err := dynamic.NewForConfig(config)
if err != nil {
return nil, err
}
kubeConfigYaml, err := os.ReadFile(kubeConfigPath)
if err != nil {
return nil, err
}
restConfig, err := clientcmd.RESTConfigFromKubeConfig(kubeConfigYaml)
if err != nil {
return nil, err
}
logger.Log.Info("connect to k8s cluster succeeded")
return &K8sClusterInfo{c, dc, restConfig, ""}, nil
}