From b22f0d6abfddc97325ae472a45307bb03aa9cb7f Mon Sep 17 00:00:00 2001 From: jano3 <jano@bob.co.za> Date: Thu, 10 Oct 2024 09:21:10 +0200 Subject: [PATCH] Allow getting S3 credentials from environment variables --- secrets_manager/secrets_manager.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/secrets_manager/secrets_manager.go b/secrets_manager/secrets_manager.go index 9a4e99b..102e351 100644 --- a/secrets_manager/secrets_manager.go +++ b/secrets_manager/secrets_manager.go @@ -51,15 +51,23 @@ func GetDatabaseCredentials(secretID string, isDebug bool) (DatabaseCredentials, } func GetS3UploadCredentialsProvider(secretID string, isDebug bool) (credentials.StaticCredentialsProvider, error) { - secret, _ := GetSecret(secretID, isDebug) var secretValue S3UploadCredentials - err := struct_utils.UnmarshalJSON([]byte(secret), &secretValue) - if err != nil { - return credentials.StaticCredentialsProvider{}, err + if secretID != "" { + secret, _ := GetSecret(secretID, isDebug) + err := struct_utils.UnmarshalJSON([]byte(secret), &secretValue) + if err != nil { + return credentials.StaticCredentialsProvider{}, err + } + } + + // Attempt to get credentials from the environment variables if not set in the secret + if secretValue.AccessKeyID == "" && secretValue.SecretKey == "" { + secretValue.AccessKeyID = os.Getenv("AWS_ACCESS_KEY") + secretValue.SecretKey = os.Getenv("AWS_SECRET_KEY") } if secretValue.AccessKeyID == "" || secretValue.SecretKey == "" { - return credentials.StaticCredentialsProvider{}, err + return credentials.StaticCredentialsProvider{}, nil } return credentials.NewStaticCredentialsProvider(secretValue.AccessKeyID, secretValue.SecretKey, ""), nil -- GitLab