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 0cfe0e997a..fa8b4620bf 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 @@ -122,21 +122,10 @@ private void init(ConfigurationService configurationService, boolean allowDeferr */ protected ConfigurationService initConfigurationService( KubernetesClient client, Consumer overrider) { - // initialize the client if the user didn't provide one - if (client == null) { - var configurationService = ConfigurationService.newOverriddenConfigurationService(overrider); - client = configurationService.getKubernetesClient(); + if (client != null) { + Consumer bindClient = o -> o.withKubernetesClient(client); + overrider = overrider == null ? bindClient : overrider.andThen(bindClient); } - - final var kubernetesClient = client; - - // override the configuration service to use the same client - if (overrider != null) { - overrider = overrider.andThen(o -> o.withKubernetesClient(kubernetesClient)); - } else { - overrider = o -> o.withKubernetesClient(kubernetesClient); - } - return ConfigurationService.newOverriddenConfigurationService(overrider); }