diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java index b564f41ebc..3fc0c414e2 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java @@ -168,8 +168,16 @@ public Result match(R actualResource, P primary, Context

context) { @SuppressWarnings("unused") public Result match(R actualResource, R desired, P primary, Context

context) { - return GenericKubernetesResourceMatcher.match(desired, actualResource, false, - false, false, context); + if (!context.getControllerConfiguration().getConfigurationService() + .ssaBasedDefaultMatchingForDependentResources()) { + return GenericKubernetesResourceMatcher.match(desired, actualResource, false, + false, false, context); + } else { + addReferenceHandlingMetadata(desired, primary); + var matches = SSABasedGenericKubernetesResourceMatcher.getInstance().matches(actualResource, + desired, context); + return Result.computed(matches, desired); + } } protected void handleDelete(P primary, R secondary, Context

context) {