kubes_aws 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|