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/04/06 05:58:39 UTC

[camel] branch camel-3.x updated (73d0db721f9 -> 1c087dd8884)

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

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


    from 73d0db721f9 (chores) ci: use the Apache archive for downloading Maven Daemon
     new 58125968290 CAMEL-18625 - Provide an option to pass specific AWS SAML Profile - Reload Task
     new 7a3613f39c2 CAMEL-18625 - Provide an option to pass specific AWS SAML Profile - Reload Task
     new 1c087dd8884 CAMEL-18625 - Provide an option to pass specific AWS SAML Profile - Reload Task

The 3 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.


Summary of changes:
 .../component/aws/secretsmanager/SecretsDevConsole.java |  4 ++++
 .../vault/CloudTrailReloadTriggerTask.java              | 17 +++++++++++++++++
 2 files changed, 21 insertions(+)


[camel] 02/03: CAMEL-18625 - Provide an option to pass specific AWS SAML Profile - Reload Task

Posted by ac...@apache.org.
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 7a3613f39c2d0082932f56c4eaa3c34b8b9335a2
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Apr 6 07:36:38 2023 +0200

    CAMEL-18625 - Provide an option to pass specific AWS SAML Profile - Reload Task
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java         | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
index 292f77ab8fa..8e1007fb241 100644
--- a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
+++ b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
@@ -50,8 +50,6 @@ import software.amazon.awssdk.services.cloudtrail.model.LookupAttributeKey;
 import software.amazon.awssdk.services.cloudtrail.model.LookupEventsRequest;
 import software.amazon.awssdk.services.cloudtrail.model.LookupEventsResponse;
 import software.amazon.awssdk.services.cloudtrail.model.Resource;
