@@ -184,8 +184,8 @@ public void applyManifests(
184
184
KubernetesDevServiceInfoBuildItem kubernetesDevServiceInfoBuildItem ,
185
185
KubernetesClientBuildConfig kubernetesClientBuildTimeConfig ) {
186
186
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" );
189
189
return ;
190
190
}
191
191
@@ -367,6 +367,13 @@ private RunningDevService startKubernetes(DockerStatusBuildItem dockerStatusBuil
367
367
getKubernetesClientConfigFromKubeConfig (kubeConfig ));
368
368
};
369
369
370
+ maybeContainerAddress .ifPresent (containerAddress -> {
371
+ devServicesKube
372
+ .produce (new KubernetesDevServiceInfoBuildItem (
373
+ KubeConfigUtils .serializeKubeConfig (getKubeconfigFromRunningContainer (containerAddress )),
374
+ containerAddress .getId ()));
375
+ });
376
+
370
377
return maybeContainerAddress
371
378
.map (containerAddress -> new RunningDevService (Feature .KUBERNETES_CLIENT .getName (),
372
379
containerAddress .getId (),
@@ -425,6 +432,13 @@ private Map<String, String> resolveConfigurationFromRunningContainer(ContainerAd
425
432
return container .getKubeconfig ();
426
433
}
427
434
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
+
428
442
private KubernetesDevServiceCfg getConfiguration (KubernetesClientBuildConfig cfg ) {
429
443
KubernetesDevServicesBuildTimeConfig devServicesConfig = cfg .devservices ();
430
444
return new KubernetesDevServiceCfg (devServicesConfig );
@@ -496,19 +510,19 @@ public RunningContainer(DockerClient dockerClient, ContainerAddress containerAdd
496
510
this .containerInfo = dockerClient .inspectContainerCmd (getContainerId ()).exec ();
497
511
}
498
512
499
- public Map < String , String > getKubeconfig () {
513
+ private KubeConfig getKubeconfigFromContainer () {
500
514
var image = getContainerInfo ().getConfig ().getImage ();
501
515
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 )));
505
519
} 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 )));
509
523
} else if (image .contains ("k8s.gcr.io/kube-apiserver" ) ||
510
524
image .contains ("registry.k8s.io/kube-apiserver" )) {
511
- return getKubernetesClientConfigFromKubeConfig ( getKubeconfigFromApiContainer (containerAddress .getUrl () ));
525
+ return getKubeconfigFromApiContainer (containerAddress .getUrl ());
512
526
}
513
527
514
528
// this can happen only if the user manually start
@@ -517,6 +531,10 @@ public Map<String, String> getKubeconfig() {
517
531
+ "' is not compatible with Dev Services for Kubernetes. Stop it or disable Dev Services for Kubernetes." );
518
532
}
519
533
534
+ public Map <String , String > getKubeconfig () {
535
+ return getKubernetesClientConfigFromKubeConfig (getKubeconfigFromContainer ());
536
+ }
537
+
520
538
protected KubeConfig getKubeconfigFromApiContainer (final String url ) {
521
539
final Cluster cluster = new Cluster ();
522
540
cluster .setName (APISERVER );
0 commit comments