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 +4 -4
- data/.github/workflows/gem-push.yml +1 -0
- data/.github/workflows/ruby.yml +1 -2
- data/lib/aws_secrets_loader/aws_fetcher.rb +16 -7
- data/lib/aws_secrets_loader/version.rb +1 -1
- metadata +2 -2
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
|
data/.github/workflows/ruby.yml
CHANGED
@@ -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
|
-
|
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.
|
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: 2023-04-
|
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
|