aws_secrets_loader 0.2.4 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54ddf284471f610a741a04a16b675ff8f7fb621a32ce860603d1b57b7dec87bb
4
- data.tar.gz: e0657675b6144a16f538b54e67be1ea4290d11aaaf17358ab0743f748c5fc019
3
+ metadata.gz: f5064425cd78bcfb8ca4a70a1efa41181c975bb61f81560580498fcfca727614
4
+ data.tar.gz: e1b3132f8ec3f92da662c99b46e3d48edfe92ea2e73c4fafb17da961075b7455
5
5
  SHA512:
6
- metadata.gz: c568de8c1289cea0033b71a641f5ada425cb52d10e9f377766ff00faeabe41f8b9d61362402f95cb8c3aa2f54daf25d719027287dc7e1fbd36fcb7c5360bd3d0
7
- data.tar.gz: 51d050ddbbba90739adefa8a851fcbb68081eeee98af6c6d664a67b7d24d2de3bee142342798c7857303f4669f18a238c5dfd2d8a1aa842b822315e7759a8e1d
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
 
@@ -10,12 +11,12 @@ jobs:
10
11
  runs-on: ubuntu-latest
11
12
 
12
13
  steps:
13
- - uses: actions/checkout@v2
14
+ - uses: actions/checkout@v3
14
15
  - name: Set up Ruby 2.6
15
- uses: actions/setup-ruby@v1
16
+ uses: ruby/setup-ruby@v1
16
17
  with:
17
- ruby-version: 2.6.x
18
-
18
+ ruby-version: 2.6
19
+ bundler-cache: true
19
20
  - name: Publish to GPR
20
21
  run: |
21
22
  mkdir -p $HOME/.gem
@@ -15,18 +15,14 @@ on:
15
15
 
16
16
  jobs:
17
17
  test:
18
-
19
18
  runs-on: ubuntu-latest
20
-
21
19
  steps:
22
- - uses: actions/checkout@v2
20
+ - uses: actions/checkout@v3
23
21
  - name: Set up Ruby
24
- # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
25
- # change this to (see https://github.com/ruby/setup-ruby#versioning):
26
- # uses: ruby/setup-ruby@v1
27
- uses: ruby/setup-ruby@21351ecc0a7c196081abca5dc55b08f085efe09a
22
+ uses: ruby/setup-ruby@v1
28
23
  with:
29
24
  ruby-version: 2.6
25
+ bundler-cache: true
30
26
  - name: Install dependencies
31
27
  run: bundle install
32
28
  - name: Run Lint
@@ -39,6 +35,7 @@ jobs:
39
35
  - name: Run tests
40
36
  run: bundle exec rspec
41
37
  - name: Publish code coverage
38
+ if: github.ref_name == 'main'
42
39
  run: |
43
40
  export GIT_BRANCH="${GITHUB_REF/refs\/heads\//}"
44
41
  ./cc-test-reporter after-build -r ${{secrets.CC_TEST_REPORTER_ID}}
data/.gitignore CHANGED
@@ -11,3 +11,5 @@
11
11
  .rspec_status
12
12
 
13
13
  Gemfile.lock
14
+
15
+ .idea
@@ -28,4 +28,5 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency 'rake', '~> 13.0'
29
29
  spec.add_development_dependency 'rspec', '~> 3.0'
30
30
  spec.add_development_dependency 'rubocop', '~> 1.1'
31
+ spec.metadata['rubygems_mfa_required'] = 'true'
31
32
  end
@@ -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['AWS_SECRET_NAME']
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.4'
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.4
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: 2020-12-14 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
@@ -96,7 +96,8 @@ files:
96
96
  homepage: https://github.com/iagopiimenta/aws_secrets_loader
97
97
  licenses:
98
98
  - MIT
99
- metadata: {}
99
+ metadata:
100
+ rubygems_mfa_required: 'true'
100
101
  post_install_message:
101
102
  rdoc_options: []
102
103
  require_paths:
@@ -112,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
113
  - !ruby/object:Gem::Version
113
114
  version: '0'
114
115
  requirements: []
115
- rubygems_version: 3.0.3
116
+ rubygems_version: 3.0.3.1
116
117
  signing_key:
117
118
  specification_version: 4
118
119
  summary: AWS Secret Manager Loader on Rails