Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

don't try to recreate pull secrets for refreshing gcp-auth #11945

Merged
merged 8 commits into from Jul 28, 2021
50 changes: 34 additions & 16 deletions pkg/addons/addons_gcpauth.go
Expand Up @@ -139,18 +139,20 @@ func createPullSecret(cc *config.ClusterConfig, creds *google.Credentials) error
secrets := client.Secrets(n.Name)

exists := false
secList, err := secrets.List(context.TODO(), metav1.ListOptions{})
if err != nil {
return err
}
for _, s := range secList.Items {
if s.Name == secretName {
exists = true
break
if !Refresh {
secList, err := secrets.List(context.TODO(), metav1.ListOptions{})
if err != nil {
return err
}
for _, s := range secList.Items {
if s.Name == secretName {
exists = true
break
}
}
}

if !exists {
if !exists || Refresh {
secretObj := &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: secretName,
Expand All @@ -159,9 +161,16 @@ func createPullSecret(cc *config.ClusterConfig, creds *google.Credentials) error
Type: "kubernetes.io/dockercfg",
}

_, err = secrets.Create(context.TODO(), secretObj, metav1.CreateOptions{})
if err != nil {
return err
if exists && Refresh {
_, err := secrets.Update(context.TODO(), secretObj, metav1.UpdateOptions{})
if err != nil {
return err
}
} else {
_, err = secrets.Create(context.TODO(), secretObj, metav1.CreateOptions{})
if err != nil {
return err
}
}
}

Expand All @@ -183,10 +192,19 @@ func createPullSecret(cc *config.ClusterConfig, creds *google.Credentials) error

ips := corev1.LocalObjectReference{Name: secretName}
for _, sa := range salist.Items {
sa.ImagePullSecrets = append(sa.ImagePullSecrets, ips)
_, err := serviceaccounts.Update(context.TODO(), &sa, metav1.UpdateOptions{})
if err != nil {
return err
add := true
for _, ps := range sa.ImagePullSecrets {
if ps.Name == secretName {
add = false
break
}
}
if add {
sa.ImagePullSecrets = append(sa.ImagePullSecrets, ips)
_, err := serviceaccounts.Update(context.TODO(), &sa, metav1.UpdateOptions{})
if err != nil {
return err
}
}
}

Expand Down