Skip to content

Commit d0768d3

Browse files
authored
Merge pull request #46386 from ch007m/kubernetes-devservice
Create a KubernetesDevServiceInfoBuildItem
2 parents 0c9ccb3 + d695154 commit d0768d3

File tree

2 files changed

+33
-3
lines changed

2 files changed

+33
-3
lines changed

extensions/kubernetes-client/deployment/src/main/java/io/quarkus/kubernetes/client/deployment/DevServicesKubernetesProcessor.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import io.fabric8.kubernetes.client.Config;
4444
import io.quarkus.deployment.Feature;
4545
import io.quarkus.deployment.IsNormal;
46+
import io.quarkus.deployment.annotations.BuildProducer;
4647
import io.quarkus.deployment.annotations.BuildStep;
4748
import io.quarkus.deployment.annotations.BuildSteps;
4849
import io.quarkus.deployment.builditem.CuratedApplicationShutdownBuildItem;
@@ -62,6 +63,7 @@
6263
import io.quarkus.kubernetes.client.runtime.internal.KubernetesClientBuildConfig;
6364
import io.quarkus.kubernetes.client.runtime.internal.KubernetesDevServicesBuildTimeConfig;
6465
import io.quarkus.kubernetes.client.runtime.internal.KubernetesDevServicesBuildTimeConfig.Flavor;
66+
import io.quarkus.kubernetes.client.spi.KubernetesDevServiceInfoBuildItem;
6567
import io.quarkus.runtime.configuration.ConfigUtils;
6668

6769
@BuildSteps(onlyIfNot = IsNormal.class, onlyIf = { DevServicesConfig.Enabled.class, NoQuarkusTestKubernetesClient.class })
@@ -89,7 +91,8 @@ public DevServicesResultBuildItem setupKubernetesDevService(
8991
Optional<ConsoleInstalledBuildItem> consoleInstalledBuildItem,
9092
CuratedApplicationShutdownBuildItem closeBuildItem,
9193
LoggingSetupBuildItem loggingSetupBuildItem,
92-
DevServicesConfig devServicesConfig) {
94+
DevServicesConfig devServicesConfig,
95+
BuildProducer<KubernetesDevServiceInfoBuildItem> devServicesKube) {
9396

9497
KubernetesDevServiceCfg configuration = getConfiguration(kubernetesClientBuildTimeConfig);
9598

@@ -108,7 +111,8 @@ public DevServicesResultBuildItem setupKubernetesDevService(
108111
try {
109112
devService = startKubernetes(dockerStatusBuildItem, configuration, launchMode,
110113
!devServicesSharedNetworkBuildItem.isEmpty(),
111-
devServicesConfig.timeout());
114+
devServicesConfig.timeout(),
115+
devServicesKube);
112116
if (devService == null) {
113117
compressor.closeAndDumpCaptured();
114118
} else {
@@ -161,7 +165,8 @@ private void shutdownCluster() {
161165

162166
@SuppressWarnings("unchecked")
163167
private RunningDevService startKubernetes(DockerStatusBuildItem dockerStatusBuildItem, KubernetesDevServiceCfg config,
164-
LaunchModeBuildItem launchMode, boolean useSharedNetwork, Optional<Duration> timeout) {
168+
LaunchModeBuildItem launchMode, boolean useSharedNetwork, Optional<Duration> timeout,
169+
BuildProducer<KubernetesDevServiceInfoBuildItem> devServicesKube) {
165170
if (!config.devServicesEnabled) {
166171
// explicitly disabled
167172
log.debug("Not starting Dev Services for Kubernetes, as it has been disabled in the config.");
@@ -233,6 +238,9 @@ private RunningDevService startKubernetes(DockerStatusBuildItem dockerStatusBuil
233238

234239
KubeConfig kubeConfig = KubeConfigUtils.parseKubeConfig(container.getKubeconfig());
235240

241+
devServicesKube
242+
.produce(new KubernetesDevServiceInfoBuildItem(container.getKubeconfig(), container.getContainerId()));
243+
236244
return new RunningDevService(Feature.KUBERNETES_CLIENT.getName(), container.getContainerId(),
237245
new ContainerShutdownCloseable(container, Feature.KUBERNETES_CLIENT.getName()),
238246
getKubernetesClientConfigFromKubeConfig(kubeConfig));
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package io.quarkus.kubernetes.client.spi;
2+
3+
import io.quarkus.builder.item.SimpleBuildItem;
4+
5+
public final class KubernetesDevServiceInfoBuildItem extends SimpleBuildItem {
6+
private final String kubeConfig;
7+
private final String containerId;
8+
9+
public KubernetesDevServiceInfoBuildItem(String kubeConfig, String containerId) {
10+
this.kubeConfig = kubeConfig;
11+
this.containerId = containerId;
12+
}
13+
14+
public String getKubeConfig() {
15+
return kubeConfig;
16+
}
17+
18+
public String getContainerId() {
19+
return containerId;
20+
}
21+
22+
}

0 commit comments

Comments
 (0)