Browse Source

:bug: fix panic when using jwt without secretRef/saRef (#1980)

Fixes #1957

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>
Moritz Johner 3 years ago
parent
commit
e72f371294
1 changed files with 3 additions and 4 deletions
  1. 3 4
      pkg/provider/akeyless/akeyless_api.go

+ 3 - 4
pkg/provider/akeyless/akeyless_api.go

@@ -249,7 +249,7 @@ func (a *akeylessBase) getCloudID(provider, accTypeParam string) (string, error)
 }
 
 func (a *akeylessBase) getK8SServiceAccountJWT(ctx context.Context, kubernetesAuth *esv1beta1.AkeylessKubernetesAuth) (string, error) {
-	if kubernetesAuth.ServiceAccountRef != nil {
+	if kubernetesAuth != nil && kubernetesAuth.ServiceAccountRef != nil {
 		// Kubernetes <v1.24 fetch token via ServiceAccount.Secrets[]
 		jwt, err := a.getJWTFromServiceAccount(ctx, kubernetesAuth.ServiceAccountRef)
 		if jwt != "" {
@@ -261,7 +261,7 @@ func (a *akeylessBase) getK8SServiceAccountJWT(ctx context.Context, kubernetesAu
 			return "", err
 		}
 		return jwt, nil
-	} else if kubernetesAuth.SecretRef != nil {
+	} else if kubernetesAuth != nil && kubernetesAuth.SecretRef != nil {
 		tokenRef := kubernetesAuth.SecretRef
 		if tokenRef.Key == "" {
 			tokenRef = kubernetesAuth.SecretRef.DeepCopy()
@@ -272,9 +272,8 @@ func (a *akeylessBase) getK8SServiceAccountJWT(ctx context.Context, kubernetesAu
 			return "", err
 		}
 		return jwt, nil
-	} else {
-		return readK8SServiceAccountJWT()
 	}
+	return readK8SServiceAccountJWT()
 }
 
 func (a *akeylessBase) getJWTFromServiceAccount(ctx context.Context, serviceAccountRef *esmeta.ServiceAccountSelector) (string, error) {