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 b91ce12751fa CAMEL-22880: Add camel dashboard default label when 
observe parameter is true for camel-jbang kubernetes plugin (#21300)
b91ce12751fa is described below

commit b91ce12751fad399e0048c7ef4a2ee4281b7aaa1
Author: GaĆ«lle Fournier <[email protected]>
AuthorDate: Fri Feb 6 15:05:20 2026 +0100

    CAMEL-22880: Add camel dashboard default label when observe parameter is 
true for camel-jbang kubernetes plugin (#21300)
---
 docs/user-manual/modules/ROOT/pages/camel-jbang-kubernetes.adoc   | 2 ++
 .../dsl/jbang/core/commands/kubernetes/KubernetesExport.java      | 4 ++++
 .../dsl/jbang/core/commands/kubernetes/traits/LabelTrait.java     | 1 +
 .../dsl/jbang/core/commands/kubernetes/KubernetesExportTest.java  | 8 +++++---
 .../dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java     | 2 ++
 5 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang-kubernetes.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-jbang-kubernetes.adoc
index e10f10e1a964..f65494a29bad 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang-kubernetes.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-kubernetes.adoc
@@ -390,6 +390,8 @@ The CronJob configuration parameters:
 You may need to add labels or annotations to the generated Kubernetes 
resources.
 By default, the generated resources will have the label 
`camel.apache.org/integration` set to the exported project name.
 
+When the `--observe` command option is present (it is by default) then the 
generated resources will also have the label `camel.apache.org/app` set to the 
exported project name.
+
 You can add labels and annotations with these options on the export command:
 
 [source,bash]
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 109c9a58bb45..037f919e6795 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
@@ -276,6 +276,10 @@ public class KubernetesExport extends Export {
         // app.kubernetes.io/version
         //
         context.addLabel("app.kubernetes.io/runtime", "camel");
+        if (observe) {
+            // Add the default label for camel dashboard to pick up the camel 
application
+            context.addLabel("camel.apache.org/app", context.getName());
+        }
         if (labels != null) {
             context.addLabels(Arrays.stream(labels)
                     .map(item -> item.split("="))
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/LabelTrait.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/LabelTrait.java
index 8ab08380e953..590b14d0d50a 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/LabelTrait.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/traits/LabelTrait.java
@@ -37,6 +37,7 @@ public class LabelTrait extends BaseTrait {
                         .addToLabels(KUBERNETES_LABEL_NAME, context.getName())
                         .addToLabels(context.getLabels())
                         .endMetadata());
+
         context.doWithServices(
                 s -> s.editOrNewMetadata()
                         .addToLabels(KUBERNETES_LABEL_NAME, context.getName())
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 a97849d05e04..5895247c8b85 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
@@ -192,7 +192,7 @@ class KubernetesExportTest extends 
KubernetesExportBaseTestSupport {
     @MethodSource("runtimeProvider")
     public void shouldGenerateKubernetesManifest(RuntimeType rt) throws 
Exception {
         KubernetesExport command = createCommand(new String[] { 
"classpath:route.yaml" },
-                "--image-registry=quay.io", "--image-group=camel-test", 
"--runtime=" + rt.runtime());
+                "--image-registry=quay.io", "--image-group=camel-test", 
"--observe=true", "--runtime=" + rt.runtime());
         int exit = command.doCall();
         Assertions.assertEquals(0, exit);
 
@@ -203,6 +203,7 @@ class KubernetesExportTest extends 
KubernetesExportBaseTestSupport {
         Assertions.assertEquals("route", deployment.getMetadata().getName());
         Assertions.assertEquals(1, containers.size());
         Assertions.assertEquals("route", 
labels.get(BaseTrait.KUBERNETES_LABEL_NAME));
+        Assertions.assertEquals("route", labels.get("camel.apache.org/app"));
         Assertions.assertEquals("route", containers.get(0).getName());
         Assertions.assertEquals("route", 
matchLabels.get(BaseTrait.KUBERNETES_LABEL_NAME));
         Assertions.assertNull(containers.get(0).getImage());
@@ -663,16 +664,17 @@ class KubernetesExportTest extends 
KubernetesExportBaseTestSupport {
     @MethodSource("runtimeProvider")
     public void shouldAddLabels(RuntimeType rt) throws Exception {
         KubernetesExport command = createCommand(new String[] { 
"classpath:route.yaml" },
-                "--label=foo=bar", "--runtime=" + rt.runtime());
+                "--label=foo=bar", "--observe=true", "--runtime=" + 
rt.runtime());
         var exit = command.doCall();
         Assertions.assertEquals(0, exit);
 
         Deployment deployment = getDeployment(rt);
         var labels = deployment.getMetadata().getLabels();
         Assertions.assertEquals("route", deployment.getMetadata().getName());
-        Assertions.assertEquals(3, labels.size());
+        Assertions.assertEquals(4, labels.size());
         Assertions.assertEquals("camel", 
labels.get("app.kubernetes.io/runtime"));
         Assertions.assertEquals("route", 
labels.get(BaseTrait.KUBERNETES_LABEL_NAME));
+        Assertions.assertEquals("route", labels.get("camel.apache.org/app"));
         Assertions.assertEquals("bar", labels.get("foo"));
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
index 0d3396c56bdb..96dcd56ff601 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/test/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRunTest.java
@@ -133,6 +133,7 @@ class KubernetesRunTest extends KubernetesBaseTestSupport {
         Assertions.assertEquals("route", 
matchLabels.get(BaseTrait.KUBERNETES_LABEL_NAME));
         Assertions.assertEquals("quay.io/camel-test/route:1.0-SNAPSHOT", 
containers.get(0).getImage());
         Assertions.assertEquals("IfNotPresent", 
containers.get(0).getImagePullPolicy());
+        Assertions.assertEquals("route", labels.get("camel.apache.org/app"));
 
         // verify the container health probes path to /observe accordingly to 
the camel-observability-services
         if (RuntimeType.quarkus == RuntimeType.fromValue(rt.runtime())) {
@@ -232,6 +233,7 @@ class KubernetesRunTest extends KubernetesBaseTestSupport {
         Assertions.assertEquals("route", 
labels.get(BaseTrait.KUBERNETES_LABEL_NAME));
         Assertions.assertEquals("route", 
matchLabels.get(BaseTrait.KUBERNETES_LABEL_NAME));
         Assertions.assertEquals("quay.io/camel-test/route:1.0-SNAPSHOT", 
containers.get(0).getImage());
+        Assertions.assertEquals("route", labels.get("camel.apache.org/app"));
     }
 
     private KubernetesRun createCommand(List<String> files, String... args) {

Reply via email to