diff --git a/README.md b/README.md index 4e153f881a..2988e55408 100644 --- a/README.md +++ b/README.md @@ -135,8 +135,7 @@ controller. public class Runner { public static void main(String[] args) { - Operator operator = new Operator(new DefaultKubernetesClient(), - DefaultConfigurationService.instance()); + Operator operator = new Operator(DefaultConfigurationService.instance()); operator.register(new WebServerController()); } } diff --git a/docs/documentation/use-samples.md b/docs/documentation/use-samples.md index 9e826daa24..a736aabe49 100644 --- a/docs/documentation/use-samples.md +++ b/docs/documentation/use-samples.md @@ -50,8 +50,7 @@ controller. public class Runner { public static void main(String[] args) { - Operator operator = new Operator(new DefaultKubernetesClient(), - DefaultConfigurationService.instance()); + Operator operator = new Operator(DefaultConfigurationService.instance()); operator.register(new WebServerController()); } } diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java index c61bcb04b3..31bf1a80ec 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java @@ -11,6 +11,7 @@ import org.slf4j.LoggerFactory; import io.fabric8.kubernetes.client.CustomResource; +import io.fabric8.kubernetes.client.DefaultKubernetesClient; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.Version; import io.javaoperatorsdk.operator.api.ResourceController; @@ -22,12 +23,16 @@ @SuppressWarnings("rawtypes") public class Operator implements AutoCloseable { private static final Logger log = LoggerFactory.getLogger(Operator.class); - private final KubernetesClient k8sClient; + private final KubernetesClient kubernetesClient; private final ConfigurationService configurationService; private final ControllerManager controllers = new ControllerManager(); - public Operator(KubernetesClient k8sClient, ConfigurationService configurationService) { - this.k8sClient = k8sClient; + public Operator(ConfigurationService configurationService) { + this(new DefaultKubernetesClient(), configurationService); + } + + public Operator(KubernetesClient kubernetesClient, ConfigurationService configurationService) { + this.kubernetesClient = kubernetesClient; this.configurationService = configurationService; } @@ -37,7 +42,7 @@ public void installShutdownHook() { } public KubernetesClient getKubernetesClient() { - return k8sClient; + return kubernetesClient; } public ConfigurationService getConfigurationService() { @@ -65,7 +70,7 @@ public void start() { log.info("Client version: {}", Version.clientVersion()); try { - final var k8sVersion = k8sClient.getVersion(); + final var k8sVersion = kubernetesClient.getVersion(); if (k8sVersion != null) { log.info("Server version: {}.{}", k8sVersion.getMajor(), k8sVersion.getMinor()); } @@ -93,7 +98,7 @@ public void close() { controllers.close(); ExecutorServiceManager.close(); - k8sClient.close(); + kubernetesClient.close(); } /** @@ -138,7 +143,7 @@ public void register( configuration = existing; } final var configuredController = - new ConfiguredController(controller, configuration, k8sClient); + new ConfiguredController(controller, configuration, kubernetesClient); controllers.add(configuredController); final var watchedNS = diff --git a/samples/common/src/main/java/io/javaoperatorsdk/operator/sample/CustomServiceController.java b/samples/common/src/main/java/io/javaoperatorsdk/operator/sample/CustomServiceController.java index a4e8d66f45..aacff140c9 100644 --- a/samples/common/src/main/java/io/javaoperatorsdk/operator/sample/CustomServiceController.java +++ b/samples/common/src/main/java/io/javaoperatorsdk/operator/sample/CustomServiceController.java @@ -8,6 +8,7 @@ import io.fabric8.kubernetes.api.model.ServiceBuilder; import io.fabric8.kubernetes.api.model.ServicePort; import io.fabric8.kubernetes.api.model.ServiceSpec; +import io.fabric8.kubernetes.client.DefaultKubernetesClient; import io.fabric8.kubernetes.client.KubernetesClient; import io.javaoperatorsdk.operator.api.Context; import io.javaoperatorsdk.operator.api.Controller; @@ -24,6 +25,10 @@ public class CustomServiceController implements ResourceController controllers) { - Operator operator = new Operator(client, DefaultConfigurationService.instance()); + public Operator operator(List controllers) { + Operator operator = new Operator(DefaultConfigurationService.instance()); controllers.forEach(operator::register); return operator; }