awsecrets 1.12.0 → 1.15.1

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
- SHA1:
3
- metadata.gz: b54990850e5df4e092d8538d89878f1934c673de
4
- data.tar.gz: 7d0daf9490919f0cf0f1934c47208e7f73b78ffd
2
+ SHA256:
3
+ metadata.gz: c6921803a1e7e48a0978210ad5f5e2556dc62532c6d14b8e993617973f841204
4
+ data.tar.gz: 1326617d811ed46297c9ec920c88314ef56de724cee17b00850bfde22e3d943f
5
5
  SHA512:
6
- metadata.gz: 322296f455e56ac109d36449db677a6ae0d8a5b1ab9d5a4ada5379242d5559a6df063bda85a3b3a156da3e7d18bbe1ed486b248ff226265d303ef96aa5190421
7
- data.tar.gz: 7ec6789073641adf4017cc9ce14280aace8d8f1c8b606e96c90b8a134e6e36e9e046be5d9d86b55f21b02c56b329add66de9761e4fa8c35e94324fa34547255a
6
+ metadata.gz: f6924d54235df13e24c9fac09ab5e7ad23326c4aeedb47a312f491c11eade13f9d9f15148d3d953996376813b5e9ecbe0f04c4b61f65d359c74778573d81055b
7
+ data.tar.gz: 9997c7921799f9c9a64d83b1ad65d2df1444c059a7bd2379394eaf785446aab1a4426e2a8c03a63ae298644d39e82e81d844a6e3fd8b7f161d36dfb58ae02e4a
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ *.sw*
@@ -1,9 +1,13 @@
1
+ ---
1
2
  AllCops:
2
3
  TargetRubyVersion: 2.1
3
4
 
4
5
  Lint/HandleExceptions:
5
6
  Enabled: false
6
7
 
8
+ Lint/MissingCopEnableDirective:
9
+ Enabled: false
10
+
7
11
  Lint/UselessAssignment:
8
12
  Enabled: false
9
13
 
@@ -11,10 +15,10 @@ Metrics/AbcSize:
11
15
  Max: 50
12
16
 
13
17
  Metrics/ClassLength:
14
- Max: 120
18
+ Max: 130
15
19
 
16
20
  Metrics/ModuleLength:
17
- Max: 120
21
+ Max: 130
18
22
 
19
23
  Metrics/CyclomaticComplexity:
20
24
  Max: 15
@@ -66,3 +70,4 @@ Style/SymbolProc:
66
70
 
67
71
  Style/BracesAroundHashParameters:
68
72
  Enabled: false
73
+
@@ -1,11 +1,22 @@
1
+ ---
1
2
  language: ruby
2
- rvm:
3
- - 2.3.4
4
- - 2.2.7
5
-
3
+ matrix:
4
+ include:
5
+ - rvm: 2.6.2
6
+ env: RUBYGEMS_VERSION=
7
+ - rvm: 2.5.3
8
+ env: RUBYGEMS_VERSION=
9
+ - rvm: 2.4.5
10
+ env: RUBYGEMS_VERSION=
11
+ - rvm: 2.3.8
12
+ env: RUBYGEMS_VERSION=
13
+ - rvm: 2.2.10
14
+ env: RUBYGEMS_VERSION=2.7.8
15
+ - rvm: 2.1.10
16
+ env: RUBYGEMS_VERSION=2.7.8
6
17
  before_install:
7
- - gem update bundler
8
-
18
+ - gem update --system ${RUBYGEMS_VERSION}
19
+ - gem pristine bundler
20
+
9
21
  script:
10
22
  - bundle exec rake spec
11
-
data/README.md CHANGED
@@ -9,6 +9,7 @@ AWS credentials loader
9
9
  3. YAML file (secrets.yml)
10
10
  4. The AWS credentials file
11
11
  5. The CLI configuration file
12
+ 6. Instance profile credentials
12
13
 
