diff --git a/CHANGELOG.md b/CHANGELOG.md index e7aed57fdae..c19a400697e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -72,6 +72,7 @@ Here is an overview of all new **experimental** features: - **General**: Fix CVE-2023-39325 in golang.org/x/net ([#5122](https://github.com/kedacore/keda/issues/5122)) - **General**: Prevented stuck status due to timeouts during scalers generation ([#5083](https://github.com/kedacore/keda/issues/5083)) +- **General**: TriggerAuthentication - validation `identityId` removed from the operator ([#5109](https://github.com/kedacore/keda/issues/5109)) - **Azure Pipelines**: No more HTTP 400 errors produced by poolName with spaces ([#5107](https://github.com/kedacore/keda/issues/5107)) - **ScaledJobs**: Copy ScaledJob annotations to child Jobs ([#4594](https://github.com/kedacore/keda/issues/4594)) diff --git a/apis/keda/v1alpha1/triggerauthentication_webhook.go b/apis/keda/v1alpha1/triggerauthentication_webhook.go index 72b14e1b388..449f6f1c53d 100644 --- a/apis/keda/v1alpha1/triggerauthentication_webhook.go +++ b/apis/keda/v1alpha1/triggerauthentication_webhook.go @@ -107,15 +107,24 @@ func isTriggerAuthenticationRemovingFinalizer(om metav1.ObjectMeta, oldOm metav1 } func validateSpec(spec *TriggerAuthenticationSpec) (admission.Warnings, error) { - if spec.PodIdentity != nil { - switch spec.PodIdentity.Provider { + err := validatePodIdentityID(spec.PodIdentity) + return nil, err +} + +func validatePodIdentityID(podIdentity *AuthPodIdentity) error { + if podIdentity != nil { + switch podIdentity.Provider { case PodIdentityProviderAzure, PodIdentityProviderAzureWorkload: - if spec.PodIdentity.IdentityID != nil && *spec.PodIdentity.IdentityID == "" { - return nil, fmt.Errorf("identityid of PodIdentity should not be empty. If it's set, identityId has to be different than \"\"") + if isEmptyString(podIdentity.IdentityID) { + return fmt.Errorf("identityid of PodIdentity should not be empty. If it's set, identityId has to be different than \"\"") } default: - return nil, nil + return nil } } - return nil, nil + return nil +} + +func isEmptyString(str *string) bool { + return str != nil && *str == "" } diff --git a/pkg/scaling/resolver/scale_resolvers.go b/pkg/scaling/resolver/scale_resolvers.go index 99eb4e9fb1f..6b0444f83d4 100644 --- a/pkg/scaling/resolver/scale_resolvers.go +++ b/pkg/scaling/resolver/scale_resolvers.go @@ -202,9 +202,6 @@ func ResolveAuthRefAndPodIdentity(ctx context.Context, client client.Client, log // FIXME: Delete this for v2.15 logger.Info("WARNING: Azure AD Pod Identity has been archived (https://github.com/Azure/aad-pod-identity#-announcement) and will be removed from KEDA on v2.15") } - if podIdentity.IdentityID != nil && *podIdentity.IdentityID == "" { - return nil, kedav1alpha1.AuthPodIdentity{Provider: kedav1alpha1.PodIdentityProviderNone}, fmt.Errorf("IdentityID of PodIdentity should not be empty") - } default: } return authParams, podIdentity, nil