cmonson_2ndwatch_awsecrets 1.14.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f2ca4ff801c8282af6d25eda4e5244fd31b47910
4
+ data.tar.gz: a05b4f5d83b50e859ed691236f99a17e3d18ac94
5
+ SHA512:
6
+ metadata.gz: 25621290cc9a1b61ec12887f92a7934c02dad4f3c84639cadaf14e386e870db5b072bcf0e38cdcd9f75036b8acf365e30b8ec0f4a62c4039581efeedee3bc904
7
+ data.tar.gz: ff0a13b7bdd0957e202bf44e3a25fc3d5490fb936b74c80c318e779415ce0a0bb701388651b145cb1432e2240900d1b808abd5074b08676f5a510cd3bc39f0f5
@@ -0,0 +1,10 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.sw*
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,68 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.1
3
+
4
+ Lint/HandleExceptions:
5
+ Enabled: false
6
+
7
+ Lint/UselessAssignment:
8
+ Enabled: false
9
+
10
+ Metrics/AbcSize:
11
+ Max: 50
12
+
13
+ Metrics/ClassLength:
14
+ Max: 120
15
+
16
+ Metrics/ModuleLength:
17
+ Max: 120
18
+
19
+ Metrics/CyclomaticComplexity:
20
+ Max: 15
21
+
22
+ Metrics/LineLength:
23
+ Max: 120
24
+
25
+ Metrics/MethodLength:
26
+ Max: 30
27
+
28
+ Metrics/PerceivedComplexity:
29
+ Max: 15
30
+
31
+ Performance/StringReplacement:
32
+ Enabled: false
33
+
34
+ Style/Alias:
35
+ Enabled: false
36
+
37
+ Style/BarePercentLiterals:
38
+ Enabled: false
39
+
40
+ Style/ClassAndModuleChildren:
41
+ Enabled: false
42
+
43
+ Style/Documentation:
44
+ Enabled: false
45
+
46
+ Style/MutableConstant:
47
+ Enabled: false
48
+
49
+ Style/MultilineOperationIndentation:
50
+ Enabled: false
51
+
52
+ Style/StabbyLambdaParentheses:
53
+ Enabled: false
54
+
55
+ Style/PercentLiteralDelimiters:
56
+ Enabled: false
57
+
58
+ Style/PredicateName:
59
+ Enabled: false
60
+
61
+ Style/RedundantSelf:
62
+ Enabled: false
63
+
64
+ Style/SymbolProc:
65
+ Enabled: false
66
+
67
+ Style/BracesAroundHashParameters:
68
+ Enabled: false
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.3.4
4
+ - 2.2.7
5
+
6
+ before_install:
7
+ - gem update bundler
8
+
9
+ script:
10
+ - bundle exec rake spec
11
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in awsecrets.gemspec
4
+ gemspec
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 k1LoW
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,126 @@
1
+ # awsecrets [![Gem](https://img.shields.io/gem/v/awsecrets.svg)](https://rubygems.org/gems/awsecrets) [![Travis](https://img.shields.io/travis/k1LoW/awsecrets.svg)](https://travis-ci.org/k1LoW/awsecrets)
2
+
3
+ AWS credentials loader
4
+
5
+ ## awsecrets config precedence
6
+
7
+ 1. Command Line Options (Awscreds#load method args OR self optparse)
8
+ 2. Environment Variables
9
+ 3. YAML file (secrets.yml)
10
+ 4. The AWS credentials file
11
+ 5. The CLI configuration file
12
+ 6. Instance profile credentials
13
+
14
+ (See http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#config-settings-and-precedence)
15
+
16
+ ## Installation
17
+
18
+ Add this line to your application's Gemfile:
19
+
20
+ ```ruby
21
+ gem 'awsecrets'
22
+ ```
23
+
24
+ And then execute:
25
+
26
+ $ bundle
27
+
28
+ Or install it yourself as:
29
+
30
+ $ gem install awsecrets
31
+
32
+ ## Usage example
33
+
34
+ Create command line tool `ec2sample` like following code
35
+
36
+ ```ruby
37
+ #!/usr/bin/env ruby
38
+ require 'awsecrets'
39
+ Awsecrets.load
40
+ ec2_client = Aws::EC2::Client.new
41
+ puts ec2_client.describe_instances({ instance_ids: [ARGV.first] }).reservations.first.instances.first
42
+ ```
43
+
44
+ And execute
45
+
46
+ ```sh
47
+ $ ec2sample i-1aa1aaaa --profile mycreds --region ap-northeast-1
48
+
49
+ or
50
+
51
+ $ AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX AWS_REGION=ap-northeast-1 ec2sample i-1aa1aaaa
52
+
53
+ or
54
+
55
+ $ cat <<EOF > secrets.yml
56
+ region: ap-northeast-1
57
+ aws_access_key_id: XXXXXXXXXXXXXXXXXXXX
58
+ aws_secret_access_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
59
+ EOF
60
+ $ ec2sample i-1aa1aaaa
61
+ ```
62
+
63
+ ### Use AssumeRole
64
+
65
+ Support `role_arn` `role_session_name` `source_profile` `external_id`.
66
+
67
+ #### 1. .aws/config and .aws/credentials
68
+
69
+ see http://docs.aws.amazon.com/cli/latest/userguide/cli-roles.html
70
+
71
+ ```
72
+ # .aws/config
73
+ [profile assumed]
74
+ role_arn = arn:aws:iam::123456780912:role/assumed-role
75
+ external_id = myfoo_id
76
+ source_profile = assume_test
77
+ ```
78
+
79
+ ```
80
+ # .aws/credentials
81
+ [assume_test]
82
+ aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
83
+ aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
84
+ ```
85
+
86
+ And execute
87
+
88
+ ```sh
89
+ $ ec2sample i-1aa1aaaa --profile assumed --region ap-northeast-1
90
+ ```
91
+
92
+ #### 2. secrets.yml
93
+
94
+ ```sh
95
+ $ cat <<EOF > secrets.yml
96
+ region: ap-northeast-1
97
+ aws_access_key_id: XXXXXXXXXXXXXXXXXXXX
98
+ aws_secret_access_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
99
+ role_arn = arn:aws:iam::123456780912:role/assumed-role
100
+ ```
101
+
102
+ And execute
103
+
104
+ ```sh
105
+ $ ec2sample i-1aa1aaaa
106
+ ```
107
+
108
+ ### Disable load YAML(secrets.yml)
109
+
110
+ ```ruby
111
+ Awsecrets.load(disable_load_secrets:true)
112
+ ```
113
+
114
+ or
115
+
116
+ ```ruby
117
+ Awsecrets.load(secrets_path:false)
118
+ ```
119
+
120
+ ## Contributing
121
+
122
+ 1. Fork it ( https://github.com/k1LoW/awsecrets/fork )
123
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
124
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
125
+ 4. Push to the branch (`git push origin my-new-feature`)
126
+ 5. Create a new Pull Request
@@ -0,0 +1,21 @@
1
+ require 'bundler/gem_tasks'
2
+
3
+ begin
4
+ require 'rspec'
5
+ require 'rspec/core'
6
+ require 'rspec/core/rake_task'
7
+ require 'octorelease'
8
+ require 'rubocop/rake_task'
9
+ rescue LoadError
10
+ end
11
+
12
+ desc 'Default task: run spec'
13
+ task default: 'spec'
14
+
15
+ desc 'Run spec:all - spec:core and spec:rubocop'
16
+ task spec: 'spec:all'
17
+ namespace :spec do
18
+ task all: ['spec:core', 'spec:rubocop']
19
+ RSpec::Core::RakeTask.new(:core)
20
+ RuboCop::RakeTask.new
21
+ end
@@ -0,0 +1,31 @@
1
+ # coding: utf-8
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require_relative 'lib/awsecrets/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'cmonson_2ndwatch_awsecrets'
9
+ spec.version = Awsecrets::VERSION
10
+ spec.authors = ['k1LoW']
11
+ spec.email = ['k1lowxb@gmail.com']
12
+
13
+ spec.summary = 'AWS credentials loader'
14
+ spec.description = 'AWS credentials loader'
15
+ spec.homepage = 'https://github.com/cmonson/awsecrets'
16
+ spec.license = 'MIT'
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
+ spec.bindir = 'exe'
20
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
+ spec.require_paths = ['lib']
22
+
23
+ spec.add_runtime_dependency 'aws-sdk', '>= 2', '< 4'
24
+ 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'
29
+ spec.add_development_dependency 'octorelease'
30
+ spec.add_development_dependency 'pry'
31
+ end
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'awsecrets'
5
+ require 'pry'
6
+ Pry.start
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../lib/awsecrets'
3
+
4
+ Awsecrets.load
5
+ ec2_client = Aws::EC2::Client.new
6
+ puts ec2_client.describe_instances({ instance_ids: [ARGV.first] }).reservations.first.instances.first
@@ -0,0 +1,157 @@
1
+ require_relative 'awsecrets/version'
2
+ require 'optparse'
3
+ require 'aws-sdk'
4
+ require 'aws_config'
5
+ require 'net/http'
6
+ require 'yaml'
7
+
8
+ module Awsecrets
9
+ def self.load(profile: nil, region: nil, secrets_path: nil, disable_load_secrets: false)
10
+ @profile = profile
11
+ @region = region
12
+ @secrets_path = secrets_path
13
+ @disable_load_secrets = disable_load_secrets
14
+ @disable_load_secrets = true if secrets_path == false
15
+
16
+ @credentials = nil
17
+ @access_key_id = nil
18
+ @secret_access_key = nil
19
+ @session_token = nil
20
+ @role_arn = nil
21
+ @external_id = nil
22
+ @source_profile = nil
23
+ @role_session_name = nil
24
+
25
+ # 1. Command Line Options
26
+ load_options if load_method_args
27
+ # 2. Environment Variables
28
+ load_env
29
+ # 3. YAML file (secrets.yml)
30
+ load_yaml
31
+ # 4. The AWS credentials file
32
+ # load_creds
33
+ # 5. The CLI configuration file
34
+ load_config
35
+
36
+ set_aws_config
37
+ end
38
+
39
+ def self.load_method_args
40
+ return false unless @profile
41
+ @region ||= AWSConfig[@profile]['region'] if AWSConfig[@profile]['region']
42
+ true
43
+ end
44
+
45
+ def self.load_options
46
+ opt = OptionParser.new
47
+ opt.on('--profile PROFILE') { |v| @profile ||= v }
48
+ opt.on('--region REGION') { |v| @region ||= v }
49
+ opt.on('--secrets_path SECRETS_PATH') { |v| @secrets_path ||= v }
50
+ begin
51
+ opt.parse!(ARGV)
52
+ rescue OptionParser::InvalidOption
53
+ end
54
+ return unless @profile
55
+ @region ||= AWSConfig[@profile]['region']
56
+ end
57
+
58
+ def self.load_env
59
+ @region ||= ENV['AWS_REGION']
60
+ @region ||= ENV['AWS_DEFAULT_REGION']
61
+ @profile ||= ENV['AWS_PROFILE']
62
+ @secrets_path ||= ENV['AWS_SECRETS_PATH']
63
+ return if @access_key_id
64
+ return unless ENV['AWS_ACCESS_KEY_ID'] && ENV['AWS_SECRET_ACCESS_KEY']
65
+ @access_key_id ||= ENV['AWS_ACCESS_KEY_ID']
66
+ @secret_access_key ||= ENV['AWS_SECRET_ACCESS_KEY']
67
+ @session_token ||= ENV['AWS_SESSION_TOKEN']
68
+ end
69
+
70
+ def self.load_yaml
71
+ return if @disable_load_secrets
72
+ @secrets_path ||= 'secrets.yml'
73
+ creds = YAML.load_file(@secrets_path) if File.exist?(File.expand_path(@secrets_path))
74
+ @region ||= creds['region'] if creds && creds.include?('region')
75
+ return if @access_key_id
76
+ return unless creds &&
77
+ creds.include?('aws_access_key_id') &&
78
+ creds.include?('aws_secret_access_key')
79
+ @access_key_id ||= creds['aws_access_key_id']
80
+ @secret_access_key ||= creds['aws_secret_access_key']
81
+ @session_token ||= creds['aws_session_token'] if creds.include?('aws_session_token')
82
+ @role_arn ||= creds['role_arn'] if creds.include?('role_arn')
83
+ @external_id ||= creds['external_id'] if creds.include?('external_id')
84
+ @role_session_name ||= creds['role_session_name'] if creds.include?('role_session_name')
85
+
86
+ return unless @role_arn
87
+ @role_session_name ||= generate_session_name
88
+ @credentials ||= role_creds(
89
+ client: Aws::STS::Client.new(
90
+ region: @region,
91
+ access_key_id: @access_key_id,
92
+ secret_access_key: @secret_access_key
93
+ ),
94
+ role_arn: @role_arn,
95
+ role_session_name: @role_session_name,
96
+ external_id: @external_id
97
+ )
98
+ end
99
+
100
+ def self.load_config
101
+ @region ||= if AWSConfig[@profile] && AWSConfig[@profile]['region']
102
+ AWSConfig[@profile]['region']
103
+ elsif AWSConfig['default']
104
+ AWSConfig['default']['region']
105
+ end
106
+
107
+ @role_arn ||= AWSConfig[@profile]['role_arn'] if AWSConfig[@profile]
108
+ @role_session_name ||= AWSConfig[@profile]['role_session_name'] if AWSConfig[@profile]
109
+ @external_id ||= AWSConfig[@profile]['external_id'] if AWSConfig[@profile]
110
+ @source_profile ||= AWSConfig[@profile]['source_profile'] if AWSConfig[@profile]
111
+ end
112
+
113
+ def self.set_aws_config
114
+ @region ||= self.current_region
115
+ Aws.config[:region] = @region
116
+
117
+ if @role_arn && @source_profile
118
+ @role_session_name ||= generate_session_name
119
+ region = if AWSConfig[@source_profile.name] && AWSConfig[@source_profile.name]['region']
120
+ AWSConfig[@source_profile.name]['region']
121
+ else
122
+ AWSConfig['default']['region']
123
+ end
124
+
125
+ @credentials ||= role_creds(
126
+ client: Aws::STS::Client.new(
127
+ region: region,
128
+ credentials: Aws::SharedCredentials.new(profile_name: @source_profile.name)
129
+ ),
130
+ role_arn: @role_arn,
131
+ role_session_name: @role_session_name,
132
+ external_id: @external_id
133
+ )
134
+ end
135
+
136
+ @credentials ||= Aws::SharedCredentials.new(profile_name: @profile) if @profile
137
+ @credentials ||= Aws::SharedCredentials.new(profile_name: 'default') if AWSConfig['default'] && !@access_key_id
138
+ @credentials ||= Aws::Credentials.new(@access_key_id, @secret_access_key, @session_token) if @access_key_id
139
+ @credentials ||= Aws::InstanceProfileCredentials.new
140
+
141
+ Aws.config[:credentials] = @credentials
142
+ end
143
+
144
+ def self.generate_session_name
145
+ "awsecrets-session-#{Time.now.to_i}"
146
+ end
147
+
148
+ def self.current_region
149
+ metadata_endpoint = 'http://169.254.169.254/latest/meta-data/'
150
+ az = Net::HTTP.get(URI.parse(metadata_endpoint + 'placement/availability-zone'))
151
+ az[0...-1]
152
+ end
153
+
154
+ def self.role_creds(args)
155
+ Aws::AssumeRoleCredentials.new(args)
156
+ end
157
+ end
@@ -0,0 +1,3 @@
1
+ module Awsecrets
2
+ VERSION = '1.14.0'
3
+ end
metadata ADDED
@@ -0,0 +1,176 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cmonson_2ndwatch_awsecrets
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.14.0
5
+ platform: ruby
6
+ authors:
7
+ - k1LoW
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-09-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: aws-sdk
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '4'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '4'
33
+ - !ruby/object:Gem::Dependency
34
+ name: aws_config
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 0.1.0
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 0.1.0
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.9'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.9'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rake
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '10.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '10.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rspec
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rubocop
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: octorelease
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: pry
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ description: AWS credentials loader
132
+ email:
133
+ - k1lowxb@gmail.com
134
+ executables: []
135
+ extensions: []
136
+ extra_rdoc_files: []
137
+ files:
138
+ - ".gitignore"
139
+ - ".rspec"
140
+ - ".rubocop.yml"
141
+ - ".travis.yml"
142
+ - Gemfile
143
+ - LICENSE.txt
144
+ - README.md
145
+ - Rakefile
146
+ - awsecrets.gemspec
147
+ - bin/console
148
+ - bin/setup
149
+ - bin/testcommand
150
+ - lib/awsecrets.rb
151
+ - lib/awsecrets/version.rb
152
+ homepage: https://github.com/cmonson/awsecrets
153
+ licenses:
154
+ - MIT
155
+ metadata: {}
156
+ post_install_message:
157
+ rdoc_options: []
158
+ require_paths:
159
+ - lib
160
+ required_ruby_version: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ requirements: []
171
+ rubyforge_project:
172
+ rubygems_version: 2.6.10
173
+ signing_key:
174
+ specification_version: 4
175
+ summary: AWS credentials loader
176
+ test_files: []