Skip to content

Commit 456ea3c

Browse files
committed
fix!: watch all namespaces by default if no namespaces are specified
1 parent b2d2dd9 commit 456ea3c

File tree

8 files changed

+9
-23
lines changed

8 files changed

+9
-23
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/Controller.java

+1-5
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,7 @@
2828

2929
/**
3030
* Specified which namespaces this Controller monitors for custom resources events. If no
31-
* namespace is specified then the controller will monitor the namespace it is deployed in (or the
32-
* namespace to which the Kubernetes client is connected to). To specify that the controller needs
33-
* to monitor all namespaces, add {@link
34-
* io.javaoperatorsdk.operator.api.config.ControllerConfiguration#WATCH_ALL_NAMESPACES_MARKER} to
35-
* this field.
31+
* namespace is specified then the controller will monitor all namespaces by default.
3632
*
3733
* @return the list of namespaces this controller monitors
3834
*/

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/AbstractControllerConfiguration.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public AbstractControllerConfiguration(
3131
this.generationAware = generationAware;
3232
this.namespaces =
3333
namespaces != null ? Collections.unmodifiableSet(namespaces) : Collections.emptySet();
34-
this.watchAllNamespaces = this.namespaces.contains(WATCH_ALL_NAMESPACES_MARKER);
34+
this.watchAllNamespaces = this.namespaces.isEmpty();
3535
this.retryConfiguration =
3636
retryConfiguration == null
3737
? ControllerConfiguration.super.getRetryConfiguration()

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ControllerConfiguration.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ default Set<String> getNamespaces() {
2525
}
2626

2727
default boolean watchAllNamespaces() {
28-
return getNamespaces().contains(WATCH_ALL_NAMESPACES_MARKER);
28+
return getNamespaces().isEmpty();
2929
}
3030

3131
default RetryConfiguration getRetryConfiguration() {

operator-framework-quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/ExternalControllerConfiguration.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.javaoperatorsdk.quarkus.extension;
22

3-
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
43
import io.quarkus.runtime.annotations.ConfigGroup;
54
import io.quarkus.runtime.annotations.ConfigItem;
65
import java.util.List;
@@ -10,9 +9,8 @@
109
public class ExternalControllerConfiguration {
1110

1211
/**
13-
* An optional list of comma-separated namespace names the controller should watch. If the list
14-
* contains {@link ControllerConfiguration#WATCH_ALL_NAMESPACES_MARKER} then the controller will
15-
* watch all namespaces.
12+
* An optional list of comma-separated namespace names the controller should watch. If this
13+
* property is left empty then the controller will watch all namespaces.
1614
*/
1715
@ConfigItem public Optional<List<String>> namespaces;
1816

samples/mysql-schema/src/main/java/io/javaoperatorsdk/operator/sample/SchemaController.java

-3
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@
66
import io.fabric8.kubernetes.api.model.SecretBuilder;
77
import io.fabric8.kubernetes.client.KubernetesClient;
88
import io.javaoperatorsdk.operator.api.Context;
9-
import io.javaoperatorsdk.operator.api.Controller;
109
import io.javaoperatorsdk.operator.api.DeleteControl;
1110
import io.javaoperatorsdk.operator.api.ResourceController;
1211
import io.javaoperatorsdk.operator.api.UpdateControl;
13-
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
1412
import java.sql.Connection;
1513
import java.sql.DriverManager;
1614
import java.sql.PreparedStatement;
@@ -22,7 +20,6 @@
2220
import org.slf4j.Logger;
2321
import org.slf4j.LoggerFactory;
2422

25-
@Controller(namespaces = ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER)
2623
public class SchemaController implements ResourceController<Schema> {
2724
static final String USERNAME_FORMAT = "%s-user";
2825
static final String SECRET_FORMAT = "%s-secret";

samples/tomcat/src/main/java/io/javaoperatorsdk/operator/sample/TomcatController.java

-3
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,9 @@
1010
import io.fabric8.kubernetes.client.dsl.ServiceResource;
1111
import io.fabric8.kubernetes.client.utils.Serialization;
1212
import io.javaoperatorsdk.operator.api.Context;
13-
import io.javaoperatorsdk.operator.api.Controller;
1413
import io.javaoperatorsdk.operator.api.DeleteControl;
1514
import io.javaoperatorsdk.operator.api.ResourceController;
1615
import io.javaoperatorsdk.operator.api.UpdateControl;
17-
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
1816
import io.javaoperatorsdk.operator.processing.event.EventSourceManager;
1917
import io.javaoperatorsdk.operator.processing.event.internal.CustomResourceEvent;
2018
import java.io.IOException;
@@ -25,7 +23,6 @@
2523
import org.slf4j.Logger;
2624
import org.slf4j.LoggerFactory;
2725

28-
@Controller(namespaces = ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER)
2926
public class TomcatController implements ResourceController<Tomcat> {
3027

3128
private final Logger log = LoggerFactory.getLogger(getClass());

samples/tomcat/src/main/java/io/javaoperatorsdk/operator/sample/WebappController.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
import io.fabric8.kubernetes.api.model.Pod;
44
import io.fabric8.kubernetes.api.model.apps.Deployment;
55
import io.fabric8.kubernetes.client.KubernetesClient;
6-
import io.javaoperatorsdk.operator.api.*;
7-
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
6+
import io.javaoperatorsdk.operator.api.Context;
7+
import io.javaoperatorsdk.operator.api.DeleteControl;
8+
import io.javaoperatorsdk.operator.api.ResourceController;
9+
import io.javaoperatorsdk.operator.api.UpdateControl;
810
import java.io.ByteArrayOutputStream;
911
import java.util.List;
1012
import java.util.Objects;
@@ -13,7 +15,6 @@
1315
import org.slf4j.Logger;
1416
import org.slf4j.LoggerFactory;
1517

16-
@Controller(namespaces = ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER)
1718
public class WebappController implements ResourceController<Webapp> {
1819

1920
private KubernetesClient kubernetesClient;

samples/webserver/src/main/java/io/javaoperatorsdk/operator/sample/WebServerController.java

-3
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,9 @@
1212
import io.fabric8.kubernetes.client.dsl.ServiceResource;
1313
import io.fabric8.kubernetes.client.utils.Serialization;
1414
import io.javaoperatorsdk.operator.api.Context;
15-
import io.javaoperatorsdk.operator.api.Controller;
1615
import io.javaoperatorsdk.operator.api.DeleteControl;
1716
import io.javaoperatorsdk.operator.api.ResourceController;
1817
import io.javaoperatorsdk.operator.api.UpdateControl;
19-
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
2018
import java.io.IOException;
2119
import java.io.InputStream;
2220
import java.util.HashMap;
@@ -25,7 +23,6 @@
2523
import org.slf4j.Logger;
2624
import org.slf4j.LoggerFactory;
2725

28-
@Controller(namespaces = ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER)
2926
public class WebServerController implements ResourceController<WebServer> {
3027

3128
private final Logger log = LoggerFactory.getLogger(getClass());

0 commit comments

Comments
 (0)