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 09:07:27 UTC

[camel] branch export-secrets created (now d71fee6eae8)

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a change to branch export-secrets
in repository https://gitbox.apache.org/repos/asf/camel.git


      at d71fee6eae8 CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties

This branch includes the following new commits:

     new 6cf3dbe9765 CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties
     new 53f0261af5a CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties
     new 09ef41c3924 CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties
     new 2369946b3a1 CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties
     new fa14acb76e5 CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties
     new 7c5a9c3037b CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties
     new c944356cea8 CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties
     new d71fee6eae8 CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[camel] 02/08: CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties

Posted by ac...@apache.org.
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 53f0261af5a0d15af35c1a745d628b98624db1b9
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue May 9 10:23:20 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/ExportBaseCommand.java |  49 ++++++++++
 .../dsl/jbang/core/commands/ExportQuarkus.java     | 101 +++++++++++++--------
 2 files changed, 110 insertions(+), 40 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index e1aeedcf24b..a2054c9c956 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -733,4 +733,53 @@ abstract class ExportBaseCommand extends CamelCommand {
             }
         }
     }
+
+
+    protected void exportAwsSecretsRefreshProp(Properties properties) {
+        properties.setProperty("camel.vault.aws.accessKey", "<accessKey>");
+        properties.setProperty("camel.vault.aws.secretKey", "<secretKey>");
+        properties.setProperty("camel.vault.aws.region", "<region>");
+        properties.setProperty("camel.vault.aws.useDefaultCredentialProvider", "<useDefaultCredentialProvider>");
+        properties.setProperty("camel.vault.aws.refreshEnabled", "true");
+        properties.setProperty("camel.vault.aws.refreshPeriod", "30000");
+        properties.setProperty("camel.vault.aws.secrets", "<secrets>");
+        properties.setProperty("camel.main.context-reload-enabled", "true");
+    }
+
+    protected void exportGcpSecretsRefreshProp(Properties properties) {
+        properties.setProperty("camel.vault.gcp.serviceAccountKey", "<serviceAccountKey>");
+        properties.setProperty("camel.vault.gcp.projectId", "<projectId>");
+        properties.setProperty("camel.vault.gcp.useDefaultInstance", "<useDefaultInstance>");
+        properties.setProperty("camel.vault.gcp.refreshEnabled", "true");
+        properties.setProperty("camel.vault.aws.refreshPeriod", "30000");
+        properties.setProperty("camel.vault.gcp.secrets", "<secrets>");
+        properties.setProperty("camel.vault.gcp.subscriptionName", "<subscriptionName>");
+        properties.setProperty("camel.main.context-reload-enabled", "true");
+    }
+
+    protected void exportAzureSecretsRefreshProp(Properties properties) {
+        properties.setProperty("camel.vault.azure.tenantId", "<tenantId>");
+        properties.setProperty("camel.vault.azure.clientId", "<clientId>");
+        properties.setProperty("camel.vault.azure.clientSecret", "<clientSecret>");
+        properties.setProperty("camel.vault.azure.vaultName", "<vaultName>");
+        properties.setProperty("camel.vault.azure.refreshEnabled", "true");
+        properties.setProperty("camel.vault.azure.refreshPeriod", "30000");
+        properties.setProperty("camel.vault.azure.secrets", "<secrets>");
+        properties.setProperty("camel.vault.azure.eventhubConnectionString", "<eventhubConnectionString>");
+        properties.setProperty("camel.vault.azure.blobAccountName", "<blobAccountName>");
+        properties.setProperty("camel.vault.azure.blobContainerName", "<blobContainerName>");
+        properties.setProperty("camel.vault.azure.blobAccessKey", "<blobAccessKey>");
+        properties.setProperty("camel.main.context-reload-enabled", "true");
+    }
+
+    protected List<String> getSecretProviders() {
+        if (secretsRefreshProviders != null) {
+            List<String> providers = Pattern.compile("\\,")
+                    .splitAsStream(secretsRefreshProviders)
+                    .collect(Collectors.toList());
+            return providers;
+        } else {
+            return null;
+        }
+    }
 }
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
index 76e4e9bf070..744acf06ab5 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
@@ -188,9 +188,7 @@ class ExportQuarkus extends Export {
         }
         if (secretsRefresh) {
             if (secretsRefreshProviders != null) {
-                List<String> providers = Pattern.compile("\\,")
-                        .splitAsStream(secretsRefreshProviders)
-                        .collect(Collectors.toList());
+                List<String> providers = getSecretProviders();
 
                 for (String provider : providers
                 ) {
@@ -210,43 +208,6 @@ class ExportQuarkus extends Export {
         }
     }
 
-    private void exportAwsSecretsRefreshProp(Properties properties) {
-        properties.setProperty("camel.vault.aws.accessKey", "<accessKey>");
-        properties.setProperty("camel.vault.aws.secretKey", "<secretKey>");
-        properties.setProperty("camel.vault.aws.region", "<region>");
-        properties.setProperty("camel.vault.aws.useDefaultCredentialProvider", "<useDefaultCredentialProvider>");
-        properties.setProperty("camel.vault.aws.refreshEnabled", "true");
-        properties.setProperty("camel.vault.aws.refreshPeriod", "30000");
-        properties.setProperty("camel.vault.aws.secrets", "<secrets>");
-        properties.setProperty("camel.main.context-reload-enabled", "true");
-    }
-
-    private void exportGcpSecretsRefreshProp(Properties properties) {
-        properties.setProperty("camel.vault.gcp.serviceAccountKey", "<serviceAccountKey>");
-        properties.setProperty("camel.vault.gcp.projectId", "<projectId>");
-        properties.setProperty("camel.vault.gcp.useDefaultInstance", "<useDefaultInstance>");
-        properties.setProperty("camel.vault.gcp.refreshEnabled", "true");
-        properties.setProperty("camel.vault.aws.refreshPeriod", "30000");
-        properties.setProperty("camel.vault.gcp.secrets", "<secrets>");
-        properties.setProperty("camel.vault.gcp.subscriptionName", "<subscriptionName>");
-        properties.setProperty("camel.main.context-reload-enabled", "true");
-    }
-
-    private void exportAzureSecretsRefreshProp(Properties properties) {
-        properties.setProperty("camel.vault.azure.tenantId", "<tenantId>");
-        properties.setProperty("camel.vault.azure.clientId", "<clientId>");
-        properties.setProperty("camel.vault.azure.clientSecret", "<clientSecret>");
-        properties.setProperty("camel.vault.azure.vaultName", "<vaultName>");
-        properties.setProperty("camel.vault.azure.refreshEnabled", "true");
-        properties.setProperty("camel.vault.azure.refreshPeriod", "30000");
-        properties.setProperty("camel.vault.azure.secrets", "<secrets>");
-        properties.setProperty("camel.vault.azure.eventhubConnectionString", "<eventhubConnectionString>");
-        properties.setProperty("camel.vault.azure.blobAccountName", "<blobAccountName>");
-        properties.setProperty("camel.vault.azure.blobContainerName", "<blobContainerName>");
-        properties.setProperty("camel.vault.azure.blobAccessKey", "<blobAccessKey>");
-        properties.setProperty("camel.main.context-reload-enabled", "true");
-    }
-
     private static String removeScheme(String s) {
         if (s.contains(":")) {
             return StringHelper.after(s, ":");
@@ -345,6 +306,38 @@ class ExportQuarkus extends Export {
             gavs.add(gav);
         }
 
+        if (secretsRefresh) {
+            if (secretsRefreshProviders != null) {
+                List<String> providers = getSecretProviders();
+                for (String provider : providers
+                ) {
+                    switch (provider) {
+                        case "AWS":
+                            MavenGav awsGav = new MavenGav();
+                            awsGav.setGroupId("org.apache.camel.quarkus");
+                            awsGav.setArtifactId("camel-quarkus-aws-secrets-manager");
+                            awsGav.setVersion(null);
+                            gavs.add(awsGav);
+                            break;
+                        case "GCP":
+                            MavenGav gcpGav = new MavenGav();
+                            gcpGav.setGroupId("org.apache.camel.quarkus");
+                            gcpGav.setArtifactId("camel-quarkus-google-secret-manager");
+                            gcpGav.setVersion(null);
+                            gavs.add(gcpGav);
+                            break;
+                        case "Azure":
+                            MavenGav azureGav = new MavenGav();
+                            azureGav.setGroupId("org.apache.camel.quarkus");
+                            azureGav.setArtifactId("camel-quarkus-azure-key-vault");
+                            azureGav.setVersion(null);
+                            gavs.add(azureGav);
+                            break;
+                    }
+                }
+            }
+        }
+
         // sort artifacts
         gavs.sort(mavenGavComparator());
 
@@ -478,6 +471,34 @@ class ExportQuarkus 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.quarkus").append("</groupId>\n");
+                            sb.append("            <artifactId>").append("camel-quarkus-aws-secrets-manager").append("</artifactId>\n");
+                            sb.append("        </dependency>\n");
+                            break;
+                        case "GCP":
+                            sb.append("        <dependency>\n");
+                            sb.append("            <groupId>").append("org.apache.camel.quarkus").append("</groupId>\n");
+                            sb.append("            <artifactId>").append("camel-quarkus-google-secret-manager").append("</artifactId>\n");
+                            sb.append("        </dependency>\n");
+                            break;
+                        case "Azure":
+                            sb.append("        <dependency>\n");
+                            sb.append("            <groupId>").append("org.apache.camel.quarkus").append("</groupId>\n");
+                            sb.append("            <artifactId>").append("camel-quarkus-azure-key-vault").append("</artifactId>\n");
+                            sb.append("        </dependency>\n");
+                            break;
+                    }
+                }
+            }
+        }
         context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());
 
         IOHelper.writeText(context, new FileOutputStream(pom, false));


