This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch export-secrets in repository https://gitbox.apache.org/repos/asf/camel.git
commit 2369946b3a17df2f4eb651664137bd6a8db59eb6 Author: Andrea Cosentino <[email protected]> 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 <[email protected]> --- .../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; + } + } + } + } + } }
