Skip to content

Commit b468830

Browse files
committed
feat: provide KubernetesClient access from context
1 parent d37d714 commit b468830

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

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

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.javaoperatorsdk.operator.api.reconciler;
22

33
import io.fabric8.kubernetes.api.model.HasMetadata;
4+
import io.fabric8.kubernetes.client.KubernetesClient;
45
import io.javaoperatorsdk.operator.api.config.ConfigurationService;
56
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
67
import io.javaoperatorsdk.operator.processing.event.source.ResourceCache;
@@ -14,11 +15,13 @@ public class EventSourceInitializationContext<P extends HasMetadata> {
1415

1516
private final ResourceCache<P> primaryCache;
1617
private final ConfigurationService configurationService;
18+
private final KubernetesClient client;
1719

1820
public EventSourceInitializationContext(ResourceCache<P> primaryCache,
19-
ConfigurationService configurationService) {
21+
ConfigurationService configurationService, KubernetesClient client) {
2022
this.primaryCache = primaryCache;
2123
this.configurationService = configurationService;
24+
this.client = client;
2225
}
2326

2427
/**
@@ -42,4 +45,15 @@ public ResourceCache<P> getPrimaryCache() {
4245
public ConfigurationService getConfigurationService() {
4346
return configurationService;
4447
}
48+
49+
/**
50+
* Provides access to the {@link KubernetesClient} used by the current
51+
* {@link io.javaoperatorsdk.operator.Operator} instance.
52+
*
53+
* @return the {@link KubernetesClient} used by the current
54+
* {@link io.javaoperatorsdk.operator.Operator} instance.
55+
*/
56+
public KubernetesClient getClient() {
57+
return client;
58+
}
4559
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public Controller(Reconciler<R> reconciler,
4646
eventSourceManager = new EventSourceManager<>(this);
4747
final var context = new EventSourceInitializationContext<>(
4848
eventSourceManager.getControllerResourceEventSource().getResourceCache(),
49-
configurationService());
49+
configurationService(), kubernetesClient);
5050
prepareEventSources(context).forEach(eventSourceManager::registerEventSource);
5151
}
5252

0 commit comments

Comments
 (0)