@@ -184,8 +184,8 @@ public void applyManifests(
184184 KubernetesDevServiceInfoBuildItem kubernetesDevServiceInfoBuildItem ,
185185 KubernetesClientBuildConfig kubernetesClientBuildTimeConfig ) {
186186 if (kubernetesDevServiceInfoBuildItem == null ) {
187- // Gracefully return in case the Kubernetes dev service could not be spun up.
188- log .warn ("Cannot apply manifests because the Kubernetes dev service is not running" );
187+ // Gracefully return in case the Kubernetes dev service could not be found
188+ log .error ("Cannot apply manifests because the Kubernetes dev service is not running" );
189189 return ;
190190 }
191191
@@ -367,6 +367,13 @@ private RunningDevService startKubernetes(DockerStatusBuildItem dockerStatusBuil
367367 getKubernetesClientConfigFromKubeConfig (kubeConfig ));
368368 };
369369
370+ maybeContainerAddress .ifPresent (containerAddress -> {
371+ devServicesKube
372+ .produce (new KubernetesDevServiceInfoBuildItem (
373+ KubeConfigUtils .serializeKubeConfig (getKubeconfigFromRunningContainer (containerAddress )),
374+ containerAddress .getId ()));
375+ });
376+
370377 return maybeContainerAddress
371378 .map (containerAddress -> new RunningDevService (Feature .KUBERNETES_CLIENT .getName (),
372379 containerAddress .getId (),
@@ -425,6 +432,13 @@ private Map<String, String> resolveConfigurationFromRunningContainer(ContainerAd
425432 return container .getKubeconfig ();
426433 }
427434
435+ private KubeConfig getKubeconfigFromRunningContainer (ContainerAddress containerAddress ) {
436+ var dockerClient = DockerClientFactory .lazyClient ();
437+ var container = new RunningContainer (dockerClient , containerAddress );
438+
439+ return container .getKubeconfigFromContainer ();
440+ }
441+
428442 private KubernetesDevServiceCfg getConfiguration (KubernetesClientBuildConfig cfg ) {
429443 KubernetesDevServicesBuildTimeConfig devServicesConfig = cfg .devservices ();
430444 return new KubernetesDevServiceCfg (devServicesConfig );
@@ -496,19 +510,19 @@ public RunningContainer(DockerClient dockerClient, ContainerAddress containerAdd
496510 this .containerInfo = dockerClient .inspectContainerCmd (getContainerId ()).exec ();
497511 }
498512
499- public Map < String , String > getKubeconfig () {
513+ private KubeConfig getKubeconfigFromContainer () {
500514 var image = getContainerInfo ().getConfig ().getImage ();
501515 if (image .contains ("rancher/k3s" )) {
502- return getKubernetesClientConfigFromKubeConfig (
503- KubeConfigUtils .parseKubeConfig (KubeConfigUtils .replaceServerInKubeconfig (containerAddress .getUrl (),
504- getFileContentFromContainer (K3S_KUBECONFIG )))) ;
516+ return KubeConfigUtils
517+ .parseKubeConfig (KubeConfigUtils .replaceServerInKubeconfig ("https://" + containerAddress .getUrl (),
518+ getFileContentFromContainer (K3S_KUBECONFIG )));
505519 } else if (image .contains ("kindest/node" )) {
506- return getKubernetesClientConfigFromKubeConfig (
507- KubeConfigUtils .parseKubeConfig (KubeConfigUtils .replaceServerInKubeconfig (containerAddress .getUrl (),
508- getFileContentFromContainer (KIND_KUBECONFIG )))) ;
520+ return KubeConfigUtils
521+ .parseKubeConfig (KubeConfigUtils .replaceServerInKubeconfig ("https://" + containerAddress .getUrl (),
522+ getFileContentFromContainer (KIND_KUBECONFIG )));
509523 } else if (image .contains ("k8s.gcr.io/kube-apiserver" ) ||
510524 image .contains ("registry.k8s.io/kube-apiserver" )) {
511- return getKubernetesClientConfigFromKubeConfig ( getKubeconfigFromApiContainer (containerAddress .getUrl () ));
525+ return getKubeconfigFromApiContainer (containerAddress .getUrl ());
512526 }
513527
514528 // this can happen only if the user manually start
@@ -517,6 +531,10 @@ public Map<String, String> getKubeconfig() {
517531 + "' is not compatible with Dev Services for Kubernetes. Stop it or disable Dev Services for Kubernetes." );
518532 }
519533
534+ public Map <String , String > getKubeconfig () {
535+ return getKubernetesClientConfigFromKubeConfig (getKubeconfigFromContainer ());
536+ }
537+
520538 protected KubeConfig getKubeconfigFromApiContainer (final String url ) {
521539 final Cluster cluster = new Cluster ();
522540 cluster .setName (APISERVER );
0 commit comments