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
