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

davsclaus pushed a commit to branch fix/CAMEL-25418
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 3e43f8d945ff40c0fcdf0a5befb83d7ed1942a31
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Oct 7 14:39:03 2026 +0200

    CAMEL-25418: camel-jbang - camel get vault lists the Kubernetes config map 
names
    
    The kubernetes-configmaps dev console lists the config map names under the
    JSON key "configmaps" (since CAMEL-21497), but camel get vault (ListVault)
    and the vault status parser read "configmap", so the names were never shown.
    Read "configmaps" in both places; the ListVaultTest fixture used the wrong
    key too, and a StatusParserTest case now covers the parser.
    
    Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../dsl/jbang/core/commands/process/ListVault.java |  2 +-
 .../jbang/core/commands/process/ListVaultTest.java |  3 +-
 .../dsl/jbang/core/commands/tui/StatusParser.java  |  2 +-
 .../jbang/core/commands/tui/StatusParserTest.java  | 32 ++++++++++++++++++++++
 4 files changed, 36 insertions(+), 3 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVault.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVault.java
index d4cc990c8970..887da50d150e 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVault.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListVault.java
@@ -180,7 +180,7 @@ public class ListVault extends ProcessWatchCommand {
                                 row.vault = "Kubernetes-cm";
                                 row.lastCheck = 
cmKubernetes.getLongOrDefault("startCheckTimestamp", 0);
                                 row.lastReload = 
cmKubernetes.getLongOrDefault("lastReloadTimestamp", 0);
-                                JsonArray arr = (JsonArray) 
cmKubernetes.get("configmap");
+                                JsonArray arr = (JsonArray) 
cmKubernetes.get("configmaps");
                                 for (int i = 0; arr != null && i < arr.size(); 
i++) {
                                     if (i > 0) {
                                         // create a copy for 2+ configmap
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/process/ListVaultTest.java
 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/process/ListVaultTest.java
index b26eac12ef5d..c4f6ddcf14ae 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/process/ListVaultTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/process/ListVaultTest.java
@@ -283,7 +283,8 @@ class ListVaultTest extends ProcessCommandTestSupport {
 
     private static JsonObject configMapVault(String... configMaps) {
         JsonObject vault = vault(null);
-        vault.put("configmap", secretArray(configMaps));
+        // the kubernetes-configmaps dev console lists the config maps under 
"configmaps"
+        vault.put("configmaps", secretArray(configMaps));
         return vault;
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParser.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParser.java
index 9df917f0bdc1..9260ef49a0fd 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParser.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParser.java
@@ -1602,7 +1602,7 @@ final class StatusParser {
         }
         long lastCheck = vo.getLongOrDefault("startCheckTimestamp", 0);
         long lastReload = vo.getLongOrDefault("lastReloadTimestamp", 0);
-        JsonArray arr = (JsonArray) vo.get("configmap");
+        JsonArray arr = (JsonArray) vo.get("configmaps");
         if (arr != null) {
             for (int i = 0; i < arr.size(); i++) {
                 JsonObject jo = (JsonObject) arr.get(i);
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParserTest.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParserTest.java
index 96fa88b2ae72..e99bfb36472d 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParserTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/test/java/org/apache/camel/dsl/jbang/core/commands/tui/StatusParserTest.java
@@ -270,6 +270,38 @@ class StatusParserTest {
         assertTrue(info.inflightExchanges.isEmpty());
     }
 
+    @Test
+    void parseIntegrationWithKubernetesConfigMapVault() {
+        JsonObject root = new JsonObject();
+        JsonObject context = new JsonObject();
+        context.put("name", "myIntegration");
+        root.put("context", context);
+
+        // the kubernetes-configmaps dev console lists the config maps under 
"configmaps"
+        JsonArray configmaps = new JsonArray();
+        for (String name : new String[] { "app-config", "db-config" }) {
+            JsonObject cm = new JsonObject();
+            cm.put("name", name);
+            configmaps.add(cm);
+        }
+        JsonObject cmVault = new JsonObject();
+        cmVault.put("startCheckTimestamp", 1000L);
+        cmVault.put("configmaps", configmaps);
+        JsonObject vaults = new JsonObject();
+        vaults.put("kubernetes-configmaps", cmVault);
+        root.put("vaults", vaults);
+
+        ProcessHandle ph = ProcessHandle.current();
+        IntegrationInfo info = StatusParser.parseIntegration(ph, root);
+
+        assertNotNull(info);
+        assertEquals(2, info.vaultSecrets.size());
+        assertEquals("Kubernetes-cm", info.vaultSecrets.get(0).vault);
+        assertEquals("app-config", info.vaultSecrets.get(0).secret);
+        assertEquals("db-config", info.vaultSecrets.get(1).secret);
+        assertEquals(1000L, info.vaultSecrets.get(1).lastCheck);
+    }
+
     // ---- parseTraceEntry tests ----
 
     @Test

Reply via email to