This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch CAMEL-21173 in repository https://gitbox.apache.org/repos/asf/camel.git
commit 15a56dc89d46f3f37d0ce050d88ee6907b55f50c Author: Andrea Cosentino <[email protected]> AuthorDate: Thu Sep 5 11:19:10 2024 +0200 CAMEL-21173 - Camel-Jbang Dev Console: Add Kubernetes Vault support - cli connector and ListVault command Signed-off-by: Andrea Cosentino <[email protected]> --- .../apache/camel/cli/connector/LocalCliConnector.java | 9 +++++++++ .../dsl/jbang/core/commands/process/ListVault.java | 18 ++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java b/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java index 1efcede4b85..203520a614d 100644 --- a/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java +++ b/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java @@ -1230,6 +1230,15 @@ public class LocalCliConnector extends ServiceSupport implements CliConnector, C root.put("azure-secrets", json); } } + // kubernetes-secrets is optional + Optional<DevConsole> dcKubernetes + = PluginHelper.getDevConsoleResolver(camelContext).lookupDevConsole("kubernetes-secrets"); + if (dcKubernetes.isPresent()) { + JsonObject json = (JsonObject) dcKubernetes.get().call(DevConsole.MediaType.JSON); + if (json != null) { + root.put("kubernetes-secrets", json); + } + } return root; } 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 359a138c767..e5d679d5149 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 @@ -135,6 +135,24 @@ public class ListVault extends ProcessWatchCommand { rows.add(row); } } + + JsonObject kubernetes = (JsonObject) vaults.get("kubernetes-secrets"); + if (kubernetes != null) { + row.vault = "Kubernetes"; + row.lastCheck = kubernetes.getLongOrDefault("startCheckTimestamp", 0); + row.lastReload = kubernetes.getLongOrDefault("lastReloadTimestamp", 0); + JsonArray arr = (JsonArray) kubernetes.get("secrets"); + for (int i = 0; i < arr.size(); i++) { + if (i > 0) { + // create a copy for 2+ secrets + row = row.copy(); + } + JsonObject jo = (JsonObject) arr.get(i); + row.secret = jo.getString("name"); + row.timestamp = jo.getLongOrDefault("timestamp", 0); + rows.add(row); + } + } } } });
