You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2023/05/09 13:24:44 UTC
[camel] 04/10: CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git
commit b52beb5d6969342d407cf46da29fde82bab06418
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue May 9 11:01:06 2023 +0200
CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
.../dsl/jbang/core/commands/ExportCamelMain.java | 53 ++++++++++++++++++++++
1 file changed, 53 insertions(+)
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
index a62ee79ce46..92c143e1492 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
@@ -196,6 +196,36 @@ class ExportCamelMain extends Export {
}
sb.append(" </dependency>\n");
}
+
+ if (secretsRefresh) {
+ if (secretsRefreshProviders != null) {
+ List<String> providers = getSecretProviders();
+ for (String provider : providers
+ ) {
+ switch (provider) {
+ case "AWS":
+ sb.append(" <dependency>\n");
+ sb.append(" <groupId>").append("org.apache.camel").append("</groupId>\n");
+ sb.append(" <artifactId>").append("camel-aws-secrets-manager").append("</artifactId>\n");
+ sb.append(" </dependency>\n");
+ break;
+ case "GCP":
+ sb.append(" <dependency>\n");
+ sb.append(" <groupId>").append("org.apache.camel").append("</groupId>\n");
+ sb.append(" <artifactId>").append("camel-google-secret-manager").append("</artifactId>\n");
+ sb.append(" </dependency>\n");
+ break;
+ case "Azure":
+ sb.append(" <dependency>\n");
+ sb.append(" <groupId>").append("org.apache.camel").append("</groupId>\n");
+ sb.append(" <artifactId>").append("camel-azure-key-vault").append("</artifactId>\n");
+ sb.append(" </dependency>\n");
+ break;
+ }
+ }
+ }
+ }
+
context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());
IOHelper.writeText(context, new FileOutputStream(pom, false));
@@ -248,4 +278,27 @@ class ExportCamelMain extends Export {
safeCopy(is, new File(srcResourcesDir, "assembly/runner.xml"));
}
+ @Override
+ protected void prepareApplicationProperties(Properties properties) {
+ if (secretsRefresh) {
+ if (secretsRefreshProviders != null) {
+ List<String> providers = getSecretProviders();
+
+ for (String provider : providers
+ ) {
+ switch (provider) {
+ case "AWS":
+ exportAwsSecretsRefreshProp(properties);
+ break;
+ case "GCP":
+ exportGcpSecretsRefreshProp(properties);
+ break;
+ case "Azure":
+ exportAzureSecretsRefreshProp(properties);
+ break;
+ }
+ }
+ }
+ }
+ }
}