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();
}