Skip to content

Commit b8cabdd

Browse files
committed
fix: same as controller config for KubernetesDependentResource standalone mode
1 parent 9da4315 commit b8cabdd

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
1313
import io.fabric8.kubernetes.client.dsl.Resource;
1414
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
15+
import io.javaoperatorsdk.operator.api.reconciler.Constants;
1516
import io.javaoperatorsdk.operator.api.reconciler.Context;
1617
import io.javaoperatorsdk.operator.api.reconciler.EventSourceContext;
1718
import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.DependentResourceConfigurator;
@@ -35,6 +36,7 @@ public abstract class KubernetesDependentResource<R extends HasMetadata, P exten
3536
private final Matcher<R, P> matcher;
3637
private final ResourceUpdatePreProcessor<R> processor;
3738
private final Class<R> resourceType;
39+
private KubernetesDependentResourceConfig kubernetesDependentResourceConfig;
3840

3941
@SuppressWarnings("unchecked")
4042
public KubernetesDependentResource(Class<R> resourceType) {
@@ -49,12 +51,17 @@ public KubernetesDependentResource(Class<R> resourceType) {
4951

5052
@Override
5153
public void configureWith(KubernetesDependentResourceConfig config) {
52-
configureWith(config.labelSelector(), config.namespaces(), !config.wereNamespacesConfigured());
54+
this.kubernetesDependentResourceConfig = config;
5355
}
5456

5557
@SuppressWarnings("unchecked")
5658
private void configureWith(String labelSelector, Set<String> namespaces,
57-
boolean inheritNamespacesOnChange) {
59+
boolean inheritNamespacesOnChange, EventSourceContext<P> context) {
60+
61+
if (namespaces.equals(Constants.SAME_AS_CONTROLLER_NAMESPACES_SET)) {
62+
namespaces = context.getControllerConfiguration().getNamespaces();
63+
}
64+
5865
final SecondaryToPrimaryMapper<R> primaryResourcesRetriever =
5966
(this instanceof SecondaryToPrimaryMapper) ? (SecondaryToPrimaryMapper<R>) this
6067
: Mappers.fromOwnerReference();
@@ -136,9 +143,18 @@ protected NonNamespaceOperation<R, KubernetesResourceList<R>, Resource<R>> prepa
136143

137144
@Override
138145
protected InformerEventSource<R, P> createEventSource(EventSourceContext<P> context) {
139-
configureWith(null, context.getControllerConfiguration().getNamespaces(), true);
140-
log.warn("Using default configuration for " + resourceType().getSimpleName()
141-
+ " KubernetesDependentResource, call configureWith to provide configuration");
146+
if (kubernetesDependentResourceConfig != null) {
147+
configureWith(kubernetesDependentResourceConfig.labelSelector(),
148+
kubernetesDependentResourceConfig.namespaces(),
149+
!kubernetesDependentResourceConfig.wereNamespacesConfigured(), context);
150+
} else {
151+
configureWith(null, context.getControllerConfiguration().getNamespaces(),
152+
true, context);
153+
log.warn(
154+
"Using default configuration for "
155+
+ resourceType().getSimpleName()
156+
+ " KubernetesDependentResource, call configureWith to provide configuration");
157+
}
142158
return eventSource();
143159
}
144160

0 commit comments

Comments
 (0)