aws_secrets_loader 0.2.4 → 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: 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