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

Reply via email to