[camel] 08/08: CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties

Posted by ac...@apache.org.
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 d71fee6eae870a785a2a37f025731da4a4972b47
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue May 9 11:06:35 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>
---
 .../org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index 67a89357ceb..b95c6830d91 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -157,9 +157,9 @@ abstract class ExportBaseCommand extends CamelCommand {
     protected boolean secretsRefresh;
 
     @CommandLine.Option(names = { "--secrets-refresh-providers" },
-            description = "Comma separated list of providers in the set AWS, GCP and Azure, to use in combination with --secrets-refresh option")
+                        description = "Comma separated list of providers in the set AWS, GCP and Azure, to use in combination with --secrets-refresh option")
     protected String secretsRefreshProviders;
-    
+
     @CommandLine.Option(names = { "--logging" }, defaultValue = "false",
                         description = "Can be used to turn on logging (logs to file in <user home>/.camel directory)")
     boolean logging;


[camel] 06/08: CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties

Posted by ac...@apache.org.
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 7c5a9c3037bb0f1eaeefdeca081e207967e57c3a
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue May 9 11:04:24 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>
---
 .../org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java   | 4 ++++
 .../org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java     | 6 ++++++
 .../org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java  | 4 ++++
 3 files changed, 14 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 533dd72ff72..8c3835f8d5f 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