13
14
  (See http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#config-settings-and-precedence)
14
15
 
@@ -30,7 +31,28 @@ Or install it yourself as:
30
31
 
31
32
  ## Usage example
32
33
 
33
- Create command line tool `ec2sample` like following code
34
+ ### Generate exception with wrong configuration
35
+
36
+ For some use cases, awsecrets might raise an exception if (even after all
37
+ attempts to configure access to an AWS account) there is missing configuration
38
+ parameters.
39
+
40
+ In other cases, this might not be desired.
41
+
42
+ To have control on that, you can use the environment variable
43
+ `DISABLE_AWS_CLIENT_CHECK`: if you set it to the string `'true'`, it will not
44
+ attempt to early create an `Aws::EC2::Client` instance with the found
45
+ parameters.
46
+
47
+ By default, even if you don't set `DISABLE_AWS_CLIENT_CHECK` it will be treated
48
+ like `true`.
49
+
50
+ To enable this early checking, you **must** setup `DISABLE_AWS_CLIENT_CHECK`
51
+ with the string `'false'`.
52
+
53
+ ### Basic example
54
+
55
+ Create a command line tool `ec2sample` like following code:
34
56
 
35
57
  ```ruby
36
58
  #!/usr/bin/env ruby
@@ -40,17 +62,21 @@ ec2_client = Aws::EC2::Client.new
40
62
  puts ec2_client.describe_instances({ instance_ids: [ARGV.first] }).reservations.first.instances.first
41
63
  ```
42
64
 
43
- And execute
65
+ Then execute it with command line parameters:
44
66
 
45
67
  ```sh
46
68
  $ ec2sample i-1aa1aaaa --profile mycreds --region ap-northeast-1
69
+ ```
47
70
 
48
- or
71
+ or with environment variables configuration:
49
72
 
73
+ ```sh
50
74
  $ AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX AWS_REGION=ap-northeast-1 ec2sample i-1aa1aaaa
75
+ ```
51
76
 
52
- or
77
+ or using an YAML file:
53
78
 
79
+ ```sh
54
80
  $ cat <<EOF > secrets.yml
55
81
  region: ap-northeast-1
56
82
  aws_access_key_id: XXXXXXXXXXXXXXXXXXXX
@@ -61,9 +87,9 @@ $ ec2sample i-1aa1aaaa
61
87
 
62
88
  ### Use AssumeRole
63
89
 
64
- Support `role_arn` `role_session_name` `source_profile`.
90
+ Support `role_arn` `role_session_name` `source_profile` `external_id`.
65
91
 
66
- #### 1. .aws/config and .aws/credentials
92
+ #### 1. `.aws/config` and `.aws/credentials`
67
93
 
68
94
  see http://docs.aws.amazon.com/cli/latest/userguide/cli-roles.html
69
95
 
@@ -71,6 +97,7 @@ see http://docs.aws.amazon.com/cli/latest/userguide/cli-roles.html
71
97
  # .aws/config
72
98
  [profile assumed]
73
99
  role_arn = arn:aws:iam::123456780912:role/assumed-role
100
+ external_id = myfoo_id
74
101
  source_profile = assume_test
75
102
  ```
76
103
 
@@ -87,7 +114,7 @@ And execute
87
114
  $ ec2sample i-1aa1aaaa --profile assumed --region ap-northeast-1
88
115
  ```
89
116
 
90
- #### 2. secrets.yml
117
+ #### 2. `secrets.yml`
91
118
 
92
119
  ```sh
93
120
  $ cat <<EOF > secrets.yml
@@ -103,11 +130,22 @@ And execute
103
130
  $ ec2sample i-1aa1aaaa
104
131
  ```
105
132
 
133
+ ### Disable load YAML (`secrets.yml`)
134
+
135
+ ```ruby
136
+ Awsecrets.load(disable_load_secrets:true)
137
+ ```
138
+
139
+ or
140
+
141
+ ```ruby
142
+ Awsecrets.load(secrets_path:false)
143
+ ```
106
144
 
107
145
  ## Contributing
108
146
 
109
- 1. Fork it ( https://github.com/k1LoW/awsecrets/fork )
110
- 2. Create your feature branch (`git checkout -b my-new-feature`)
111
- 3. Commit your changes (`git commit -am 'Add some feature'`)
112
- 4. Push to the branch (`git push origin my-new-feature`)
113
- 5. Create a new Pull Request
147
+ 1. [Fork it]( https://github.com/k1LoW/awsecrets/fork ) !
148
+ 2. Create your feature branch (`git checkout -b my-new-feature`).
149
+ 3. Commit your changes (`git commit -am 'Add some feature'`).
150
+ 4. Push to the branch (`git push origin my-new-feature`).
151
+ 5. Create a new Pull Request.
data/Rakefile CHANGED
@@ -9,10 +9,13 @@ begin
9
9
  rescue LoadError
10
10
  end
11
11
 
12
+ desc 'Default task: run spec'
13
+ task default: 'spec'
14
+
15
+ desc 'Run spec:all - spec:core and spec:rubocop'
12
16
  task spec: 'spec:all'
13
17
  namespace :spec do
14
- task all: ['spec:core',
15
- 'spec:rubocop']
18
+ task all: ['spec:core', 'spec:rubocop']
16
19
  RSpec::Core::RakeTask.new(:core)
17
20
  RuboCop::RakeTask.new
18
21
  end
@@ -1,8 +1,6 @@
1
- # coding: utf-8
2
-
3
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
4
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'awsecrets/version'
3
+ require_relative 'lib/awsecrets/version'
6
4
 
7
5
  Gem::Specification.new do |spec|
8
6
  spec.name = 'awsecrets'
@@ -20,12 +18,12 @@ Gem::Specification.new do |spec|
20
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
19
  spec.require_paths = ['lib']
22
20
 
23
- spec.add_runtime_dependency 'aws-sdk', '~> 2'
21
+ spec.add_runtime_dependency 'aws-sdk', '>= 2', '< 4'
24
22
  spec.add_runtime_dependency 'aws_config', '~> 0.1.0'
25
- spec.add_development_dependency 'bundler', '~> 1.9'
26
- spec.add_development_dependency 'rake', '~> 10.0'
27
- spec.add_development_dependency 'rspec'
28
- spec.add_development_dependency 'rubocop'
23
+ spec.add_development_dependency 'bundler', '>= 1.9', '< 3.0'
29
24
  spec.add_development_dependency 'octorelease'
30
25
  spec.add_development_dependency 'pry'
26
+ spec.add_development_dependency 'rake', '>= 12.3.3'
27
+ spec.add_development_dependency 'rspec'
28
+ spec.add_development_dependency 'rubocop', '0.57'
31
29
  end
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- require 'awsecrets'
2
+ require_relative '../lib/awsecrets'
3
3
 
4
4
  Awsecrets.load
5
5
  ec2_client = Aws::EC2::Client.new
@@ -1,16 +1,22 @@
1
- require 'awsecrets/version'
1
+ require_relative 'awsecrets/version'
2
+ require_relative 'awsecrets/utils'
2
3
  require 'optparse'
3
4
  require 'aws-sdk'
4
5
  require 'aws_config'
5
- require 'net/http'
6
6
  require 'yaml'
7
7
 
8
8
  module Awsecrets
9
- def self.load(profile: nil, region: nil, secrets_path: nil)
10
- @profile = profile
11
- @region = region
12
- @secrets_path = secrets_path
13
- @credentials = @access_key_id = @secret_access_key = @session_token = @role_arn = @source_profile = nil
9
+ include Misc
10
+
11
+ def self.load(profile: nil, region: nil, secrets_path: nil, disable_load_secrets: false)
12
+ @profile = profile
13
+ @region = region
14
+ @secrets_path = secrets_path
15
+ @disable_load_secrets = disable_load_secrets
16
+ @disable_load_secrets = true if secrets_path == false
17
+
18
+ @credentials = @access_key_id = @secret_access_key = @session_token = nil
19
+ @role_arn = @external_id = @source_profile = @role_session_name = nil
14
20
 
15
21
  # 1. Command Line Options
16
22
  load_options if load_method_args
@@ -41,46 +47,53 @@ module Awsecrets
41
47
  opt.parse!(ARGV)
42
48
  rescue OptionParser::InvalidOption
43
49
  end
44
- return unless @profile
50
+ return true unless @profile
45
51
  @region ||= AWSConfig[@profile]['region']
52
+ true
46
53
  end
47
54
 
48
55
  def self.load_env
49
- @region ||= ENV['AWS_REGION']
50
- @region ||= ENV['AWS_DEFAULT_REGION']
51
- @profile ||= ENV['AWS_PROFILE']
56
+ @region ||= ENV['AWS_REGION']
57
+ @region ||= ENV['AWS_DEFAULT_REGION']
58
+ @profile ||= ENV['AWS_PROFILE']
52
59
  @secrets_path ||= ENV['AWS_SECRETS_PATH']
53
- return if @access_key_id
60
+ return true if @access_key_id
54
61
  return unless ENV['AWS_ACCESS_KEY_ID'] && ENV['AWS_SECRET_ACCESS_KEY']
55
- @access_key_id ||= ENV['AWS_ACCESS_KEY_ID']
62
+ @access_key_id ||= ENV['AWS_ACCESS_KEY_ID']
56
63
  @secret_access_key ||= ENV['AWS_SECRET_ACCESS_KEY']
57
- @session_token ||= ENV['AWS_SESSION_TOKEN']
64
+ @session_token ||= ENV['AWS_SESSION_TOKEN']
65
+ true
58
66
  end
59
67
 
60
68
  def self.load_yaml
69
+ return false if @disable_load_secrets
61
70
  @secrets_path ||= 'secrets.yml'
62
71
  creds = YAML.load_file(@secrets_path) if File.exist?(File.expand_path(@secrets_path))
63
72
  @region ||= creds['region'] if creds && creds.include?('region')
64
- return if @access_key_id
65
- return unless creds &&
73
+ return true if @access_key_id
74
+ return true unless creds &&
66
75
  creds.include?('aws_access_key_id') &&
67
76
  creds.include?('aws_secret_access_key')
68
- @access_key_id ||= creds['aws_access_key_id']
77
+ @access_key_id ||= creds['aws_access_key_id']
69
78
  @secret_access_key ||= creds['aws_secret_access_key']
70
- @session_token ||= creds['aws_session_token'] if creds.include?('aws_session_token')
71
- @role_arn ||= creds['role_arn'] if creds.include?('role_arn')
79
+ @session_token ||= creds['aws_session_token'] if creds.include?('aws_session_token')
80
+ @role_arn ||= creds['role_arn'] if creds.include?('role_arn')
81
+ @external_id ||= creds['external_id'] if creds.include?('external_id')
72
82
  @role_session_name ||= creds['role_session_name'] if creds.include?('role_session_name')
73
- return unless @role_arn
74
- @role_session_name ||= generate_session_name
75
- @credentials ||= Aws::AssumeRoleCredentials.new(
83
+
84
+ return true unless @role_arn
85
+ @role_session_name ||= Misc.generate_session_name
86
+ @credentials ||= role_creds(
76
87
  client: Aws::STS::Client.new(
77
88
  region: @region,
78
89
  access_key_id: @access_key_id,
79
90
  secret_access_key: @secret_access_key
80
91
  ),
81
92
  role_arn: @role_arn,
82
- role_session_name: @role_session_name
93
+ role_session_name: @role_session_name,
94
+ external_id: @external_id
83
95
  )
96
+ true
84
97
  end
85
98
 
86
99
  def self.load_config
@@ -90,30 +103,32 @@ module Awsecrets
90
103
  AWSConfig['default']['region']
91
104
  end
92
105
 
93
- @role_arn ||= AWSConfig[@profile]['role_arn'] if AWSConfig[@profile]
106
+ @role_arn ||= AWSConfig[@profile]['role_arn'] if AWSConfig[@profile]
94
107
  @role_session_name ||= AWSConfig[@profile]['role_session_name'] if AWSConfig[@profile]
95
- @source_profile ||= AWSConfig[@profile]['source_profile'] if AWSConfig[@profile]
108
+ @external_id ||= AWSConfig[@profile]['external_id'] if AWSConfig[@profile]
109
+ @source_profile ||= AWSConfig[@profile]['source_profile'] if AWSConfig[@profile]
96
110
  end
97
111
 
98
112
  def self.set_aws_config
99
- @region ||= self.current_region
113
+ @region ||= Misc.current_region
100
114
  Aws.config[:region] = @region
101
115
 
102
116
  if @role_arn && @source_profile
103
- @role_session_name ||= generate_session_name
117
+ @role_session_name ||= Misc.generate_session_name
104
118
  region = if AWSConfig[@source_profile.name] && AWSConfig[@source_profile.name]['region']
105
119
  AWSConfig[@source_profile.name]['region']
106
120
  else
107
121
  AWSConfig['default']['region']
108
122
  end
109
123
 
110
- @credentials ||= Aws::AssumeRoleCredentials.new(
124
+ @credentials ||= role_creds(
111
125
  client: Aws::STS::Client.new(
112
126
  region: region,
113
127
  credentials: Aws::SharedCredentials.new(profile_name: @source_profile.name)
114
128
  ),
115
129
  role_arn: @role_arn,
116
- role_session_name: @role_session_name
130
+ role_session_name: @role_session_name,
131
+ external_id: @external_id
117
132
  )
118
133
  end
119
134
 
@@ -122,16 +137,11 @@ module Awsecrets
122
137
  @credentials ||= Aws::Credentials.new(@access_key_id, @secret_access_key, @session_token) if @access_key_id
123
138
  @credentials ||= Aws::InstanceProfileCredentials.new
124
139
 
140
+ Misc.validate_client
125
141
  Aws.config[:credentials] = @credentials
126
142
  end
127
143
 
128
- def self.generate_session_name
129
- "awsecrets-session-#{Time.now.to_i}"
130
- end
131
-
132
- def self.current_region
133
- metadata_endpoint = 'http://169.254.169.254/latest/meta-data/'
134
- az = Net::HTTP.get(URI.parse(metadata_endpoint + 'placement/availability-zone'))
135
- az[0...-1]
144
+ def self.role_creds(args)
145
+ Aws::AssumeRoleCredentials.new(args)
136
146
  end
137
147
  end
@@ -0,0 +1,25 @@
1
+ require 'net/http'
2
+
3
+ module Misc
4
+ def self.validate_client
5
+ return unless ENV.key?('DISABLE_AWS_CLIENT_CHECK') && (ENV['DISABLE_AWS_CLIENT_CHECK'] == 'false')
6
+
7
+ begin
8
+ Aws::EC2::Client.new
9
+ rescue Aws::Errors::MissingRegionError
10
+ raise 'Missing region: use "region" command line option or export ENV[\'AWS_REGION\'] or awscli configure'
11
+ rescue StandardError => e
12
+ raise "Oops, there is something wrong with AWS client configuration => #{e}"
13
+ end
14
+ end
15
+
16
+ def self.generate_session_name
17
+ "awsecrets-session-#{Time.now.to_i}"
18
+ end
19
+
20
+ def self.current_region
21
+ metadata_endpoint = 'http://169.254.169.254/latest/meta-data/'
22
+ az = Net::HTTP.get(URI.parse(metadata_endpoint + 'placement/availability-zone'))
23
+ az[0...-1]
24
+ end
25
+ end
@@ -1,3 +1,3 @@
1
1
  module Awsecrets
2
- VERSION = '1.12.0'
2
+ VERSION = '1.15.1'
3
3
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awsecrets
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.0
4
+ version: 1.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - k1LoW
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-30 00:00:00.000000000 Z
11
+ date: 2020-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '4'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '4'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: aws_config
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -42,32 +48,38 @@ dependencies:
42
48
  name: bundler
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - "~>"
51
+ - - ">="
46
52
  - !ruby/object:Gem::Version
47
53
  version: '1.9'
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: '3.0'
48
57
  type: :development
49
58
  prerelease: false
50
59
  version_requirements: !ruby/object:Gem::Requirement
51
60
  requirements:
52
- - - "~>"
61
+ - - ">="
53
62
  - !ruby/object:Gem::Version
54
63
  version: '1.9'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: '3.0'
55
67
  - !ruby/object:Gem::Dependency
56
- name: rake
68
+ name: octorelease
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
59
- - - "~>"
71
+ - - ">="
60
72
  - !ruby/object:Gem::Version
61
- version: '10.0'
73
+ version: '0'
62
74
  type: :development
63
75
  prerelease: false
64
76
  version_requirements: !ruby/object:Gem::Requirement
65
77
  requirements:
66
- - - "~>"
78
+ - - ">="
67
79
  - !ruby/object:Gem::Version
68
- version: '10.0'
80
+ version: '0'
69
81
  - !ruby/object:Gem::Dependency
70
- name: rspec
82
+ name: pry
71
83
  requirement: !ruby/object:Gem::Requirement
72
84
  requirements:
73
85
  - - ">="
@@ -81,21 +93,21 @@ dependencies:
81
93
  - !ruby/object:Gem::Version
82
94
  version: '0'
83
95
  - !ruby/object:Gem::Dependency
84
- name: rubocop
96
+ name: rake
85
97
  requirement: !ruby/object:Gem::Requirement
86
98
  requirements:
87
99
  - - ">="
88
100
  - !ruby/object:Gem::Version
89
- version: '0'
101
+ version: 12.3.3
90
102
  type: :development
91
103
  prerelease: false
92
104
  version_requirements: !ruby/object:Gem::Requirement
93
105
  requirements:
94
106
  - - ">="
95
107
  - !ruby/object:Gem::Version
96
- version: '0'
108
+ version: 12.3.3
97
109
  - !ruby/object:Gem::Dependency
98
- name: octorelease
110
+ name: rspec
99
111
  requirement: !ruby/object:Gem::Requirement
100
112
  requirements:
101
113
  - - ">="
@@ -109,19 +121,19 @@ dependencies:
109
121
  - !ruby/object:Gem::Version
110
122
  version: '0'
111
123
  - !ruby/object:Gem::Dependency
112
- name: pry
124
+ name: rubocop
113
125
  requirement: !ruby/object:Gem::Requirement
114
126
  requirements:
115
- - - ">="
127
+ - - '='
116
128
  - !ruby/object:Gem::Version
117
- version: '0'
129
+ version: '0.57'
118
130
  type: :development
119
131
  prerelease: false
120
132
  version_requirements: !ruby/object:Gem::Requirement
121
133
  requirements:
122
- - - ">="
134
+ - - '='
123
135
  - !ruby/object:Gem::Version
124
- version: '0'
136
+ version: '0.57'
125
137
  description: AWS credentials loader
126
138
  email:
127
139
  - k1lowxb@gmail.com
@@ -142,6 +154,7 @@ files:
142
154
  - bin/setup
143
155
  - bin/testcommand
144
156
  - lib/awsecrets.rb
157
+ - lib/awsecrets/utils.rb
145
158
  - lib/awsecrets/version.rb
146
159
  homepage: https://github.com/k1LoW/awsecrets
147
160
  licenses:
@@ -162,8 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
162
175
  - !ruby/object:Gem::Version
163
176
  version: '0'
164
177
  requirements: []
165
- rubyforge_project:
166
- rubygems_version: 2.4.5.1
178
+ rubygems_version: 3.0.3
167
179
  signing_key:
168
180
  specification_version: 4
169
181
  summary: AWS credentials loader