Skip to content

Commit a8d403a

Browse files
Alevskdvaldivia
andauthored
fix bug for tenant image pull credentials (#271)
Co-authored-by: Daniel Valdivia <hola@danielvaldivia.com>
1 parent 7bd898b commit a8d403a

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

restapi/admin_tenants.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -792,24 +792,23 @@ func setImageRegistry(ctx context.Context, tenantName string, req *models.ImageR
792792
}
793793

794794
pullSecretName := fmt.Sprintf("%s-regcred", tenantName)
795-
796-
instanceSecret := corev1.Secret{
797-
ObjectMeta: metav1.ObjectMeta{
798-
Name: pullSecretName,
799-
Labels: map[string]string{
800-
operator.TenantLabel: tenantName,
801-
},
802-
},
803-
Data: map[string][]byte{
804-
corev1.DockerConfigJsonKey: []byte(string(imRegistryJSON)),
805-
},
806-
Type: corev1.SecretTypeDockerConfigJson,
795+
secretCredentials := map[string][]byte{
796+
corev1.DockerConfigJsonKey: []byte(string(imRegistryJSON)),
807797
}
808-
809798
// Get or Create secret if it doesn't exist
810-
_, err = clientset.Secrets(namespace).Get(ctx, pullSecretName, metav1.GetOptions{})
799+
currentSecret, err := clientset.Secrets(namespace).Get(ctx, pullSecretName, metav1.GetOptions{})
811800
if err != nil {
812801
if k8sErrors.IsNotFound(err) {
802+
instanceSecret := corev1.Secret{
803+
ObjectMeta: metav1.ObjectMeta{
804+
Name: pullSecretName,
805+
Labels: map[string]string{
806+
operator.TenantLabel: tenantName,
807+
},
808+
},
809+
Data: secretCredentials,
810+
Type: corev1.SecretTypeDockerConfigJson,
811+
}
813812
_, err = clientset.Secrets(namespace).Create(ctx, &instanceSecret, metav1.CreateOptions{})
814813
if err != nil {
815814
return "", err
@@ -818,7 +817,8 @@ func setImageRegistry(ctx context.Context, tenantName string, req *models.ImageR
818817
}
819818
return "", err
820819
}
821-
_, err = clientset.Secrets(namespace).Update(ctx, &instanceSecret, metav1.UpdateOptions{})
820+
currentSecret.Data = secretCredentials
821+
_, err = clientset.Secrets(namespace).Update(ctx, currentSecret, metav1.UpdateOptions{})
822822
if err != nil {
823823
return "", err
824824
}

restapi/error.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,12 @@ func prepareError(err ...error) *models.Error {
8787
errorMessage = errorGenericInvalidSession.Error()
8888
}
8989
// if we received a second error take that as friendly message but dont override the code
90-
if len(err) > 1 {
90+
if len(err) > 1 && err[1] != nil {
9191
log.Print("friendly error: ", err[1].Error())
9292
errorMessage = err[1].Error()
9393
}
9494
// if we receive third error we just print that as debugging
95-
if len(err) > 2 {
95+
if len(err) > 2 && err[2] != nil {
9696
log.Print("debugging error: ", err[2].Error())
9797
}
9898
}

0 commit comments

Comments
 (0)