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 a8bfcb798c..5e2b209a71 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 @@ -8,6 +8,7 @@ import org.slf4j.LoggerFactory; import io.fabric8.kubernetes.api.model.HasMetadata; +import io.fabric8.kubernetes.api.model.Namespaced; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.dsl.Resource; import io.javaoperatorsdk.operator.OperatorException; @@ -163,12 +164,18 @@ protected Resource prepare(R desired, P primary, String actionName) { actionName, desired.getClass(), ResourceID.fromResource(desired)); + if (addOwnerReference()) { desired.addOwnerReference(primary); } else if (useDefaultAnnotationsToIdentifyPrimary()) { addDefaultSecondaryToPrimaryMapperAnnotations(desired, primary); } - return client.resource(desired).inNamespace(desired.getMetadata().getNamespace()); + + if (desired instanceof Namespaced) { + return client.resource(desired).inNamespace(desired.getMetadata().getNamespace()); + } else { + return client.resource(desired); + } } @Override