-import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient;
-import software.amazon.awssdk.services.secretsmanager.SecretsManagerClientBuilder;
 
 /**
  * Period task which checks if AWS secrets has been updated and can trigger Camel to be reloaded.
@@ -161,6 +159,8 @@ public class CloudTrailReloadTriggerTask extends ServiceSupport implements Camel
                 secretKey = awsVaultConfiguration.getSecretKey();
                 region = awsVaultConfiguration.getRegion();
                 useDefaultCredentialsProvider = awsVaultConfiguration.isDefaultCredentialsProvider();
+                useProfileCredentialsProvider = awsVaultConfiguration.isProfileCredentialsProvider();
+                profileName = awsVaultConfiguration.getProfileName();
             }
         }
         if (ObjectHelper.isNotEmpty(accessKey) && ObjectHelper.isNotEmpty(secretKey) && ObjectHelper.isNotEmpty(region)) {


[camel] 01/03: CAMEL-18625 - Provide an option to pass specific AWS SAML Profile - Reload Task

Posted by ac...@apache.org.
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 581259682900327d3aed1ebf806997c213c0a5e4
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Apr 6 07:33:40 2023 +0200

    CAMEL-18625 - Provide an option to pass specific AWS SAML Profile - Reload Task
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../vault/CloudTrailReloadTriggerTask.java              | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
index 848d6bc9eaa..292f77ab8fa 100644
--- a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
+++ b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/vault/CloudTrailReloadTriggerTask.java
@@ -39,6 +39,7 @@ import org.apache.camel.vault.AwsVaultConfiguration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
+import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
 import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
 import software.amazon.awssdk.regions.Region;
 import software.amazon.awssdk.services.cloudtrail.CloudTrailClient;
@@ -49,6 +50,8 @@ import software.amazon.awssdk.services.cloudtrail.model.LookupAttributeKey;
 import software.amazon.awssdk.services.cloudtrail.model.LookupEventsRequest;
 import software.amazon.awssdk.services.cloudtrail.model.LookupEventsResponse;
 import software.amazon.awssdk.services.cloudtrail.model.Resource;
+import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient;
+import software.amazon.awssdk.services.secretsmanager.SecretsManagerClientBuilder;
 
 /**
  * Period task which checks if AWS secrets has been updated and can trigger Camel to be reloaded.
@@ -62,6 +65,12 @@ public class CloudTrailReloadTriggerTask extends ServiceSupport implements Camel
     private static final String CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV
             = "CAMEL_VAULT_AWS_USE_DEFAULT_CREDENTIALS_PROVIDER";
 
+    private static final String CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV
+            = "CAMEL_VAULT_AWS_USE_PROFILE_CREDENTIALS_PROVIDER";
+
+    private static final String CAMEL_AWS_VAULT_PROFILE_NAME_ENV
+            = "CAMEL_AWS_VAULT_PROFILE_NAME";
+
     private static final Logger LOG = LoggerFactory.getLogger(CloudTrailReloadTriggerTask.class);
     private static final String SECRETSMANAGER_AMAZONAWS_COM = "secretsmanager.amazonaws.com";
 
@@ -142,6 +151,9 @@ public class CloudTrailReloadTriggerTask extends ServiceSupport implements Camel
         String region = System.getenv(CAMEL_AWS_VAULT_REGION_ENV);
         boolean useDefaultCredentialsProvider
                 = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_DEFAULT_CREDENTIALS_PROVIDER_ENV));
+        boolean useProfileCredentialsProvider
+                = Boolean.parseBoolean(System.getenv(CAMEL_AWS_VAULT_USE_PROFILE_CREDENTIALS_PROVIDER_ENV));
+        String profileName = System.getenv(CAMEL_AWS_VAULT_PROFILE_NAME_ENV);
         if (ObjectHelper.isEmpty(accessKey) && ObjectHelper.isEmpty(secretKey) && ObjectHelper.isEmpty(region)) {
             AwsVaultConfiguration awsVaultConfiguration = getCamelContext().getVaultConfiguration().aws();
             if (ObjectHelper.isNotEmpty(awsVaultConfiguration)) {
@@ -161,6 +173,11 @@ public class CloudTrailReloadTriggerTask extends ServiceSupport implements Camel
             CloudTrailClientBuilder clientBuilder = CloudTrailClient.builder();
             clientBuilder.region(Region.of(region));
             cloudTrailClient = clientBuilder.build();
+        } else if (useProfileCredentialsProvider && ObjectHelper.isNotEmpty(profileName)) {
+            CloudTrailClientBuilder clientBuilder = CloudTrailClient.builder();
+            clientBuilder.credentialsProvider(ProfileCredentialsProvider.create(profileName));
+            clientBuilder.region(Region.of(region));
+            cloudTrailClient = clientBuilder.build();
         } else {
             throw new RuntimeCamelException(
                     "Using the AWS Secrets Refresh Task requires setting AWS credentials as application properties or environment variables");


[camel] 03/03: CAMEL-18625 - Provide an option to pass specific AWS SAML Profile - Reload Task

Posted by ac...@apache.org.
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 1c087dd8884921083ae6f193a6340be9d2745bda
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Apr 6 07:53:36 2023 +0200

    CAMEL-18625 - Provide an option to pass specific AWS SAML Profile - Reload Task
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../apache/camel/component/aws/secretsmanager/SecretsDevConsole.java  | 4 ++++
 1 file changed, 4 insertions(+)

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 15939f99a6f..0f31f2ac8de 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
@@ -69,6 +69,8 @@ public class SecretsDevConsole extends AbstractDevConsole {
             sb.append(String.format("\n    Region: %s", propertiesFunction.getRegion()));
             if (propertiesFunction.isDefaultCredentialsProvider()) {
                 sb.append("\n    Login: DefaultCredentialsProvider");
+            } else if (propertiesFunction.isProfleCredentialsProvider()) {
+                sb.append("\n    Login: ProfileCredentialsProvider");
             } else {
                 sb.append("\n    Login: Access and Secret Keys");
             }
@@ -111,6 +113,8 @@ public class SecretsDevConsole extends AbstractDevConsole {
             root.put("region", propertiesFunction.getRegion());
             if (propertiesFunction.isDefaultCredentialsProvider()) {
                 root.put("login", "DefaultCredentialsProvider");
+            } else if (propertiesFunction.isProfleCredentialsProvider()) {
+                root.put("login", "ProfileCredentialsProvider");
             } else {
                 root.put("login", "Access and Secret Keys");
             }