This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 77b96dcc03c [CAMEL-21345] Invalid manifest with jbang camel k8s 
--cluster-type openshift (#15944)
77b96dcc03c is described below

commit 77b96dcc03cbebeb255f08cfda2a25f971d92b53
Author: Thomas Diesler <[email protected]>
AuthorDate: Mon Oct 14 15:42:53 2024 +0200

    [CAMEL-21345] Invalid manifest with jbang camel k8s --cluster-type 
openshift (#15944)
---
 .../core/commands/kubernetes/KubernetesExport.java      |  5 +++--
 .../core/commands/kubernetes/traits/TraitHelper.java    | 17 +++++++++++------
 2 files changed, 14 insertions(+), 8 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
index 214b5cece91..04b9a488249 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java
@@ -275,7 +275,8 @@ public class KubernetesExport extends Export {
 
         Container container = traitsSpec.getContainer();
 
-        
buildProperties.add("%s.kubernetes.image-name=%s".formatted(propPrefix, 
container.getImage()));
+        var resolvedImageName = 
TraitHelper.getResolvedImageName(resolvedImageGroup, projectName, getVersion());
+        
buildProperties.add("%s.kubernetes.image-name=%s".formatted(propPrefix, 
resolvedImageName));
         
buildProperties.add("%s.kubernetes.ports.%s.container-port=%d".formatted(propPrefix,
                 
Optional.ofNullable(container.getPortName()).orElse(ContainerTrait.DEFAULT_CONTAINER_PORT_NAME),
                 
Optional.ofNullable(container.getPort()).map(Long::intValue).orElse(ContainerTrait.DEFAULT_CONTAINER_PORT)));
@@ -356,7 +357,7 @@ public class KubernetesExport extends Export {
         var kubeFragments = 
context.buildItems().stream().map(KubernetesHelper::toJsonMap).toList();
 
         // Quarkus: dump joined fragments to kubernetes.yml
-        if (runtime == RuntimeType.quarkus) {
+        if (runtime == RuntimeType.quarkus && 
!ClusterType.OPENSHIFT.isEqualTo(clusterType)) {
             var kubeManifest = 
kubeFragments.stream().map(KubernetesHelper::dumpYaml).collect(Collectors.joining("---\n"));
             safeCopy(new 
ByteArrayInputStream(kubeManifest.getBytes(StandardCharsets.UTF_8)),
                     KubernetesHelper.getKubernetesManifest(clusterType, 
exportDir + "/src/main/kubernetes"));
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
index 8aea1cc6b58..153a1616b26 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/TraitHelper.java
@@ -290,12 +290,8 @@ public final class TraitHelper {
                 registryPrefix = imageRegistry + "/";
             }
 
-            imageGroup = Optional.ofNullable(imageGroup).orElse("");
-            if (!imageGroup.isEmpty()) {
-                containerTrait.setImage("%s%s/%s:%s".formatted(registryPrefix, 
imageGroup, imageName, version));
-            } else {
-                containerTrait.setImage("%s%s:%s".formatted(registryPrefix, 
imageName, version));
-            }
+            var resolvedImageName = getResolvedImageName(imageGroup, 
imageName, version);
+            containerTrait.setImage("%s%s".formatted(registryPrefix, 
resolvedImageName));
 
             // Plain export command always exposes a health endpoint on 8080.
             // Skip this, when we decide that the health endpoint can be 
disabled.
@@ -308,6 +304,15 @@ public final class TraitHelper {
         }
     }
 
+    public static String getResolvedImageName(String imageGroup, String 
imageName, String version) {
+        imageGroup = Optional.ofNullable(imageGroup).orElse("");
+        if (!imageGroup.isEmpty()) {
+            return "%s/%s:%s".formatted(imageGroup, imageName, version);
+        } else {
+            return "%s:%s".formatted(imageName, version);
+        }
+    }
+
     /**
      * Inspect sources in context to retrieve routes that expose a Http 
service as an endpoint.
      *

Reply via email to