in kubernetes/metadata/metadata.go [177:202]
func getClusterInfoFromKubeConfigFile(kubeconfig string) (ClusterInfo, error) {
if kubeconfig == "" {
kubeconfig = kubernetes.GetKubeConfigEnvironmentVariable()
}
if kubeconfig == "" {
return ClusterInfo{}, fmt.Errorf("unable to get cluster identifiers from kube_config from env")
}
cfg, err := kubernetes.BuildConfig(kubeconfig)
if err != nil {
return ClusterInfo{}, fmt.Errorf("unable to build kube config due to error: %w", err)
}
kubeCfg, err := clientcmd.LoadFromFile(kubeconfig)
if err != nil {
return ClusterInfo{}, fmt.Errorf("unable to load kube_config due to error: %w", err)
}
for key, element := range kubeCfg.Clusters {
if element.Server == cfg.Host {
return ClusterInfo{element.Server, key}, nil
}
}
return ClusterInfo{}, fmt.Errorf("unable to get cluster identifiers from kube_config")
}