kubes_aws 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/kubes_aws.gemspec +1 -0
- data/lib/kubes_aws.rb +2 -0
- data/lib/kubes_aws/helpers.rb +16 -0
- data/lib/kubes_aws/iam_role.rb +1 -1
- data/lib/kubes_aws/open_id.rb +1 -1
- data/lib/kubes_aws/secrets.rb +1 -1
- data/lib/kubes_aws/secrets/fetcher.rb +26 -0
- data/lib/kubes_aws/{aws_services.rb → services.rb} +3 -1
- data/lib/kubes_aws/ssm.rb +1 -3
- data/lib/kubes_aws/ssm/fetcher.rb +26 -0
- data/lib/kubes_aws/version.rb +1 -1
- metadata +21 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cccbde70946470994346fb2e6464153312e4148518b46747137396682455f62
|
4
|
+
data.tar.gz: 93c32447c9c48b7feda8fc340022d763736d8d911942e3da10bb7291b8418875
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a02025e42e55c83432dd8c3cc23d91078395474cb7ca363317ef4200df1a2747e24841ec02baaadbc6ee6808f39498edd40e9e5331ec4d34c00b87f16f94526
|
7
|
+
data.tar.gz: 8a9c098dfb2d3285cee9ef8145c71ce7a8a6d36a9e96470a2e6cffbe3e43b9c8f5edd7e3a877e80e7f1eb0d3029687f1ae621d0686e44bc4019ce91c11c7d5c0
|
data/CHANGELOG.md
CHANGED
data/kubes_aws.gemspec
CHANGED
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.require_paths = ["lib"]
|
24
24
|
|
25
25
|
spec.add_dependency "activesupport"
|
26
|
+
spec.add_dependency "aws-sdk-ecr"
|
26
27
|
spec.add_dependency "aws-sdk-eks"
|
27
28
|
spec.add_dependency "aws-sdk-iam"
|
28
29
|
spec.add_dependency "aws-sdk-secretsmanager"
|
data/lib/kubes_aws.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
module KubesAws
|
2
|
+
module Helpers
|
3
|
+
extend Memoist
|
4
|
+
include Services
|
5
|
+
|
6
|
+
def aws_secret(name, options={})
|
7
|
+
fetcher = Secrets::Fetcher.new(options)
|
8
|
+
fetcher.fetch(name)
|
9
|
+
end
|
10
|
+
|
11
|
+
def aws_ssm(name, options={})
|
12
|
+
fetcher = SSM::Fetcher.new(options)
|
13
|
+
fetcher.fetch(name)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/kubes_aws/iam_role.rb
CHANGED
data/lib/kubes_aws/open_id.rb
CHANGED
data/lib/kubes_aws/secrets.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
class KubesAws::Secrets
|
2
|
+
class Fetcher
|
3
|
+
include KubesAws::Logging
|
4
|
+
include KubesAws::Services
|
5
|
+
|
6
|
+
def initialize(options={})
|
7
|
+
@options = options
|
8
|
+
@base64 = options[:base64].nil? ? true : options[:base64]
|
9
|
+
end
|
10
|
+
|
11
|
+
def fetch(secret_id)
|
12
|
+
value = fetch_value(secret_id)
|
13
|
+
value = Base64.strict_encode64(value).strip if @base64
|
14
|
+
value
|
15
|
+
end
|
16
|
+
|
17
|
+
def fetch_value(secret_id)
|
18
|
+
secret_value = secrets.get_secret_value(secret_id: secret_id)
|
19
|
+
secret_value.secret_string
|
20
|
+
rescue Aws::SecretsManager::Errors::ResourceNotFoundException => e
|
21
|
+
logger.info "WARN: secret_id #{secret_id} not found".color(:yellow)
|
22
|
+
logger.info e.message
|
23
|
+
"NOT FOUND #{secret_id}" # simple string so Kubernetes YAML is valid
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/kubes_aws/ssm.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
class KubesAws::SSM
|
2
|
+
class Fetcher
|
3
|
+
include KubesAws::Logging
|
4
|
+
include KubesAws::Services
|
5
|
+
|
6
|
+
def initialize(options={})
|
7
|
+
@options = options
|
8
|
+
@base64 = options[:base64].nil? ? true : options[:base64]
|
9
|
+
end
|
10
|
+
|
11
|
+
def fetch(name)
|
12
|
+
value = fetch_value(name)
|
13
|
+
value = Base64.strict_encode64(value).strip if @base64
|
14
|
+
value
|
15
|
+
end
|
16
|
+
|
17
|
+
def fetch_value(name)
|
18
|
+
resp = ssm.get_parameter(name: name, with_decryption: true)
|
19
|
+
resp.parameter.value
|
20
|
+
rescue Aws::SSM::Errors::ParameterNotFound => e
|
21
|
+
logger.info "WARN: name #{name} not found".color(:yellow)
|
22
|
+
logger.info e.message
|
23
|
+
"NOT FOUND #{name}" # simple string so Kubernetes YAML is valid
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/kubes_aws/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kubes_aws
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: aws-sdk-ecr
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: aws-sdk-eks
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -139,13 +153,16 @@ files:
|
|
139
153
|
- kubes_aws.gemspec
|
140
154
|
- lib/kubes_aws.rb
|
141
155
|
- lib/kubes_aws/autoloader.rb
|
142
|
-
- lib/kubes_aws/
|
156
|
+
- lib/kubes_aws/helpers.rb
|
143
157
|
- lib/kubes_aws/iam_role.rb
|
144
158
|
- lib/kubes_aws/iam_role/prebaked.rb
|
145
159
|
- lib/kubes_aws/logging.rb
|
146
160
|
- lib/kubes_aws/open_id.rb
|
147
161
|
- lib/kubes_aws/secrets.rb
|
162
|
+
- lib/kubes_aws/secrets/fetcher.rb
|
163
|
+
- lib/kubes_aws/services.rb
|
148
164
|
- lib/kubes_aws/ssm.rb
|
165
|
+
- lib/kubes_aws/ssm/fetcher.rb
|
149
166
|
- lib/kubes_aws/version.rb
|
150
167
|
homepage: https://github.com/boltops-tools/kubes_aws
|
151
168
|
licenses:
|
@@ -167,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
184
|
- !ruby/object:Gem::Version
|
168
185
|
version: '0'
|
169
186
|
requirements: []
|
170
|
-
rubygems_version: 3.1.
|
187
|
+
rubygems_version: 3.1.4
|
171
188
|
signing_key:
|
172
189
|
specification_version: 4
|
173
190
|
summary: Kubes AWS Helpers Library
|