in ecrtokenrefresher/pkg/secrets/common/common.go [57:93]
func GetRemoteClientSets(defaultClientset *kubernetes.Clientset) (secrets.ClusterClientSet, error) {
clusterNames, err := getClusterNameFromNamespaces(defaultClientset)
if err != nil {
return nil, err
}
remoteClientSets := make(secrets.ClusterClientSet)
for _, clusterName := range clusterNames {
secretName := clusterName + "-kubeconfig"
kubeconfigSecret, err := k8s.GetSecret(defaultClientset, secretName, constants.EksaSystemNamespace)
if err != nil {
return nil, err
}
kubeconfig := kubeconfigSecret.Data["value"]
if len(kubeconfig) <= 0 {
return nil, fmt.Errorf("kubeconfig string in secret not set")
}
clientConfig, err := clientcmd.NewClientConfigFromBytes(kubeconfig)
if err != nil {
return nil, fmt.Errorf("creating client config: %s", err)
}
config, err := clientConfig.ClientConfig()
if err != nil {
return nil, fmt.Errorf("creating rest config config: %s", err)
}
remoteClientSet, err := kubernetes.NewForConfig(config)
if err != nil {
return nil, err
}
remoteClientSets[clusterName] = remoteClientSet
}
return remoteClientSets, nil
}