Skip to content

Commit

Permalink
fix: should find service account token secret
Browse files Browse the repository at this point in the history
  • Loading branch information
erikgb authored and maxgio92 committed Jun 12, 2023
1 parent a92a4e0 commit 89c0643
Showing 1 changed file with 4 additions and 21 deletions.
25 changes: 4 additions & 21 deletions pkg/utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,31 +47,14 @@ func BuildClientConfig() (*rest.Config, error) {
}

func GetServiceAccountTokenSecret(clientSet *kubernetes.Clientset, serviceAccountName string, namespace string) (*corev1.Secret, error) {
serviceAccount, err := clientSet.CoreV1().ServiceAccounts(namespace).Get(
context.Background(),
serviceAccountName,
metav1.GetOptions{},
)
secretList, err := clientSet.CoreV1().Secrets(namespace).List(context.Background(), metav1.ListOptions{})
if err != nil {
return nil, err
}

if len(serviceAccount.Secrets) < 1 {
return nil, fmt.Errorf("no secret found for the service account %s in namepsace %s", serviceAccount.Name, serviceAccount.Namespace)
}

for _, secret := range serviceAccount.Secrets {
saSecret, err := clientSet.CoreV1().Secrets(namespace).Get(
context.Background(),
secret.Name,
metav1.GetOptions{},
)
if err != nil {
continue
}

if saSecret.Type == corev1.SecretTypeServiceAccountToken {
return saSecret, nil
for _, secret := range secretList.Items {
if secret.Type == corev1.SecretTypeServiceAccountToken && secret.Annotations[corev1.ServiceAccountNameKey] == serviceAccountName {
return &secret, nil
}
}

Expand Down

0 comments on commit 89c0643

Please sign in to comment.