@@ -221,6 +221,8 @@ class ExportCamelMain extends Export {
                             sb.append("            <artifactId>").append("camel-azure-key-vault").append("</artifactId>\n");
                             sb.append("        </dependency>\n");
                             break;
+                        default:
+                            break;
                     }
                 }
             }
@@ -295,6 +297,8 @@ class ExportCamelMain extends Export {
                         case "Azure":
                             exportAzureSecretsRefreshProp(properties);
                             break;
+                        default:
+                            break;
                     }
                 }
             }
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
index 7e8c3ad4e4a..1669d022b4f 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
@@ -200,6 +200,8 @@ class ExportQuarkus extends Export {
                         case "Azure":
                             exportAzureSecretsRefreshProp(properties);
                             break;
+                        default:
+                            break;
                     }
                 }
             }
@@ -330,6 +332,8 @@ class ExportQuarkus extends Export {
                             azureGav.setVersion(null);
                             gavs.add(azureGav);
                             break;
+                        default:
+                            break;
                     }
                 }
             }
@@ -494,6 +498,8 @@ class ExportQuarkus extends Export {
                                     .append("</artifactId>\n");
                             sb.append("        </dependency>\n");
                             break;
+                        default:
+                            break;
                     }
                 }
             }
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
index a162046fd23..3866e57fd4f 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
@@ -377,6 +377,8 @@ class ExportSpringBoot extends Export {
                             azureGav.setVersion(null);
                             gavs.add(azureGav);
                             break;
+                        default:
+                            break;
                     }
                 }
             }
