aws_secrets_loader 0.2.7 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 65c647855b1ce52befb78c4e53a2cb9357f19418d557d75d8d764b42ac0f0e14
4
- data.tar.gz: 9f3d1e165aebaabe44ba2bd432cc9284379cfa5f4204816b2fda18915c432316
3
+ metadata.gz: f5064425cd78bcfb8ca4a70a1efa41181c975bb61f81560580498fcfca727614
4
+ data.tar.gz: e1b3132f8ec3f92da662c99b46e3d48edfe92ea2e73c4fafb17da961075b7455
5
5
  SHA512:
6
- metadata.gz: ec616821bca68f7bcbb453fd3e38b8bb8d4825cd929866b608e6b25f61657a1b4b2880c505a64b6c5f8bf2df507625adc3786e20da9cbb0022b5b20ee6248a0e
7
- data.tar.gz: 9a5fae7f8d5c4707e1455a11f3f0a17b18ce71dff3f0c2498a75f10139da53b5708f307d340e655de9955fc4ef9478fb25408777083aa7a216e1e6fc1640b266
6
+ metadata.gz: 07bdf55874459099fb7209296496adf1d1d431f0ee52e6a11579e9c6b2a32575eedd7d6942e9b29e0268905ae62487af3d7100538d094ad5757227fc924c8d2f
7
+ data.tar.gz: 91c7beac6e288fa9f5a89baf4ae6623da22b9ae289cd6782311f800964fc9f5f7787ea50444a763b1bda545ba81b0cfc4bd0fc28d727ef6a5acd4f9e4b617348
@@ -1,6 +1,7 @@
1
1
  name: Ruby Gem
2
2
 
3
3
  on:
4
+ workflow_dispatch:
4
5
  push:
5
6
  branches: [ main ]
6
7
 
@@ -15,9 +15,7 @@ on:
15
15
 
16
16
  jobs:
17
17
  test:
18
-
19
18
  runs-on: ubuntu-latest
20
-
21
19
  steps:
22
20
  - uses: actions/checkout@v3
23
21
  - name: Set up Ruby
@@ -37,6 +35,7 @@ jobs:
37
35
  - name: Run tests
38
36
  run: bundle exec rspec
39
37
  - name: Publish code coverage
38
+ if: github.ref_name == 'main'
40
39
  run: |
41
40
  export GIT_BRANCH="${GITHUB_REF/refs\/heads\//}"
42
41
  ./cc-test-reporter after-build -r ${{secrets.CC_TEST_REPORTER_ID}}
@@ -7,17 +7,20 @@ module AwsSecretsLoader
7
7
  class AwsFetcher
8
8
  class << self
9
9
  def load
10
- secrets = fetch_secrets
11
- add_to_environment(secrets)
10
+ secret_names.each do |secret_name|
11
+ secrets = fetch_secrets(secret_name)
12
+
13
+ add_to_environment(secrets)
14
+ end
12
15
  end
13
16
 
14
17
  private
15
18
 
16
- def fetch_secrets
19
+ def fetch_secrets(secret_name)
17
20
  client = Aws::SecretsManager::Client.new
18
- get_secret_value_response = client.get_secret_value(secret_id: secret_name)
21
+ secret_value = client.get_secret_value(secret_id: secret_name)
19
22
 
20
- JSON.parse(get_secret_value_response.secret_string)
23
+ valid_json?(secret_value.secret_string) || { secret_name.to_s => secret_value.secret_string }
21
24
  end
22
25
 
23
26
  def add_to_environment(secrets)
@@ -26,8 +29,14 @@ module AwsSecretsLoader
26
29
  end
27
30
  end
28
31
 
29
- def secret_name
30
- ENV.fetch('AWS_SECRET_NAME', nil)
32
+ def secret_names
33
+ ENV['AWS_SECRET_NAME'] ? ENV['AWS_SECRET_NAME'].split(',') : []
34
+ end
35
+
36
+ def valid_json?(string)
37
+ JSON.parse(string)
38
+ rescue JSON::ParserError
39
+ nil
31
40
  end
32
41
  end
33
42
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AwsSecretsLoader
4
- VERSION = '0.2.7'
4
+ VERSION = '0.2.8'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_secrets_loader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Iago
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-11 00:00:00.000000000 Z
11
+ date: 2023-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-secretsmanager