Skip to content

Commit 25643e9

Browse files
committed
fix!: remove registerControllerForAllNamespaces to use controller config
The intent here is that controllers should be registered according to their configuration. This will become even more relevant when externalized configuration is in place (see #237). This also means using ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER in the namespaces field of the Controller annotation where appropriate since that's what ControllerConfiguration uses to determine if a controller should watch all namespaces. This still needs to be unified across the code base (see #302).
1 parent 623b510 commit 25643e9

File tree

9 files changed

+16
-18
lines changed

9 files changed

+16
-18
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,7 @@ public <R extends CustomResource> void register(ResourceController<R> controller
4444
registerController(controller, configuration.watchAllNamespaces(), retry, targetNamespaces);
4545
}
4646
}
47-
48-
public <R extends CustomResource> void registerControllerForAllNamespaces(
49-
ResourceController<R> controller, Retry retry) throws OperatorException {
50-
registerController(controller, true, retry);
51-
}
52-
53-
public <R extends CustomResource> void registerControllerForAllNamespaces(
54-
ResourceController<R> controller) throws OperatorException {
55-
registerController(controller, true, null);
56-
}
57-
47+
5848
public <R extends CustomResource> void registerController(
5949
ResourceController<R> controller, Retry retry, String... targetNamespaces)
6050
throws OperatorException {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static void main(String[] args) throws IOException {
2424
Config config = new ConfigBuilder().withNamespace(null).build();
2525
KubernetesClient client = new DefaultKubernetesClient(config);
2626
Operator operator = new Operator(client, DefaultConfigurationService.instance());
27-
operator.registerControllerForAllNamespaces(new SchemaController(client));
27+
operator.register(new SchemaController(client));
2828

2929
new FtBasic(new TkFork(new FkRegex("/health", "ALL GOOD!")), 8080).start(Exit.NEVER);
3030
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import io.javaoperatorsdk.operator.api.DeleteControl;
1111
import io.javaoperatorsdk.operator.api.ResourceController;
1212
import io.javaoperatorsdk.operator.api.UpdateControl;
13+
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
1314
import java.sql.Connection;
1415
import java.sql.DriverManager;
1516
import java.sql.PreparedStatement;
@@ -21,7 +22,7 @@
2122
import org.slf4j.Logger;
2223
import org.slf4j.LoggerFactory;
2324

24-
@Controller
25+
@Controller(namespaces = ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER)
2526
public class SchemaController implements ResourceController<Schema> {
2627
static final String USERNAME_FORMAT = "%s-user";
2728
static final String SECRET_FORMAT = "%s-secret";

samples/spring-boot-plain/src/main/java/io/javaoperatorsdk/operator/sample/Config.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public CustomServiceController customServiceController(KubernetesClient client)
2626
@Bean
2727
public Operator operator(KubernetesClient client, List<ResourceController> controllers) {
2828
Operator operator = new Operator(client, DefaultConfigurationService.instance());
29-
controllers.forEach(c -> operator.registerControllerForAllNamespaces(c));
29+
controllers.forEach(operator::register);
3030
return operator;
3131
}
3232
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@
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;
1314
import io.javaoperatorsdk.operator.api.DeleteControl;
1415
import io.javaoperatorsdk.operator.api.ResourceController;
1516
import io.javaoperatorsdk.operator.api.UpdateControl;
17+
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
1618
import io.javaoperatorsdk.operator.processing.event.EventSourceManager;
1719
import io.javaoperatorsdk.operator.processing.event.internal.CustomResourceEvent;
1820
import java.io.IOException;
@@ -23,6 +25,7 @@
2325
import org.slf4j.Logger;
2426
import org.slf4j.LoggerFactory;
2527

28+
@Controller(namespaces = ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER)
2629
public class TomcatController implements ResourceController<Tomcat> {
2730

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

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ public static void main(String[] args) throws IOException {
2525
Operator operator = new Operator(client, DefaultConfigurationService.instance());
2626

2727
TomcatController tomcatController = new TomcatController(client);
28-
operator.registerControllerForAllNamespaces(tomcatController);
28+
operator.register(tomcatController);
2929

30-
operator.registerControllerForAllNamespaces(new WebappController(client));
30+
operator.register(new WebappController(client));
3131

3232
new FtBasic(new TkFork(new FkRegex("/health", "ALL GOOD.")), 8080).start(Exit.NEVER);
3333
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import io.fabric8.kubernetes.api.model.apps.Deployment;
55
import io.fabric8.kubernetes.client.KubernetesClient;
66
import io.javaoperatorsdk.operator.api.*;
7+
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
78
import java.io.ByteArrayOutputStream;
89
import java.util.List;
910
import java.util.Objects;
@@ -12,7 +13,7 @@
1213
import org.slf4j.Logger;
1314
import org.slf4j.LoggerFactory;
1415

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

1819
private KubernetesClient kubernetesClient;

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@
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;
1516
import io.javaoperatorsdk.operator.api.DeleteControl;
1617
import io.javaoperatorsdk.operator.api.ResourceController;
1718
import io.javaoperatorsdk.operator.api.UpdateControl;
19+
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
1820
import java.io.IOException;
1921
import java.io.InputStream;
2022
import java.util.HashMap;
@@ -23,6 +25,7 @@
2325
import org.slf4j.Logger;
2426
import org.slf4j.LoggerFactory;
2527

28+
@Controller(namespaces = ControllerConfiguration.WATCH_ALL_NAMESPACES_MARKER)
2629
public class WebServerController implements ResourceController<WebServer> {
2730

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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public static void main(String[] args) throws IOException {
2424
Config config = new ConfigBuilder().withNamespace(null).build();
2525
KubernetesClient client = new DefaultKubernetesClient(config);
2626
Operator operator = new Operator(client, DefaultConfigurationService.instance());
27-
operator.registerControllerForAllNamespaces(new WebServerController(client));
27+
operator.register(new WebServerController(client));
2828

2929
new FtBasic(new TkFork(new FkRegex("/health", "ALL GOOD!")), 8080).start(Exit.NEVER);
3030
}

0 commit comments

Comments
 (0)