diff --git a/caffeine-bounded-cache-support/src/test/java/io/javaoperatorsdk/operator/processing/event/source/cache/sample/AbstractTestReconciler.java b/caffeine-bounded-cache-support/src/test/java/io/javaoperatorsdk/operator/processing/event/source/cache/sample/AbstractTestReconciler.java
index 835fcef91a..b6e3ba2c8f 100644
--- a/caffeine-bounded-cache-support/src/test/java/io/javaoperatorsdk/operator/processing/event/source/cache/sample/AbstractTestReconciler.java
+++ b/caffeine-bounded-cache-support/src/test/java/io/javaoperatorsdk/operator/processing/event/source/cache/sample/AbstractTestReconciler.java
@@ -6,14 +6,15 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import io.fabric8.kubernetes.api.model.*;
+import io.fabric8.kubernetes.api.model.ConfigMap;
+import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
+import io.fabric8.kubernetes.api.model.HasMetadata;
+import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
import io.fabric8.kubernetes.client.CustomResource;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.api.reconciler.Context;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.cache.BoundedItemStore;
import io.javaoperatorsdk.operator.processing.event.source.cache.CaffeineBoundedItemStores;
@@ -27,38 +28,35 @@
import com.github.benmanes.caffeine.cache.Caffeine;
public abstract class AbstractTestReconciler
>
- implements KubernetesClientAware, Reconciler
,
- EventSourceInitializer
{
+ implements Reconciler
, EventSourceInitializer
{
private static final Logger log =
LoggerFactory.getLogger(BoundedCacheClusterScopeTestReconciler.class);
public static final String DATA_KEY = "dataKey";
- protected KubernetesClient client;
-
@Override
public UpdateControl
reconcile(
P resource,
Context
context) {
var maybeConfigMap = context.getSecondaryResource(ConfigMap.class);
maybeConfigMap.ifPresentOrElse(
- cm -> updateConfigMapIfNeeded(cm, resource),
- () -> createConfigMap(resource));
+ cm -> updateConfigMapIfNeeded(cm, resource, context),
+ () -> createConfigMap(resource, context));
ensureStatus(resource);
log.info("Reconciled: {}", resource.getMetadata().getName());
return UpdateControl.patchStatus(resource);
}
- protected void updateConfigMapIfNeeded(ConfigMap cm, P resource) {
+ protected void updateConfigMapIfNeeded(ConfigMap cm, P resource, Context
context) {
var data = cm.getData().get(DATA_KEY);
if (data == null || data.equals(resource.getSpec().getData())) {
cm.setData(Map.of(DATA_KEY, resource.getSpec().getData()));
- client.configMaps().resource(cm).replace();
+ context.getClient().configMaps().resource(cm).replace();
}
}
- protected void createConfigMap(P resource) {
+ protected void createConfigMap(P resource, Context
context) {
var cm = new ConfigMapBuilder()
.withMetadata(new ObjectMetaBuilder()
.withName(resource.getMetadata().getName())
@@ -67,17 +65,7 @@ protected void createConfigMap(P resource) {
.withData(Map.of(DATA_KEY, resource.getSpec().getData()))
.build();
cm.addOwnerReference(resource);
- client.configMaps().resource(cm).create();
- }
-
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
+ context.getClient().configMaps().resource(cm).create();
}
@Override
diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/KubernetesClientAware.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/KubernetesClientAware.java
index 2a28813c35..d6c743f22b 100644
--- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/KubernetesClientAware.java
+++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/KubernetesClientAware.java
@@ -1,7 +1,13 @@
package io.javaoperatorsdk.operator.api.reconciler.dependent.managed;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.javaoperatorsdk.operator.api.reconciler.Context;
+/**
+ * @deprecated It shouldn't be needed to pass a {@link KubernetesClient} instance anymore as the
+ * client should be accessed via {@link Context#getClient()} instead.
+ */
+@Deprecated(since = "4.5.0", forRemoval = true)
public interface KubernetesClientAware {
void setKubernetesClient(KubernetesClient kubernetesClient);
diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractExternalDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractExternalDependentResource.java
index 18e6f41a92..4fb4c9bcd6 100644
--- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractExternalDependentResource.java
+++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/AbstractExternalDependentResource.java
@@ -1,7 +1,6 @@
package io.javaoperatorsdk.operator.processing.dependent;
import io.fabric8.kubernetes.api.model.HasMetadata;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.reconciler.Context;
import io.javaoperatorsdk.operator.api.reconciler.dependent.RecentOperationCacheFiller;
import io.javaoperatorsdk.operator.processing.event.EventSourceRetriever;
@@ -18,7 +17,6 @@ public abstract class AbstractExternalDependentResource externalStateEventSource;
- private KubernetesClient kubernetesClient;
@SuppressWarnings("unchecked")
protected AbstractExternalDependentResource(Class resourceType) {
@@ -65,14 +63,13 @@ public void delete(P primary, Context context) {
@SuppressWarnings({"unchecked", "unused"})
private void handleExplicitStateDelete(P primary, R secondary, Context
context) {
var res = dependentResourceWithExplicitState.stateResource(primary, secondary);
- dependentResourceWithExplicitState.getKubernetesClient().resource(res).delete();
+ context.getClient().resource(res).delete();
}
@SuppressWarnings({"rawtypes", "unchecked", "unused"})
protected void handleExplicitStateCreation(P primary, R created, Context
context) {
var resource = dependentResourceWithExplicitState.stateResource(primary, created);
- var stateResource =
- dependentResourceWithExplicitState.getKubernetesClient().resource(resource).create();
+ var stateResource = context.getClient().resource(resource).create();
if (externalStateEventSource != null) {
((RecentOperationCacheFiller) externalStateEventSource)
.handleRecentResourceCreate(ResourceID.fromResource(primary), stateResource);
@@ -84,7 +81,7 @@ protected void handleExplicitStateCreation(P primary, R created, Context
cont
public void deleteTargetResource(P primary, R resource, String key,
Context
context) {
if (isDependentResourceWithExplicitState) {
- getKubernetesClient()
+ context.getClient()
.resource(dependentResourceWithExplicitState.stateResource(primary, resource))
.delete();
}
@@ -100,18 +97,4 @@ public void handleDeleteTargetResource(P primary, R resource, String key,
protected InformerEventSource getExternalStateEventSource() {
return externalStateEventSource;
}
-
- /**
- * It's here just to manage the explicit state resource in case the dependent resource implements
- * {@link RecentOperationCacheFiller}.
- *
- * @return kubernetes client.
- */
- public KubernetesClient getKubernetesClient() {
- return kubernetesClient;
- }
-
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.kubernetesClient = kubernetesClient;
- }
}
diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/DependentResourceWithExplicitState.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/DependentResourceWithExplicitState.java
index 284b215679..05206731db 100644
--- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/DependentResourceWithExplicitState.java
+++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/DependentResourceWithExplicitState.java
@@ -4,7 +4,6 @@
import io.fabric8.kubernetes.api.model.HasMetadata;
import io.javaoperatorsdk.operator.api.reconciler.dependent.Deleter;
-import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.KubernetesClientAware;
/**
* Handles external resources where in order to address the resource additional information or
@@ -14,7 +13,7 @@
* for a resource that extends {@link AbstractExternalDependentResource}.
*/
public interface DependentResourceWithExplicitState
- extends Creator, Deleter, KubernetesClientAware {
+ extends Creator, Deleter {
/**
* Only needs to be implemented if multiple event sources are present for the target resource
diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java
index 912d876aba..b587c72327 100644
--- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java
+++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java
@@ -8,7 +8,6 @@
import org.slf4j.LoggerFactory;
import io.fabric8.kubernetes.api.model.HasMetadata;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.dsl.Resource;
import io.javaoperatorsdk.operator.OperatorException;
import io.javaoperatorsdk.operator.api.config.dependent.Configured;
@@ -19,7 +18,6 @@
import io.javaoperatorsdk.operator.api.reconciler.Ignore;
import io.javaoperatorsdk.operator.api.reconciler.dependent.GarbageCollected;
import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.DependentResourceConfigurator;
-import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.dependent.AbstractEventSourceHolderDependentResource;
import io.javaoperatorsdk.operator.processing.dependent.Matcher.Result;
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.updatermatcher.GenericResourceUpdaterMatcher;
@@ -33,17 +31,14 @@
converter = KubernetesDependentConverter.class)
public abstract class KubernetesDependentResource
extends AbstractEventSourceHolderDependentResource>
- implements KubernetesClientAware,
- DependentResourceConfigurator> {
+ implements DependentResourceConfigurator> {
private static final Logger log = LoggerFactory.getLogger(KubernetesDependentResource.class);
-
- protected KubernetesClient client;
private final ResourceUpdaterMatcher updaterMatcher;
private final boolean garbageCollected = this instanceof GarbageCollected;
private KubernetesDependentResourceConfig kubernetesDependentResourceConfig;
- private boolean usingCustomResourceUpdateMatcher;
+ private final boolean usingCustomResourceUpdateMatcher;
@SuppressWarnings("unchecked")
public KubernetesDependentResource(Class resourceType) {
@@ -117,7 +112,7 @@ public R create(R desired, P primary, Context context) {
}
}
addMetadata(false, null, desired, primary, context);
- final var resource = prepare(desired, primary, "Creating");
+ final var resource = prepare(context, desired, primary, "Creating");
return useSSA(context)
? resource
.fieldManager(context.getControllerConfiguration().fieldManager())
@@ -134,12 +129,12 @@ public R update(R actual, R desired, P primary, Context
context) {
R updatedResource;
addMetadata(false, actual, desired, primary, context);
if (useSSA(context)) {
- updatedResource = prepare(desired, primary, "Updating")
+ updatedResource = prepare(context, desired, primary, "Updating")
.fieldManager(context.getControllerConfiguration().fieldManager())
.forceConflicts().serverSideApply();
} else {
var updatedActual = updaterMatcher.updateResource(actual, desired, context);
- updatedResource = prepare(updatedActual, primary, "Updating").update();
+ updatedResource = prepare(context, updatedActual, primary, "Updating").update();
}
log.debug("Resource version after update: {}",
updatedResource.getMetadata().getResourceVersion());
@@ -216,23 +211,23 @@ private boolean usePreviousAnnotation(Context
context) {
@Override
protected void handleDelete(P primary, R secondary, Context
context) {
if (secondary != null) {
- client.resource(secondary).delete();
+ context.getClient().resource(secondary).delete();
}
}
@SuppressWarnings("unused")
public void deleteTargetResource(P primary, R resource, String key, Context
context) {
- client.resource(resource).delete();
+ context.getClient().resource(resource).delete();
}
@SuppressWarnings("unused")
- protected Resource prepare(R desired, P primary, String actionName) {
+ protected Resource prepare(Context context, R desired, P primary, String actionName) {
log.debug("{} target resource with type: {}, with id: {}",
actionName,
desired.getClass(),
ResourceID.fromResource(desired));
- return client.resource(desired);
+ return context.getClient().resource(desired);
}
protected void addReferenceHandlingMetadata(R desired, P primary) {
@@ -292,16 +287,6 @@ protected boolean addOwnerReference() {
return garbageCollected;
}
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
- }
-
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
-
@Override
protected R desired(P primary, Context
context) {
return super.desired(primary, context);
diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/ManagedInformerEventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/ManagedInformerEventSource.java
index 5dff2be51b..d030e7a8f4 100644
--- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/ManagedInformerEventSource.java
+++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/ManagedInformerEventSource.java
@@ -37,7 +37,6 @@ public abstract class ManagedInformerEventSource cache;
-
protected TemporaryResourceCache temporaryResourceCache;
protected MixedOperation, Resource> client;
diff --git a/operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/KubernetesClientAware.java b/operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/KubernetesClientAware.java
index 8a1a702074..8e94e71b53 100644
--- a/operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/KubernetesClientAware.java
+++ b/operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/KubernetesClientAware.java
@@ -1,7 +1,13 @@
package io.javaoperatorsdk.operator.junit;
import io.fabric8.kubernetes.client.KubernetesClient;
+import io.javaoperatorsdk.operator.api.reconciler.Context;
+/**
+ * @deprecated It shouldn't be needed to pass a {@link KubernetesClient} instance to the reconciler
+ * anymore as the client should be accessed via {@link Context#getClient()} instead.
+ */
+@Deprecated(since = "4.5.0", forRemoval = true)
public interface KubernetesClientAware extends HasKubernetesClient {
void setKubernetesClient(KubernetesClient kubernetesClient);
}
diff --git a/operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtension.java b/operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtension.java
index 6b276b43d9..7f7cb64b28 100644
--- a/operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtension.java
+++ b/operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/LocallyRunOperatorExtension.java
@@ -152,10 +152,6 @@ protected void before(ExtensionContext context) {
applyCrd(config.getResourceTypeName());
}
- if (ref.reconciler instanceof KubernetesClientAware) {
- ((KubernetesClientAware) ref.reconciler).setKubernetesClient(kubernetesClient);
- }
-
var registeredController = this.operator.register(ref.reconciler, oconfig.build());
registeredControllers.put(ref.reconciler, registeredController);
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentReInitializationIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentReInitializationIT.java
index 19edc1af61..73b7bd20d9 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentReInitializationIT.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentReInitializationIT.java
@@ -31,7 +31,7 @@ private static void startEndStopOperator(KubernetesClient client,
Operator o1 = new Operator(o -> o
.withCloseClientOnStop(false)
.withKubernetesClient(client));
- o1.register(new DependentReInitializationReconciler(dependent, client));
+ o1.register(new DependentReInitializationReconciler(dependent));
o1.start();
o1.stop();
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentSSAMigrationIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentSSAMigrationIT.java
index 0eabc07c97..c4217bff25 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentSSAMigrationIT.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentSSAMigrationIT.java
@@ -143,10 +143,9 @@ private DependnetSSACustomResource reconcileWithLegacyOperator(Operator legacyOp
private Operator createOperator(KubernetesClient client, boolean legacyDependentHandling,
String fieldManager) {
- Operator operator = new Operator(client,
- o -> o.withCloseClientOnStop(false));
+ Operator operator =
+ new Operator(o -> o.withKubernetesClient(client).withCloseClientOnStop(false));
var reconciler = new DependentSSAReconciler(!legacyDependentHandling);
- reconciler.setKubernetesClient(client);
operator.register(reconciler, o -> {
o.settingNamespace(namespace);
if (fieldManager != null) {
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/OperatorRestartIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/OperatorRestartIT.java
index 45b88a126b..9f506cc927 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/OperatorRestartIT.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/OperatorRestartIT.java
@@ -1,14 +1,8 @@
package io.javaoperatorsdk.operator;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Order;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.*;
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
-import io.fabric8.kubernetes.client.KubernetesClient;
-import io.fabric8.kubernetes.client.KubernetesClientBuilder;
import io.javaoperatorsdk.operator.junit.LocallyRunOperatorExtension;
import io.javaoperatorsdk.operator.sample.restart.RestartTestCustomResource;
import io.javaoperatorsdk.operator.sample.restart.RestartTestReconciler;
@@ -17,14 +11,15 @@
import static org.awaitility.Awaitility.await;
class OperatorRestartIT {
- private final static KubernetesClient client = new KubernetesClientBuilder().build();
+
private final static Operator operator = new Operator(o -> o.withCloseClientOnStop(false));
private final static RestartTestReconciler reconciler = new RestartTestReconciler();
private static int reconcileNumberBeforeStop = 0;
@BeforeAll
static void registerReconciler() {
- LocallyRunOperatorExtension.applyCrd(RestartTestCustomResource.class, client);
+ LocallyRunOperatorExtension.applyCrd(RestartTestCustomResource.class,
+ operator.getKubernetesClient());
operator.register(reconciler);
}
@@ -41,7 +36,7 @@ void stopOperator() {
@Test
@Order(1)
void createResource() {
- client.resource(testCustomResource()).createOrReplace();
+ operator.getKubernetesClient().resource(testCustomResource()).createOrReplace();
await().untilAsserted(() -> assertThat(reconciler.getNumberOfExecutions()).isGreaterThan(0));
reconcileNumberBeforeStop = reconciler.getNumberOfExecutions();
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/ConfigMapDeleterBulkDependentResource.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/ConfigMapDeleterBulkDependentResource.java
index 28bb358d5a..29a9af89e7 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/ConfigMapDeleterBulkDependentResource.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/ConfigMapDeleterBulkDependentResource.java
@@ -55,7 +55,7 @@ public ConfigMap desired(BulkDependentTestCustomResource primary, String key,
.withLabels(Map.of(LABEL_KEY, LABEL_VALUE))
.build());
configMap.setData(
- Map.of("number", "" + key, ADDITIONAL_DATA_KEY, primary.getSpec().getAdditionalData()));
+ Map.of("number", key, ADDITIONAL_DATA_KEY, primary.getSpec().getAdditionalData()));
return configMap;
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/StandaloneBulkDependentReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/StandaloneBulkDependentReconciler.java
index ad799116a0..6af93232b4 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/StandaloneBulkDependentReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/StandaloneBulkDependentReconciler.java
@@ -3,21 +3,18 @@
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.support.TestExecutionInfoProvider;
@ControllerConfiguration
public class StandaloneBulkDependentReconciler
implements Reconciler, TestExecutionInfoProvider,
- EventSourceInitializer, KubernetesClientAware {
+ EventSourceInitializer {
private final AtomicInteger numberOfExecutions = new AtomicInteger(0);
private final ConfigMapDeleterBulkDependentResource dependent;
- private KubernetesClient kubernetesClient;
public StandaloneBulkDependentReconciler() {
dependent = new CRUDConfigMapBulkDependentResource();
@@ -44,15 +41,4 @@ public Map prepareEventSources(
return EventSourceInitializer
.nameEventSources(dependent.initEventSource(context));
}
-
- @Override
- public KubernetesClient getKubernetesClient() {
- return kubernetesClient;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.kubernetesClient = kubernetesClient;
- dependent.setKubernetesClient(kubernetesClient);
- }
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/changenamespace/ChangeNamespaceTestReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/changenamespace/ChangeNamespaceTestReconciler.java
index f891eac525..7d51f311e1 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/changenamespace/ChangeNamespaceTestReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/changenamespace/ChangeNamespaceTestReconciler.java
@@ -5,10 +5,8 @@
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.event.ResourceID;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource;
@@ -16,11 +14,10 @@
@ControllerConfiguration
public class ChangeNamespaceTestReconciler
implements Reconciler,
- EventSourceInitializer, KubernetesClientAware {
+ EventSourceInitializer {
private final ConcurrentHashMap numberOfResourceReconciliations =
new ConcurrentHashMap<>();
- private KubernetesClient client;
@Override
public Map prepareEventSources(
@@ -40,7 +37,7 @@ public UpdateControl reconcile(
var actualConfigMap = context.getSecondaryResource(ConfigMap.class);
if (actualConfigMap.isEmpty()) {
- client.configMaps().inNamespace(primary.getMetadata().getNamespace())
+ context.getClient().configMaps().inNamespace(primary.getMetadata().getNamespace())
.resource(configMap(primary))
.create();
}
@@ -73,14 +70,4 @@ private ConfigMap configMap(ChangeNamespaceTestCustomResource primary) {
configMap.addOwnerReference(primary);
return configMap;
}
-
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
- }
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/clusterscopedresource/ClusterScopedCustomResourceReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/clusterscopedresource/ClusterScopedCustomResourceReconciler.java
index 9d4a4fbd74..a6f5e00c96 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/clusterscopedresource/ClusterScopedCustomResourceReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/clusterscopedresource/ClusterScopedCustomResourceReconciler.java
@@ -5,10 +5,8 @@
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource;
import io.javaoperatorsdk.operator.processing.event.source.informer.Mappers;
@@ -16,21 +14,20 @@
@ControllerConfiguration
public class ClusterScopedCustomResourceReconciler
implements Reconciler,
- KubernetesClientAware, EventSourceInitializer {
+ EventSourceInitializer {
public static final String DATA_KEY = "data-key";
public static final String TEST_LABEL_VALUE = "clusterscopecrtest";
public static final String TEST_LABEL_KEY = "test";
- private KubernetesClient client;
-
@Override
public UpdateControl reconcile(
ClusterScopedCustomResource resource, Context context) {
var optionalConfigMap = context.getSecondaryResource(ConfigMap.class);
+ final var client = context.getClient();
optionalConfigMap.ifPresentOrElse(cm -> {
if (!resource.getSpec().getData().equals(cm.getData().get(DATA_KEY))) {
client.configMaps().resource(desired(resource)).replace();
@@ -55,16 +52,6 @@ private ConfigMap desired(ClusterScopedCustomResource resource) {
return cm;
}
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
- }
-
@Override
public Map prepareEventSources(
EventSourceContext context) {
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/createupdateeventfilter/CreateUpdateEventFilterTestReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/createupdateeventfilter/CreateUpdateEventFilterTestReconciler.java
index 6c38b2dd09..ab0369d998 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/createupdateeventfilter/CreateUpdateEventFilterTestReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/createupdateeventfilter/CreateUpdateEventFilterTestReconciler.java
@@ -7,15 +7,8 @@
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.ObjectMeta;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
-import io.javaoperatorsdk.operator.api.reconciler.Context;
-import io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration;
-import io.javaoperatorsdk.operator.api.reconciler.EventSourceContext;
-import io.javaoperatorsdk.operator.api.reconciler.EventSourceInitializer;
-import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
-import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
+import io.javaoperatorsdk.operator.api.reconciler.*;
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource;
@@ -23,8 +16,7 @@
@ControllerConfiguration
public class CreateUpdateEventFilterTestReconciler
implements Reconciler,
- EventSourceInitializer,
- KubernetesClientAware {
+ EventSourceInitializer {
private static final class DirectConfigMapDependentResource
extends
@@ -50,7 +42,6 @@ public void setEventSource(
}
public static final String CONFIG_MAP_TEST_DATA_KEY = "key";
- private KubernetesClient client;
private final AtomicInteger numberOfExecutions = new AtomicInteger(0);
private InformerEventSource informerEventSource;
private DirectConfigMapDependentResource configMapDR =
@@ -63,7 +54,7 @@ public UpdateControl reconcile(
numberOfExecutions.incrementAndGet();
ConfigMap configMap =
- client
+ context.getClient()
.configMaps()
.inNamespace(resource.getMetadata().getNamespace())
.withName(resource.getMetadata().getName())
@@ -103,25 +94,12 @@ public Map prepareEventSources(
InformerConfiguration.from(ConfigMap.class)
.withLabelSelector("integrationtest = " + this.getClass().getSimpleName())
.build();
- informerEventSource =
- new InformerEventSource<>(informerConfiguration, client);
-
- this.configMapDR.setKubernetesClient(context.getClient());
+ informerEventSource = new InformerEventSource<>(informerConfiguration, context.getClient());
this.configMapDR.setEventSource(informerEventSource);
return EventSourceInitializer.nameEventSources(informerEventSource);
}
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
- }
-
public int getNumberOfExecutions() {
return numberOfExecutions.get();
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentreinitialization/DependentReInitializationReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentreinitialization/DependentReInitializationReconciler.java
index e247ddb6df..a8e6a48e6b 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentreinitialization/DependentReInitializationReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentreinitialization/DependentReInitializationReconciler.java
@@ -2,7 +2,6 @@
import java.util.Map;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.reconciler.*;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
@@ -13,10 +12,8 @@ public class DependentReInitializationReconciler
private final ConfigMapDependentResource configMapDependentResource;
- public DependentReInitializationReconciler(ConfigMapDependentResource dependentResource,
- KubernetesClient client) {
+ public DependentReInitializationReconciler(ConfigMapDependentResource dependentResource) {
this.configMapDependentResource = dependentResource;
- this.configMapDependentResource.setKubernetesClient(client);
}
@Override
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentssa/DependentSSAReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentssa/DependentSSAReconciler.java
index f84dfe4597..f1c11dea6d 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentssa/DependentSSAReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentssa/DependentSSAReconciler.java
@@ -4,9 +4,7 @@
import java.util.concurrent.atomic.AtomicInteger;
import io.fabric8.kubernetes.api.model.ConfigMap;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResourceConfigBuilder;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.support.TestExecutionInfoProvider;
@@ -14,13 +12,11 @@
@ControllerConfiguration
public class DependentSSAReconciler
implements Reconciler, TestExecutionInfoProvider,
- KubernetesClientAware,
EventSourceInitializer {
private final AtomicInteger numberOfExecutions = new AtomicInteger(0);
private SSAConfigMapDependent ssaConfigMapDependent = new SSAConfigMapDependent();
- private KubernetesClient kubernetesClient;
public DependentSSAReconciler() {
this(true);
@@ -46,17 +42,6 @@ public int getNumberOfExecutions() {
return numberOfExecutions.get();
}
- @Override
- public KubernetesClient getKubernetesClient() {
- return kubernetesClient;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.kubernetesClient = kubernetesClient;
- ssaConfigMapDependent.setKubernetesClient(kubernetesClient);
- }
-
@Override
public Map prepareEventSources(
EventSourceContext context) {
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/externalstate/ExternalStateReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/externalstate/ExternalStateReconciler.java
index 804906e3c1..66c53c3971 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/externalstate/ExternalStateReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/externalstate/ExternalStateReconciler.java
@@ -9,17 +9,8 @@
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
-import io.javaoperatorsdk.operator.api.reconciler.Cleaner;
-import io.javaoperatorsdk.operator.api.reconciler.Context;
-import io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration;
-import io.javaoperatorsdk.operator.api.reconciler.DeleteControl;
-import io.javaoperatorsdk.operator.api.reconciler.EventSourceContext;
-import io.javaoperatorsdk.operator.api.reconciler.EventSourceInitializer;
-import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
-import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
+import io.javaoperatorsdk.operator.api.reconciler.*;
import io.javaoperatorsdk.operator.processing.event.ResourceID;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.EventSourceStartPriority;
@@ -32,14 +23,13 @@
@ControllerConfiguration()
public class ExternalStateReconciler
implements Reconciler, Cleaner,
- EventSourceInitializer, KubernetesClientAware,
+ EventSourceInitializer,
TestExecutionInfoProvider {
public static final String ID_KEY = "id";
private final AtomicInteger numberOfExecutions = new AtomicInteger(0);
private final ExternalIDGenServiceMock externalService = ExternalIDGenServiceMock.getInstance();
- private KubernetesClient client;
InformerEventSource configMapEventSource;
PerResourcePollingEventSource externalResourceEventSource;
@@ -52,11 +42,11 @@ public UpdateControl reconcile(
var externalResource = context.getSecondaryResource(ExternalResource.class);
externalResource.ifPresentOrElse(r -> {
if (!r.getData().equals(resource.getSpec().getData())) {
- updateExternalResource(resource, r);
+ updateExternalResource(resource, r, context);
}
}, () -> {
if (externalResource.isEmpty()) {
- createExternalResource(resource);
+ createExternalResource(resource, context);
}
});
@@ -65,14 +55,15 @@ public UpdateControl reconcile(
}
private void updateExternalResource(ExternalStateCustomResource resource,
- ExternalResource externalResource) {
+ ExternalResource externalResource, Context context) {
var newResource = new ExternalResource(externalResource.getId(), resource.getSpec().getData());
externalService.update(newResource);
externalResourceEventSource.handleRecentResourceUpdate(ResourceID.fromResource(resource),
newResource, externalResource);
}
- private void createExternalResource(ExternalStateCustomResource resource) {
+ private void createExternalResource(ExternalStateCustomResource resource,
+ Context context) {
var createdResource =
externalService.create(new ExternalResource(resource.getSpec().getData()));
var configMap = new ConfigMapBuilder()
@@ -83,7 +74,7 @@ private void createExternalResource(ExternalStateCustomResource resource) {
.withData(Map.of(ID_KEY, createdResource.getId()))
.build();
configMap.addOwnerReference(resource);
- client.configMaps().resource(configMap).create();
+ context.getClient().configMaps().resource(configMap).create();
var primaryID = ResourceID.fromResource(resource);
// Making sure that the created resources are in the cache for the next reconciliation.
@@ -98,7 +89,7 @@ public DeleteControl cleanup(ExternalStateCustomResource resource,
Context context) {
var externalResource = context.getSecondaryResource(ExternalResource.class);
externalResource.ifPresent(er -> externalService.delete(er.getId()));
- client.configMaps().inNamespace(resource.getMetadata().getNamespace())
+ context.getClient().configMaps().inNamespace(resource.getMetadata().getNamespace())
.withName(resource.getMetadata().getName()).delete();
return DeleteControl.defaultDelete();
}
@@ -128,14 +119,4 @@ public Map prepareEventSources(
return EventSourceInitializer.nameEventSources(configMapEventSource,
externalResourceEventSource);
}
-
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
- }
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/filter/FilterTestReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/filter/FilterTestReconciler.java
index 776f857bc8..ab5c9b7400 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/filter/FilterTestReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/filter/FilterTestReconciler.java
@@ -5,32 +5,28 @@
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource;
@ControllerConfiguration(onUpdateFilter = UpdateFilter.class)
public class FilterTestReconciler
implements Reconciler,
- EventSourceInitializer,
- KubernetesClientAware {
+ EventSourceInitializer {
public static final String CONFIG_MAP_FILTER_VALUE = "config_map_skip_this";
public static final String CUSTOM_RESOURCE_FILTER_VALUE = "custom_resource_skip_this";
public static final String CM_VALUE_KEY = "value";
private final AtomicInteger numberOfExecutions = new AtomicInteger(0);
- private KubernetesClient client;
@Override
public UpdateControl reconcile(
FilterTestCustomResource resource,
Context context) {
numberOfExecutions.addAndGet(1);
- client.configMaps().inNamespace(resource.getMetadata().getNamespace())
+ context.getClient().configMaps().inNamespace(resource.getMetadata().getNamespace())
.resource(createConfigMap(resource))
.createOrReplace();
return UpdateControl.noUpdate();
@@ -65,14 +61,4 @@ public Map prepareEventSources(
return EventSourceInitializer.nameEventSources(configMapES);
}
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
- }
-
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/indexdiscriminator/IndexDiscriminatorTestReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/indexdiscriminator/IndexDiscriminatorTestReconciler.java
index b988c93491..4acda2feee 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/indexdiscriminator/IndexDiscriminatorTestReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/indexdiscriminator/IndexDiscriminatorTestReconciler.java
@@ -6,10 +6,8 @@
import java.util.concurrent.atomic.AtomicInteger;
import io.fabric8.kubernetes.api.model.ConfigMap;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource;
import io.javaoperatorsdk.operator.support.TestExecutionInfoProvider;
@@ -18,8 +16,7 @@
public class IndexDiscriminatorTestReconciler
implements Reconciler,
Cleaner,
- TestExecutionInfoProvider, EventSourceInitializer,
- KubernetesClientAware {
+ TestExecutionInfoProvider, EventSourceInitializer {
public static final String FIRST_CONFIG_MAP_SUFFIX_1 = "-1";
public static final String FIRST_CONFIG_MAP_SUFFIX_2 = "-2";
@@ -30,7 +27,6 @@ public class IndexDiscriminatorTestReconciler
private final IndexDiscriminatorTestDRConfigMap firstDependentResourceConfigMap;
private final IndexDiscriminatorTestDRConfigMap secondDependentResourceConfigMap;
- private KubernetesClient client;
public IndexDiscriminatorTestReconciler() {
firstDependentResourceConfigMap =
@@ -88,18 +84,6 @@ public Map prepareEventSources(
return EventSourceInitializer.nameEventSources(eventSource);
}
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
- firstDependentResourceConfigMap.setKubernetesClient(kubernetesClient);
- secondDependentResourceConfigMap.setKubernetesClient(kubernetesClient);
- }
-
public static String configMapKey(ConfigMap configMap) {
return configMap.getMetadata().getName() + "#" + configMap.getMetadata().getNamespace();
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/kubernetesdependentgarbagecollection/DependentGarbageCollectionTestReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/kubernetesdependentgarbagecollection/DependentGarbageCollectionTestReconciler.java
index c20d573a03..fcb2192539 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/kubernetesdependentgarbagecollection/DependentGarbageCollectionTestReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/kubernetesdependentgarbagecollection/DependentGarbageCollectionTestReconciler.java
@@ -8,7 +8,6 @@
import io.fabric8.kubernetes.client.KubernetesClientException;
import io.javaoperatorsdk.operator.api.reconciler.*;
import io.javaoperatorsdk.operator.api.reconciler.dependent.GarbageCollected;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.dependent.Creator;
import io.javaoperatorsdk.operator.processing.dependent.Updater;
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource;
@@ -18,7 +17,7 @@
public class DependentGarbageCollectionTestReconciler
implements Reconciler,
EventSourceInitializer,
- KubernetesClientAware, ErrorStatusHandler {
+ ErrorStatusHandler {
private KubernetesClient kubernetesClient;
private volatile boolean errorOccurred = false;
@@ -50,17 +49,6 @@ public UpdateControl reconcile(
return UpdateControl.noUpdate();
}
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.kubernetesClient = kubernetesClient;
- configMapDependent.setKubernetesClient(kubernetesClient);
- }
-
- @Override
- public KubernetesClient getKubernetesClient() {
- return this.kubernetesClient;
- }
-
@Override
public ErrorStatusUpdateControl updateErrorStatus(
DependentGarbageCollectionTestCustomResource resource,
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/multipledependentresource/MultipleDependentResourceReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/multipledependentresource/MultipleDependentResourceReconciler.java
index 49f5ee64c1..2dc7f6490f 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/multipledependentresource/MultipleDependentResourceReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/multipledependentresource/MultipleDependentResourceReconciler.java
@@ -4,10 +4,8 @@
import java.util.concurrent.atomic.AtomicInteger;
import io.fabric8.kubernetes.api.model.ConfigMap;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.event.ResourceID;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource;
@@ -16,8 +14,7 @@
@ControllerConfiguration
public class MultipleDependentResourceReconciler
implements Reconciler,
- TestExecutionInfoProvider, EventSourceInitializer,
- KubernetesClientAware {
+ TestExecutionInfoProvider, EventSourceInitializer {
public static final int FIRST_CONFIG_MAP_ID = 1;
public static final int SECOND_CONFIG_MAP_ID = 2;
@@ -25,7 +22,6 @@ public class MultipleDependentResourceReconciler
private final MultipleDependentResourceConfigMap firstDependentResourceConfigMap;
private final MultipleDependentResourceConfigMap secondDependentResourceConfigMap;
- private KubernetesClient client;
public MultipleDependentResourceReconciler() {
firstDependentResourceConfigMap = new MultipleDependentResourceConfigMap(FIRST_CONFIG_MAP_ID);
@@ -70,16 +66,4 @@ public Map prepareEventSources(
return EventSourceInitializer.nameEventSources(eventSource);
}
-
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
- firstDependentResourceConfigMap.setKubernetesClient(kubernetesClient);
- secondDependentResourceConfigMap.setKubernetesClient(kubernetesClient);
- }
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/multiplesecondaryeventsource/MultipleSecondaryEventSourceReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/multiplesecondaryeventsource/MultipleSecondaryEventSourceReconciler.java
index e3cc6e8c63..8f4ed834aa 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/multiplesecondaryeventsource/MultipleSecondaryEventSourceReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/multiplesecondaryeventsource/MultipleSecondaryEventSourceReconciler.java
@@ -7,10 +7,8 @@
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.ObjectMeta;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.event.ResourceID;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource;
@@ -19,10 +17,9 @@
@ControllerConfiguration
public class MultipleSecondaryEventSourceReconciler
implements Reconciler, TestExecutionInfoProvider,
- EventSourceInitializer, KubernetesClientAware {
+ EventSourceInitializer {
private final AtomicInteger numberOfExecutions = new AtomicInteger(0);
- private KubernetesClient client;
@Override
public UpdateControl reconcile(
@@ -30,6 +27,7 @@ public UpdateControl reconcile(
Context context) {
numberOfExecutions.addAndGet(1);
+ final var client = context.getClient();
if (client.configMaps().inNamespace(resource.getMetadata().getNamespace())
.withName(getName1(resource)).get() == null) {
client.configMaps().inNamespace(resource.getMetadata().getNamespace())
@@ -94,14 +92,4 @@ ConfigMap configMap(String name, MultipleSecondaryEventSourceCustomResource reso
configMap.addOwnerReference(resource);
return configMap;
}
-
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
- }
}
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/perresourceeventsource/PerResourcePollingEventSourceTestReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/perresourceeventsource/PerResourcePollingEventSourceTestReconciler.java
index f8cb3ffa44..81d8773986 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/perresourceeventsource/PerResourcePollingEventSourceTestReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/perresourceeventsource/PerResourcePollingEventSourceTestReconciler.java
@@ -6,24 +6,19 @@
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
import io.javaoperatorsdk.operator.processing.event.source.polling.PerResourcePollingEventSource;
@ControllerConfiguration
public class PerResourcePollingEventSourceTestReconciler
implements Reconciler,
- EventSourceInitializer,
- KubernetesClientAware {
+ EventSourceInitializer {
public static final int POLL_PERIOD = 100;
private final Map numberOfExecutions = new ConcurrentHashMap<>();
private final Map numberOfFetchExecutions = new ConcurrentHashMap<>();
- private KubernetesClient client;
-
@Override
public UpdateControl reconcile(
PerResourceEventSourceCustomResource resource,
@@ -46,16 +41,6 @@ public Map prepareEventSources(
return EventSourceInitializer.nameEventSources(eventSource);
}
- @Override
- public KubernetesClient getKubernetesClient() {
- return client;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.client = kubernetesClient;
- }
-
public int getNumberOfExecutions(String name) {
var num = numberOfExecutions.get(name);
return num == null ? 0 : num;
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/simple/TestReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/simple/TestReconciler.java
index df24cbe38e..fea06bba93 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/simple/TestReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/simple/TestReconciler.java
@@ -10,17 +10,14 @@
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.ConfigMapBuilder;
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.javaoperatorsdk.operator.ReconcilerUtils;
import io.javaoperatorsdk.operator.api.reconciler.*;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
import io.javaoperatorsdk.operator.support.TestExecutionInfoProvider;
@ControllerConfiguration(generationAwareEventProcessing = false)
public class TestReconciler
implements Reconciler, Cleaner,
- TestExecutionInfoProvider,
- KubernetesClientAware {
+ TestExecutionInfoProvider {
private static final Logger log = LoggerFactory.getLogger(TestReconciler.class);
@@ -29,7 +26,6 @@ public class TestReconciler
private final AtomicInteger numberOfExecutions = new AtomicInteger(0);
private final AtomicInteger numberOfCleanupExecutions = new AtomicInteger(0);
- private KubernetesClient kubernetesClient;
private volatile boolean updateStatus;
private volatile boolean patchStatus;
@@ -51,22 +47,12 @@ public void setUpdateStatus(boolean updateStatus) {
this.updateStatus = updateStatus;
}
- @Override
- public KubernetesClient getKubernetesClient() {
- return kubernetesClient;
- }
-
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.kubernetesClient = kubernetesClient;
- }
-
@Override
public DeleteControl cleanup(
TestCustomResource resource, Context context) {
numberOfCleanupExecutions.incrementAndGet();
- var statusDetail = kubernetesClient
+ var statusDetail = context.getClient()
.configMaps()
.inNamespace(resource.getMetadata().getNamespace())
.withName(resource.getSpec().getConfigMapName())
@@ -93,7 +79,7 @@ public UpdateControl reconcile(
if (!resource.getMetadata().getFinalizers().contains(FINALIZER_NAME)) {
throw new IllegalStateException("Finalizer is not present.");
}
-
+ final var kubernetesClient = context.getClient();
ConfigMap existingConfigMap =
kubernetesClient
.configMaps()
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/standalonedependent/StandaloneDependentTestReconciler.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/standalonedependent/StandaloneDependentTestReconciler.java
index 4b20bdccb3..77fcf0b85d 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/standalonedependent/StandaloneDependentTestReconciler.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/standalonedependent/StandaloneDependentTestReconciler.java
@@ -4,19 +4,10 @@
import java.util.Optional;
import io.fabric8.kubernetes.api.model.apps.Deployment;
-import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClientException;
import io.javaoperatorsdk.operator.ReconcilerUtils;
import io.javaoperatorsdk.operator.StandaloneDependentResourceIT;
-import io.javaoperatorsdk.operator.api.reconciler.Context;
-import io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration;
-import io.javaoperatorsdk.operator.api.reconciler.ErrorStatusHandler;
-import io.javaoperatorsdk.operator.api.reconciler.ErrorStatusUpdateControl;
-import io.javaoperatorsdk.operator.api.reconciler.EventSourceContext;
-import io.javaoperatorsdk.operator.api.reconciler.EventSourceInitializer;
-import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
-import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
-import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
+import io.javaoperatorsdk.operator.api.reconciler.*;
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource;
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
@@ -24,9 +15,7 @@
public class StandaloneDependentTestReconciler
implements Reconciler,
EventSourceInitializer,
- KubernetesClientAware, ErrorStatusHandler {
-
- private KubernetesClient kubernetesClient;
+ ErrorStatusHandler {
private volatile boolean errorOccurred = false;
DeploymentDependentResource deploymentDependent;
@@ -59,17 +48,6 @@ public UpdateControl reconcile(
return UpdateControl.noUpdate();
}
- @Override
- public void setKubernetesClient(KubernetesClient kubernetesClient) {
- this.kubernetesClient = kubernetesClient;
- deploymentDependent.setKubernetesClient(kubernetesClient);
- }
-
- @Override
- public KubernetesClient getKubernetesClient() {
- return this.kubernetesClient;
- }
-
@Override
public ErrorStatusUpdateControl updateErrorStatus(
StandaloneDependentTestCustomResource resource,
diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/workflowallfeature/ConfigMapDependentResource.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/workflowallfeature/ConfigMapDependentResource.java
index 0620d6a753..04876b7959 100644
--- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/workflowallfeature/ConfigMapDependentResource.java
+++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/workflowallfeature/ConfigMapDependentResource.java
@@ -52,7 +52,7 @@ public void delete(WorkflowAllFeatureCustomResource primary,
optionalConfigMap.ifPresent((configMap -> {
if (configMap.getMetadata().getAnnotations() != null
&& configMap.getMetadata().getAnnotations().get(READY_TO_DELETE_ANNOTATION) != null) {
- client.resource(configMap).delete();
+ context.getClient().resource(configMap).delete();
}
}));
}
diff --git a/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageDependentsWorkflowReconciler.java b/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageDependentsWorkflowReconciler.java
index d21e89a172..8494af5402 100644
--- a/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageDependentsWorkflowReconciler.java
+++ b/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageDependentsWorkflowReconciler.java
@@ -8,14 +8,7 @@
import io.fabric8.kubernetes.api.model.apps.Deployment;
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
import io.fabric8.kubernetes.client.KubernetesClient;
-import io.javaoperatorsdk.operator.api.reconciler.Context;
-import io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration;
-import io.javaoperatorsdk.operator.api.reconciler.ErrorStatusHandler;
-import io.javaoperatorsdk.operator.api.reconciler.ErrorStatusUpdateControl;
-import io.javaoperatorsdk.operator.api.reconciler.EventSourceContext;
-import io.javaoperatorsdk.operator.api.reconciler.EventSourceInitializer;
-import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
-import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
+import io.javaoperatorsdk.operator.api.reconciler.*;
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource;
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResourceConfigBuilder;
import io.javaoperatorsdk.operator.processing.dependent.workflow.Workflow;
@@ -24,9 +17,7 @@
import io.javaoperatorsdk.operator.sample.customresource.WebPage;
import io.javaoperatorsdk.operator.sample.dependentresource.*;
-import static io.javaoperatorsdk.operator.sample.Utils.createStatus;
-import static io.javaoperatorsdk.operator.sample.Utils.handleError;
-import static io.javaoperatorsdk.operator.sample.Utils.simulateErrorIfRequested;
+import static io.javaoperatorsdk.operator.sample.Utils.*;
/**
* Shows how to implement reconciler using standalone dependent resources.
@@ -90,7 +81,6 @@ private void initDependentResources(KubernetesClient client) {
this.ingressDR = new IngressDependentResource();
Arrays.asList(configMapDR, deploymentDR, serviceDR, ingressDR).forEach(dr -> {
- dr.setKubernetesClient(client);
dr.configureWith(new KubernetesDependentResourceConfigBuilder()
.withLabelSelector(DEPENDENT_RESOURCE_LABEL_SELECTOR).build());
});
diff --git a/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageStandaloneDependentsReconciler.java b/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageStandaloneDependentsReconciler.java
index c1b3030c9b..34a208f72e 100644
--- a/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageStandaloneDependentsReconciler.java
+++ b/sample-operators/webpage/src/main/java/io/javaoperatorsdk/operator/sample/WebPageStandaloneDependentsReconciler.java
@@ -87,7 +87,6 @@ private void createDependentResources(KubernetesClient client) {
this.ingressDR = new IngressDependentResource();
Arrays.asList(configMapDR, deploymentDR, serviceDR, ingressDR).forEach(dr -> {
- dr.setKubernetesClient(client);
dr.configureWith(new KubernetesDependentResourceConfigBuilder()
.withLabelSelector(SELECTOR + "=true").build());
});