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 8e932e618d7 camel-aws - Add dev console for AWS secrets
8e932e618d7 is described below
commit 8e932e618d7801416d2c7856db2381a52fe7129a
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Sep 7 20:41:15 2022 +0200
camel-aws - Add dev console for AWS secrets
---
.../aws/secretsmanager/SecretsDevConsole.java | 25 +++++++++++++++++++---
1 file changed, 22 insertions(+), 3 deletions(-)
diff --git
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
index ba5171db120..47f6181122c 100644
---
a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
+++
b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
@@ -17,6 +17,9 @@
package org.apache.camel.component.aws.secretsmanager;
import java.time.Instant;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import java.util.Map;
import org.apache.camel.ExtendedCamelContext;
@@ -34,7 +37,7 @@ import org.apache.camel.vault.AwsVaultConfiguration;
public class SecretsDevConsole extends AbstractDevConsole {
private SecretsManagerPropertiesFunction propertiesFunction;
- private CloudTrailReloadTriggerTask secretsRefreshTask; // TODO:
+ private CloudTrailReloadTriggerTask secretsRefreshTask;
public SecretsDevConsole() {
super("camel", "aws-secrets", "AWS Secrets", "AWS Secrets Manager");
@@ -78,7 +81,11 @@ public class SecretsDevConsole extends AbstractDevConsole {
sb.append(String.format("\n Last Check: %s", s));
}
sb.append("\n\nSecrets in use:");
- for (String sec : propertiesFunction.getSecrets()) {
+
+ List<String> sorted = new
ArrayList<>(propertiesFunction.getSecrets());
+ Collections.sort(sorted);
+
+ for (String sec : sorted) {
Instant last = secretsRefreshTask != null ?
secretsRefreshTask.getUpdates().get(sec) : null;
String age = last != null ?
TimeUtils.printSince(last.toEpochMilli()) : null;
if (age != null) {
@@ -107,9 +114,21 @@ public class SecretsDevConsole extends AbstractDevConsole {
root.put("refreshEnabled", aws.isRefreshEnabled());
root.put("refreshPeriod", aws.getRefreshPeriod());
}
+ if (secretsRefreshTask != null) {
+ Instant last = secretsRefreshTask.getLastCheckTime();
+ if (last != null) {
+ long timestamp = last.toEpochMilli();
+ root.put("lastCheckTimestamp", timestamp);
+ root.put("lastCheckAge", TimeUtils.printSince(timestamp));
+ }
+ }
JsonArray arr = new JsonArray();
root.put("secrets", arr);
- for (String sec : propertiesFunction.getSecrets()) {
+
+ List<String> sorted = new
ArrayList<>(propertiesFunction.getSecrets());
+ Collections.sort(sorted);
+
+ for (String sec : sorted) {
JsonObject jo = new JsonObject();
jo.put("name", sec);
Instant last = secretsRefreshTask != null ?
secretsRefreshTask.getUpdates().get(sec) : null;