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 +4 -4
- data/.github/workflows/gem-push.yml +5 -4
- data/.github/workflows/ruby.yml +4 -7
- data/.gitignore +2 -0
- data/aws_secrets_loader.gemspec +1 -0
- data/lib/aws_secrets_loader/aws_fetcher.rb +16 -7
- data/lib/aws_secrets_loader/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5064425cd78bcfb8ca4a70a1efa41181c975bb61f81560580498fcfca727614
|
4
|
+
data.tar.gz: e1b3132f8ec3f92da662c99b46e3d48edfe92ea2e73c4fafb17da961075b7455
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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@
|
14
|
+
- uses: actions/checkout@v3
|
14
15
|
- name: Set up Ruby 2.6
|
15
|
-
uses:
|
16
|
+
uses: ruby/setup-ruby@v1
|
16
17
|
with:
|
17
|
-
ruby-version: 2.6
|
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
|
data/.github/workflows/ruby.yml
CHANGED
@@ -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@
|
20
|
+
- uses: actions/checkout@v3
|
23
21
|
- name: Set up Ruby
|
24
|
-
|
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
data/aws_secrets_loader.gemspec
CHANGED
@@ -7,17 +7,20 @@ module AwsSecretsLoader
|
|
7
7
|
class AwsFetcher
|
8
8
|
class << self
|
9
9
|
def load
|
10
|
-
|
11
|
-
|
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
|
-
|
21
|
+
secret_value = client.get_secret_value(secret_id: secret_name)
|
19
22
|
|
20
|
-
|
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
|
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
|
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
|
+
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:
|
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
|