@@ -456,6 +458,8 @@ class ExportSpringBoot extends Export {
                         case "Azure":
                             exportAzureSecretsRefreshProp(properties);
                             break;
+                        default:
+                            break;
                     }
                 }
             }


[camel] 07/08: CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties

Posted by ac...@apache.org.
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 c944356cea88d5e70d65879e97373110d75492a2
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue May 9 11:05:45 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>
---
 .../camel/dsl/jbang/core/commands/ExportBaseCommand.java   | 14 +++++++-------
 .../camel/dsl/jbang/core/commands/ExportSpringBoot.java    |  2 ++
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index ad651ef82bd..67a89357ceb 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -153,6 +153,13 @@ abstract class ExportBaseCommand extends CamelCommand {
                         description = "Additional maven properties, ex. --additional-properties=prop1=foo,prop2=bar")
     protected String additionalProperties;
 
+    @CommandLine.Option(names = { "--secrets-refresh" }, defaultValue = "false", description = "Enabling secrets refresh")
+    protected boolean secretsRefresh;
+
+    @CommandLine.Option(names = { "--secrets-refresh-providers" },
+            description = "Comma separated list of providers in the set AWS, GCP and Azure, to use in combination with --secrets-refresh option")
+    protected String secretsRefreshProviders;
+    
     @CommandLine.Option(names = { "--logging" }, defaultValue = "false",
                         description = "Can be used to turn on logging (logs to file in <user home>/.camel directory)")
     boolean logging;
@@ -161,13 +168,6 @@ abstract class ExportBaseCommand extends CamelCommand {
                         description = "Will be quiet, only print when error occurs")
     boolean quiet;
 
-    @CommandLine.Option(names = { "--secrets-refresh" }, defaultValue = "false", description = "Enabling secrets refresh")
-    protected boolean secretsRefresh;
-
-    @CommandLine.Option(names = { "--secrets-refresh-providers" },
-                        description = "Comma separated list of providers in the set AWS, GCP and Azure, to use in combination with --secrets-refresh option")
-    protected String secretsRefreshProviders;
-
     public ExportBaseCommand(CamelJBangMain main) {
         super(main);
     }
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
index 3866e57fd4f..529dd1f54f3 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
@@ -276,6 +276,8 @@ class ExportSpringBoot extends Export {
                                     .append("</artifactId>\n");
                             sb.append("        </dependency>\n");
                             break;
+                        default:
+                            break;
                     }
                 }
             }


[camel] 05/08: CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties

Posted by ac...@apache.org.
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 fa14acb76e599a7344e9362058058acadd1cb1c3
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue May 9 11:01:41 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>
---
 .../apache/camel/dsl/jbang/core/commands/Export.java  |  3 ++-
 .../dsl/jbang/core/commands/ExportBaseCommand.java    |  4 ++--
 .../dsl/jbang/core/commands/ExportCamelMain.java      |  9 ++++-----
 .../camel/dsl/jbang/core/commands/ExportQuarkus.java  | 19 +++++++++----------
 .../dsl/jbang/core/commands/ExportSpringBoot.java     | 18 +++++++++---------
 5 files changed, 26 insertions(+), 27 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
