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

claudio4j pushed a commit to branch camel-4.14.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.14.x by this push:
     new 8074e4c8a159 Backport camel-jbang fixes to 4.14.x CAMEL-22456 
CAMEL-22455 CAMEL-22484  (#19425)
8074e4c8a159 is described below

commit 8074e4c8a1591065661c5570b83e1d281f2c8fb1
Author: Claudio Miranda <[email protected]>
AuthorDate: Fri Oct 3 13:00:50 2025 +0100

    Backport camel-jbang fixes to 4.14.x CAMEL-22456 CAMEL-22455 CAMEL-22484  
(#19425)
    
    * CAMEL-22456 Use route.openshift.io to detect the openshift cluster 
(#19328)
    
    CAMEL-22455 Use mirror.gcr.io for base image
    
    (cherry picked from commit 6a19b85dbdb08f0217e69903448896d16c52e555)
    
    * CAMEL-22484 camel-jbang-kubernetes fails to deploy to openshift when 
using custom GAV (#19409)
    
    https://issues.apache.org/jira/browse/CAMEL-22484
    (cherry picked from commit 711a19d5e48e4938692fb5c9ed810526523f6bc7)
---
 dsl/camel-jbang/camel-jbang-container/Dockerfile   |  5 ++---
 .../dsl/jbang/core/commands/ExportCamelMain.java   |  2 +-
 .../dsl/jbang/core/commands/ExportMainJibTest.java |  6 ++++--
 .../jbang/core/commands/ExportMainJkubeTest.java   |  3 ++-
 .../core/commands/kubernetes/KubernetesExport.java | 10 ++--------
 .../core/commands/kubernetes/KubernetesHelper.java |  2 +-
 .../core/commands/kubernetes/KubernetesRun.java    |  2 +-
 .../commands/kubernetes/KubernetesExportTest.java  | 22 +++++++++++-----------
 .../kubernetes/KubernetesRunCustomTest.java        |  4 ++--
 9 files changed, 26 insertions(+), 30 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-container/Dockerfile 
b/dsl/camel-jbang/camel-jbang-container/Dockerfile
index 248a7fc583bd..4841d105f2dc 100644
--- a/dsl/camel-jbang/camel-jbang-container/Dockerfile
+++ b/dsl/camel-jbang/camel-jbang-container/Dockerfile
@@ -15,7 +15,7 @@
 # limitations under the License.
 #
 
-FROM docker.io/eclipse-temurin:21-jdk
+FROM mirror.gcr.io/library/eclipse-temurin:21-jdk
 
 ENV JBANG_VERSION=0.127.18
 # /!\ Camel version must be changed in the entrypoint line too
@@ -30,6 +30,5 @@ RUN jbang trust add https://github.com/apache/camel
 
 # used to initiliaze dependencies in the docker image
 RUN jbang -Dcamel.jbang.version=$CAMEL_VERSION camel@apache/camel version
-    
-ENTRYPOINT [ "jbang", "-Dcamel.jbang.version=4.14.0", "camel@apache/camel"]
 
+ENTRYPOINT [ "jbang", "-Dcamel.jbang.version=4.14.0", "camel@apache/camel"]
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
index 510f340b1219..26e6cdb572d4 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
@@ -303,7 +303,7 @@ class ExportCamelMain extends Export {
             }
             // from image is mandatory so use a default image if none provided
             if (fromImage == null) {
-                fromImage = "eclipse-temurin:" + javaVersion + "-jre";
+                fromImage = "mirror.gcr.io/library/eclipse-temurin:" + 
javaVersion + "-jre";
                 sb1.append(String.format("        <%s>%s</%s>%n", 
"jib.from.image", fromImage, "jib.from.image"));
             }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportMainJibTest.java
 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportMainJibTest.java
index 28f7c48ea32c..b2220d6ba700 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportMainJibTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportMainJibTest.java
@@ -81,7 +81,8 @@ class ExportMainJibTest {
         Assertions.assertEquals("1.0.0", model.getVersion());
         Assertions.assertEquals("17", 
model.getProperties().getProperty("java.version"));
         Assertions.assertEquals("abc", 
model.getProperties().getProperty("jib.label"));
-        Assertions.assertEquals("eclipse-temurin:17-jre", 
model.getProperties().getProperty("jib.from.image"));
+        Assertions.assertEquals("mirror.gcr.io/library/eclipse-temurin:17-jre",
+                model.getProperties().getProperty("jib.from.image"));
 
         // should contain jib plugin
         Assertions.assertEquals(4, model.getBuild().getPlugins().size());
@@ -111,7 +112,8 @@ class ExportMainJibTest {
         Assertions.assertEquals("1.0.0", model.getVersion());
         Assertions.assertEquals("21", 
model.getProperties().getProperty("java.version"));
         Assertions.assertEquals("abc", 
model.getProperties().getProperty("jib.label"));
-        Assertions.assertEquals("eclipse-temurin:21-jre", 
model.getProperties().getProperty("jib.from.image"));
+        Assertions.assertEquals("mirror.gcr.io/library/eclipse-temurin:21-jre",
+                model.getProperties().getProperty("jib.from.image"));
 
         // should contain jib plugin
         Assertions.assertEquals(4, model.getBuild().getPlugins().size());
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportMainJkubeTest.java
 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportMainJkubeTest.java
index 87a933bb5b28..a8479d2cfdc5 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportMainJkubeTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportMainJkubeTest.java
@@ -81,7 +81,8 @@ class ExportMainJkubeTest {
         Assertions.assertEquals("1.0.0", model.getVersion());
         Assertions.assertEquals("21", 
model.getProperties().getProperty("java.version"));
         Assertions.assertEquals("abc", 
model.getProperties().getProperty("jib.label"));
-        Assertions.assertEquals("eclipse-temurin:21-jre", 
model.getProperties().getProperty("jib.from.image"));
+        Assertions.assertEquals("mirror.gcr.io/library/eclipse-temurin:21-jre",
+                model.getProperties().getProperty("jib.from.image"));
 
         // should contain jib and jkube plugin
         Assertions.assertEquals(5, model.getBuild().getPlugins().size());
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 5bc410fd9fd6..390f6348a9f3 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
@@ -118,7 +118,7 @@ public class KubernetesExport extends Export {
     protected String[] imagePlatforms;
 
     @CommandLine.Option(names = { "--base-image" },
-                        description = "The base image that is used to build 
the container image from (default is eclipse-temurin:<java-version>).")
+                        description = "The base image that is used to build 
the container image from (default is 
mirror.gcr.io/library/eclipse-temurin:21-jdk:<java-version>).")
     protected String baseImage;
 
     @CommandLine.Option(names = { "--registry-mirror" },
@@ -348,7 +348,7 @@ public class KubernetesExport extends Export {
 
         if (baseImage == null) {
             // use default base image with java version
-            baseImage = "eclipse-temurin:%s".formatted(javaVersion);
+            baseImage = 
"mirror.gcr.io/library/eclipse-temurin:%s".formatted(javaVersion);
         }
 
         if (registryMirror != null) {
@@ -476,12 +476,6 @@ public class KubernetesExport extends Export {
             return imageGroup;
         }
 
-        if (gav != null) {
-            var groupId = parseMavenGav(gav).getGroupId();
-            var dotToks = groupId.split("\\.");
-            return dotToks[dotToks.length - 1];
-        }
-
         return null;
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
index 9a8f9b160f4d..edc4cf28bc04 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesHelper.java
@@ -154,7 +154,7 @@ public final class KubernetesHelper {
     private static boolean isConnectedToOpenshift() {
         boolean ocp = false;
         try {
-            APIGroup apiGroup = 
getKubernetesClient().getApiGroup("config.openshift.io");
+            APIGroup apiGroup = 
getKubernetesClient().getApiGroup("route.openshift.io");
             ocp = apiGroup != null;
         } catch (RuntimeException e) {
             System.out.println("Failed to detect cluster: " + e.getMessage() + 
", default to kubernetes.");
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
index aaa69433047d..bfd32b2a3417 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java
@@ -174,7 +174,7 @@ public class KubernetesRun extends KubernetesBaseCommand {
     String[] imagePlatforms;
 
     @CommandLine.Option(names = { "--base-image" },
-                        description = "The base image that is used to build 
the container image from (default is eclipse-temurin:<java-version>).")
+                        description = "The base image that is used to build 
the container image from (default is 
mirror.gcr.io/library/eclipse-temurin:<java-version>).")
     String baseImage;
 
     @CommandLine.Option(names = { "--registry-mirror" },
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
index 3cd8fea59660..8ce421591ae3 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java
@@ -65,9 +65,9 @@ class KubernetesExportTest extends KubernetesExportBaseTest {
         Assertions.assertEquals("1.0.0", model.getVersion());
 
         Properties props = model.getProperties();
-        Assertions.assertEquals("examples/route:1.0.0", 
props.get("jkube.image.name"));
-        Assertions.assertEquals("examples/route:1.0.0", 
props.get("jkube.container-image.name"));
-        Assertions.assertEquals("eclipse-temurin:21", 
props.get("jkube.container-image.from"));
+        Assertions.assertEquals("route:1.0.0", props.get("jkube.image.name"));
+        Assertions.assertEquals("route:1.0.0", 
props.get("jkube.container-image.name"));
+        Assertions.assertEquals("mirror.gcr.io/library/eclipse-temurin:21", 
props.get("jkube.container-image.from"));
         Assertions.assertEquals("jib", props.get("jkube.build.strategy"));
         Assertions.assertNull(props.get("jkube.docker.push.registry"));
         Assertions.assertNull(props.get("jkube.container-image.registry"));
@@ -103,9 +103,9 @@ class KubernetesExportTest extends KubernetesExportBaseTest 
{
         Assertions.assertEquals("1.0.0", model.getVersion());
 
         Properties props = model.getProperties();
-        Assertions.assertEquals("examples/route:1.0.0", 
props.get("jkube.image.name"));
-        Assertions.assertEquals("examples/route:1.0.0", 
props.get("jkube.container-image.name"));
-        Assertions.assertEquals("eclipse-temurin:17", 
props.get("jkube.container-image.from"));
+        Assertions.assertEquals("route:1.0.0", props.get("jkube.image.name"));
+        Assertions.assertEquals("route:1.0.0", 
props.get("jkube.container-image.name"));
+        Assertions.assertEquals("mirror.gcr.io/library/eclipse-temurin:17", 
props.get("jkube.container-image.from"));
         Assertions.assertEquals("jib", props.get("jkube.build.strategy"));
         Assertions.assertNull(props.get("jkube.docker.push.registry"));
         Assertions.assertNull(props.get("jkube.container-image.registry"));
@@ -144,9 +144,9 @@ class KubernetesExportTest extends KubernetesExportBaseTest 
{
         Assertions.assertEquals("1.0.0", model.getVersion());
 
         Properties props = model.getProperties();
-        Assertions.assertEquals("examples/route:1.0.0", 
props.get("jkube.image.name"));
-        Assertions.assertEquals("examples/route:1.0.0", 
props.get("jkube.container-image.name"));
-        Assertions.assertEquals("eclipse-temurin:21", 
props.get("jkube.container-image.from"));
+        Assertions.assertEquals("route:1.0.0", props.get("jkube.image.name"));
+        Assertions.assertEquals("route:1.0.0", 
props.get("jkube.container-image.name"));
+        Assertions.assertEquals("mirror.gcr.io/library/eclipse-temurin:21", 
props.get("jkube.container-image.from"));
         Assertions.assertEquals("jib", props.get("jkube.build.strategy"));
         Assertions.assertNull(props.get("jkube.docker.push.registry"));
         Assertions.assertNull(props.get("jkube.container-image.registry"));
@@ -508,8 +508,8 @@ class KubernetesExportTest extends KubernetesExportBaseTest 
{
         Assertions.assertEquals("1.0.0", model.getVersion());
 
         Properties props = model.getProperties();
-        Assertions.assertEquals("camel-test/route-service:1.0.0", 
props.get("jkube.image.name"));
-        Assertions.assertEquals("camel-test/route-service:1.0.0", 
props.get("jkube.container-image.name"));
+        Assertions.assertEquals("route-service:1.0.0", 
props.get("jkube.image.name"));
+        Assertions.assertEquals("route-service:1.0.0", 
props.get("jkube.container-image.name"));
 
         Service service = getService(rt);
         Assertions.assertEquals("route-service", 
service.getMetadata().getName());
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunCustomTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunCustomTest.java
index 7056dd96df70..de06373dfb75 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunCustomTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunCustomTest.java
@@ -255,10 +255,10 @@ class KubernetesRunCustomTest {
     private void setupServerExpectsOpenshift() {
         APIGroup apiGroup = new APIGroupBuilder()
                 .withApiVersion("v1")
-                .withName("config.openshift.io")
+                .withName("route.openshift.io")
                 .build();
 
-        server.expect().get().withPath("/apis/config.openshift.io")
+        server.expect().get().withPath("/apis/route.openshift.io")
                 .andReturn(HttpURLConnection.HTTP_OK, apiGroup)
                 .always();
     }

Reply via email to