Skip to content

Commit 9136f31

Browse files
authored
fix: same as controller config for KubernetesDependentResource standalone (#1222)
1 parent 409cb1d commit 9136f31

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

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

Lines changed: 20 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,17 @@ 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 {} KubernetesDependentResource, call configureWith to provide configuration",
155+
resourceType().getSimpleName());
156+
}
142157
return eventSource();
143158
}
144159

0 commit comments

Comments
 (0)