index a5f429b66e6..c2f2aac058c 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
@@ -64,7 +64,8 @@ public class Export extends ExportBaseCommand {
             this.buildTool = prop.getProperty("camel.jbang.buildTool", this.buildTool);
             this.secretsRefresh
                     = "true".equals(prop.getProperty("camel.jbang.secretsRefresh", this.secretsRefresh ? "true" : "false"));
-            this.secretsRefreshProviders = prop.getProperty("camel.jbang.secretsRefreshProviders", this.secretsRefreshProviders);
+            this.secretsRefreshProviders
+                    = prop.getProperty("camel.jbang.secretsRefreshProviders", this.secretsRefreshProviders);
         }
 
         if (runtime == null) {
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index a2054c9c956..ad651ef82bd 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -164,7 +164,8 @@ abstract class ExportBaseCommand extends CamelCommand {
     @CommandLine.Option(names = { "--secrets-refresh" }, defaultValue = "false", description = "Enabling secrets refresh")
     protected boolean secretsRefresh;
 
-    @CommandLine.Option(names = { "--secrets-refresh-providers" }, description = "Comma separated list of providers in the set AWS, GCP and Azure, to use in combination with --secrets-refresh option")
+    @CommandLine.Option(names = { "--secrets-refresh-providers" },
+                        description = "Comma separated list of providers in the set AWS, GCP and Azure, to use in combination with --secrets-refresh option")
     protected String secretsRefreshProviders;
 
     public ExportBaseCommand(CamelJBangMain main) {
@@ -734,7 +735,6 @@ abstract class ExportBaseCommand extends CamelCommand {
         }
     }
 
-
     protected void exportAwsSecretsRefreshProp(Properties properties) {
         properties.setProperty("camel.vault.aws.accessKey", "<accessKey>");
         properties.setProperty("camel.vault.aws.secretKey", "<secretKey>");
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 92c143e1492..533dd72ff72 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
@@ -200,8 +200,7 @@ class ExportCamelMain extends Export {
         if (secretsRefresh) {
             if (secretsRefreshProviders != null) {
                 List<String> providers = getSecretProviders();
-                for (String provider : providers
-                ) {
+                for (String provider : providers) {
                     switch (provider) {
                         case "AWS":
                             sb.append("        <dependency>\n");
@@ -212,7 +211,8 @@ class ExportCamelMain extends Export {
                         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("            <artifactId>").append("camel-google-secret-manager")
+                                    .append("</artifactId>\n");
                             sb.append("        </dependency>\n");
                             break;
                         case "Azure":
@@ -284,8 +284,7 @@ class ExportCamelMain extends Export {
             if (secretsRefreshProviders != null) {
                 List<String> providers = getSecretProviders();
 
-                for (String provider : providers
-                ) {
+                for (String provider : providers) {
                     switch (provider) {
                         case "AWS":
                             exportAwsSecretsRefreshProp(properties);
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
index 744acf06ab5..7e8c3ad4e4a 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
@@ -26,7 +26,6 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 import java.util.StringJoiner;
-import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 import org.apache.camel.catalog.CamelCatalog;
@@ -190,8 +189,7 @@ class ExportQuarkus extends Export {
             if (secretsRefreshProviders != null) {
                 List<String> providers = getSecretProviders();
 
-                for (String provider : providers
-                ) {
+                for (String provider : providers) {
                     switch (provider) {
                         case "AWS":
                             exportAwsSecretsRefreshProp(properties);
@@ -309,8 +307,7 @@ class ExportQuarkus extends Export {
         if (secretsRefresh) {
             if (secretsRefreshProviders != null) {
                 List<String> providers = getSecretProviders();
-                for (String provider : providers
-                ) {
+                for (String provider : providers) {
                     switch (provider) {
                         case "AWS":
                             MavenGav awsGav = new MavenGav();
@@ -474,25 +471,27 @@ class ExportQuarkus extends Export {
         if (secretsRefresh) {
             if (secretsRefreshProviders != null) {
                 List<String> providers = getSecretProviders();
-                for (String provider : providers
-                ) {
+                for (String provider : providers) {
                     switch (provider) {
                         case "AWS":
                             sb.append("        <dependency>\n");
                             sb.append("            <groupId>").append("org.apache.camel.quarkus").append("</groupId>\n");
-                            sb.append("            <artifactId>").append("camel-quarkus-aws-secrets-manager").append("</artifactId>\n");
+                            sb.append("            <artifactId>").append("camel-quarkus-aws-secrets-manager")
+                                    .append("</artifactId>\n");
                             sb.append("        </dependency>\n");
                             break;
                         case "GCP":
                             sb.append("        <dependency>\n");
                             sb.append("            <groupId>").append("org.apache.camel.quarkus").append("</groupId>\n");
-                            sb.append("            <artifactId>").append("camel-quarkus-google-secret-manager").append("</artifactId>\n");
+                            sb.append("            <artifactId>").append("camel-quarkus-google-secret-manager")
+                                    .append("</artifactId>\n");
                             sb.append("        </dependency>\n");
                             break;
                         case "Azure":
                             sb.append("        <dependency>\n");
                             sb.append("            <groupId>").append("org.apache.camel.quarkus").append("</groupId>\n");
-                            sb.append("            <artifactId>").append("camel-quarkus-azure-key-vault").append("</artifactId>\n");
+                            sb.append("            <artifactId>").append("camel-quarkus-azure-key-vault")
+                                    .append("</artifactId>\n");
                             sb.append("        </dependency>\n");
                             break;
                     }
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
index 6df9850a7e6..a162046fd23 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
@@ -253,25 +253,27 @@ class ExportSpringBoot extends Export {
         if (secretsRefresh) {
             if (secretsRefreshProviders != null) {
                 List<String> providers = getSecretProviders();
-                for (String provider : providers
-                ) {
+                for (String provider : providers) {
                     switch (provider) {
                         case "AWS":
                             sb.append("        <dependency>\n");
                             sb.append("            <groupId>").append("org.apache.camel.springboot").append("</groupId>\n");
-                            sb.append("            <artifactId>").append("camel-aws-secrets-manager-starter").append("</artifactId>\n");
+                            sb.append("            <artifactId>").append("camel-aws-secrets-manager-starter")
+                                    .append("</artifactId>\n");
                             sb.append("        </dependency>\n");
                             break;
                         case "GCP":
                             sb.append("        <dependency>\n");
                             sb.append("            <groupId>").append("org.apache.camel.springboot").append("</groupId>\n");
-                            sb.append("            <artifactId>").append("camel-google-secret-manager-starter").append("</artifactId>\n");
+                            sb.append("            <artifactId>").append("camel-google-secret-manager-starter")
+                                    .append("</artifactId>\n");
                             sb.append("        </dependency>\n");
                             break;
                         case "Azure":
                             sb.append("        <dependency>\n");
                             sb.append("            <groupId>").append("org.apache.camel.springboot").append("</groupId>\n");
-                            sb.append("            <artifactId>").append("camel-azure-key-vault-starter").append("</artifactId>\n");
+                            sb.append("            <artifactId>").append("camel-azure-key-vault-starter")
+                                    .append("</artifactId>\n");
                             sb.append("        </dependency>\n");
                             break;
                     }
@@ -352,8 +354,7 @@ class ExportSpringBoot extends Export {
         if (secretsRefresh) {
             if (secretsRefreshProviders != null) {
                 List<String> providers = getSecretProviders();
-                for (String provider : providers
-                ) {
+                for (String provider : providers) {
                     switch (provider) {
                         case "AWS":
                             MavenGav awsGav = new MavenGav();
@@ -444,8 +445,7 @@ class ExportSpringBoot extends Export {
             if (secretsRefreshProviders != null) {
                 List<String> providers = getSecretProviders();
 
-                for (String provider : providers
-                ) {
+                for (String provider : providers) {
                     switch (provider) {
                         case "AWS":
                             exportAwsSecretsRefreshProp(properties);


[camel] 04/08: CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties

Posted by ac...@apache.org.
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 <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;
+                    }
+                }
+            }
+        }
+    }
 }


[camel] 01/08: CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties

Posted by ac...@apache.org.
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 6cf3dbe9765cd36337f8496bb21ede38041c1aa6
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue May 9 10:22:42 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>
---
 .../camel/dsl/jbang/core/commands/Export.java      |  5 ++
 .../dsl/jbang/core/commands/ExportBaseCommand.java |  6 +++
 .../dsl/jbang/core/commands/ExportQuarkus.java     | 59 ++++++++++++++++++++++
 3 files changed, 70 insertions(+)

diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
index 5f6733512f9..a5f429b66e6 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
@@ -62,6 +62,9 @@ public class Export extends ExportBaseCommand {
                     = "true".equals(prop.getProperty("camel.jbang.gradleWrapper", this.gradleWrapper ? "true" : "false"));
             this.exportDir = prop.getProperty("camel.jbang.exportDir", this.exportDir);
             this.buildTool = prop.getProperty("camel.jbang.buildTool", this.buildTool);
+            this.secretsRefresh
+                    = "true".equals(prop.getProperty("camel.jbang.secretsRefresh", this.secretsRefresh ? "true" : "false"));
+            this.secretsRefreshProviders = prop.getProperty("camel.jbang.secretsRefreshProviders", this.secretsRefreshProviders);
         }
 
         if (runtime == null) {
@@ -111,6 +114,8 @@ public class Export extends ExportBaseCommand {
         cmd.buildTool = this.buildTool;
         cmd.quiet = this.quiet;
         cmd.additionalProperties = this.additionalProperties;
+        cmd.secretsRefresh = this.secretsRefresh;
+        cmd.secretsRefreshProviders = this.secretsRefreshProviders;
         // run export
         return cmd.export();
     }
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index 7fba0ccf50e..e1aeedcf24b 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -161,6 +161,12 @@ abstract class ExportBaseCommand extends CamelCommand {
                         description = "Will be quiet, only print when error occurs")
     boolean quiet;
 
+    @CommandLine.Option(names = { "--secrets-refresh" }, defaultValue = "false", description = "Enabling secrets refresh")
+    protected boolean secretsRefresh;
+
+    @CommandLine.Option(names = { "--secrets-refresh-providers" }, description = "Comma separated list of providers in the set AWS, GCP and Azure, to use in combination with --secrets-refresh option")
+    protected String secretsRefreshProviders;
+
     public ExportBaseCommand(CamelJBangMain main) {
         super(main);
     }
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
index 0b8c7baa834..76e4e9bf070 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
@@ -26,6 +26,7 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 import java.util.StringJoiner;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 import org.apache.camel.catalog.CamelCatalog;
@@ -185,7 +186,65 @@ class ExportQuarkus extends Export {
                 properties.setProperty("camel.main.routes-include-pattern", routes);
             }
         }
+        if (secretsRefresh) {
+            if (secretsRefreshProviders != null) {
+                List<String> providers = Pattern.compile("\\,")
+                        .splitAsStream(secretsRefreshProviders)
+                        .collect(Collectors.toList());
+
+                for (String provider : providers
+                ) {
+                    switch (provider) {
+                        case "AWS":
+                            exportAwsSecretsRefreshProp(properties);
+                            break;
+                        case "GCP":
+                            exportGcpSecretsRefreshProp(properties);
+                            break;
+                        case "Azure":
+                            exportAzureSecretsRefreshProp(properties);
+                            break;
+                    }
+                }
+            }
+        }
+    }
+
+    private void exportAwsSecretsRefreshProp(Properties properties) {
+        properties.setProperty("camel.vault.aws.accessKey", "<accessKey>");
+        properties.setProperty("camel.vault.aws.secretKey", "<secretKey>");
+        properties.setProperty("camel.vault.aws.region", "<region>");
+        properties.setProperty("camel.vault.aws.useDefaultCredentialProvider", "<useDefaultCredentialProvider>");
+        properties.setProperty("camel.vault.aws.refreshEnabled", "true");
+        properties.setProperty("camel.vault.aws.refreshPeriod", "30000");
+        properties.setProperty("camel.vault.aws.secrets", "<secrets>");
+        properties.setProperty("camel.main.context-reload-enabled", "true");
+    }
+
+    private void exportGcpSecretsRefreshProp(Properties properties) {
+        properties.setProperty("camel.vault.gcp.serviceAccountKey", "<serviceAccountKey>");
+        properties.setProperty("camel.vault.gcp.projectId", "<projectId>");
+        properties.setProperty("camel.vault.gcp.useDefaultInstance", "<useDefaultInstance>");
+        properties.setProperty("camel.vault.gcp.refreshEnabled", "true");
+        properties.setProperty("camel.vault.aws.refreshPeriod", "30000");
+        properties.setProperty("camel.vault.gcp.secrets", "<secrets>");
+        properties.setProperty("camel.vault.gcp.subscriptionName", "<subscriptionName>");
+        properties.setProperty("camel.main.context-reload-enabled", "true");
+    }
 
+    private void exportAzureSecretsRefreshProp(Properties properties) {
+        properties.setProperty("camel.vault.azure.tenantId", "<tenantId>");
+        properties.setProperty("camel.vault.azure.clientId", "<clientId>");
+        properties.setProperty("camel.vault.azure.clientSecret", "<clientSecret>");
+        properties.setProperty("camel.vault.azure.vaultName", "<vaultName>");
+        properties.setProperty("camel.vault.azure.refreshEnabled", "true");
+        properties.setProperty("camel.vault.azure.refreshPeriod", "30000");
+        properties.setProperty("camel.vault.azure.secrets", "<secrets>");
+        properties.setProperty("camel.vault.azure.eventhubConnectionString", "<eventhubConnectionString>");
+        properties.setProperty("camel.vault.azure.blobAccountName", "<blobAccountName>");
+        properties.setProperty("camel.vault.azure.blobContainerName", "<blobContainerName>");
+        properties.setProperty("camel.vault.azure.blobAccessKey", "<blobAccessKey>");
+        properties.setProperty("camel.main.context-reload-enabled", "true");
     }
 
     private static String removeScheme(String s) {


[camel] 03/08: CAMEL-19099 - Camel-Jbang Export: Add a flag to include secret refresh properties in application.properties

Posted by ac...@apache.org.
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 09ef41c392408107e11a64e37f69f62337946a56
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue May 9 10:44:28 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/ExportSpringBoot.java  | 90 ++++++++++++++++++++--
 1 file changed, 85 insertions(+), 5 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
index 17ef567bbf4..6df9850a7e6 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
@@ -21,11 +21,7 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
-import java.util.Set;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
@@ -254,6 +250,34 @@ class ExportSpringBoot 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.springboot").append("</groupId>\n");
+                            sb.append("            <artifactId>").append("camel-aws-secrets-manager-starter").append("</artifactId>\n");
+                            sb.append("        </dependency>\n");
+                            break;
+                        case "GCP":
+                            sb.append("        <dependency>\n");
+                            sb.append("            <groupId>").append("org.apache.camel.springboot").append("</groupId>\n");
+                            sb.append("            <artifactId>").append("camel-google-secret-manager-starter").append("</artifactId>\n");
+                            sb.append("        </dependency>\n");
+                            break;
+                        case "Azure":
+                            sb.append("        <dependency>\n");
+                            sb.append("            <groupId>").append("org.apache.camel.springboot").append("</groupId>\n");
+                            sb.append("            <artifactId>").append("camel-azure-key-vault-starter").append("</artifactId>\n");
+                            sb.append("        </dependency>\n");
+                            break;
+                    }
+                }
+            }
+        }
         context = context.replaceFirst("\\{\\{ \\.CamelDependencies }}", sb.toString());
 
         // add jkube profiles if there is jkube version property
@@ -325,6 +349,38 @@ class ExportSpringBoot extends Export {
             gavs.add(gav);
         }
 
+        if (secretsRefresh) {
+            if (secretsRefreshProviders != null) {
+                List<String> providers = getSecretProviders();
+                for (String provider : providers
+                ) {
+                    switch (provider) {
+                        case "AWS":
+                            MavenGav awsGav = new MavenGav();
+                            awsGav.setGroupId("org.apache.camel.springboot");
+                            awsGav.setArtifactId("camel-aws-secrets-manager-starter");
+                            awsGav.setVersion(null);
+                            gavs.add(awsGav);
+                            break;
+                        case "GCP":
+                            MavenGav gcpGav = new MavenGav();
+                            gcpGav.setGroupId("org.apache.camel.springboot");
+                            gcpGav.setArtifactId("camel-google-secret-manager-starter");
+                            gcpGav.setVersion(null);
+                            gavs.add(gcpGav);
+                            break;
+                        case "Azure":
+                            MavenGav azureGav = new MavenGav();
+                            azureGav.setGroupId("org.apache.camel.springboot");
+                            azureGav.setArtifactId("camel-azure-key-vault-starter");
+                            azureGav.setVersion(null);
+                            gavs.add(azureGav);
+                            break;
+                    }
+                }
+            }
+        }
+
         // sort artifacts
         gavs.sort(mavenGavComparator());
 
@@ -382,6 +438,30 @@ class ExportSpringBoot extends Export {
         }
     }
 
+    @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;
+                    }
+                }
+            }
+        }
+    }
+
     @Override
     protected String applicationPropertyLine(String key, String value) {
         // camel.main.x should be renamed to camel.springboot.x