MovableInkAWS 1.1.6 → 1.2.0

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
2
  SHA256:
3
- metadata.gz: 7cefbe8ebb6f26b75ebbd79c72c54bee43338f21eabfe3402bdcd9496c66bbf4
4
- data.tar.gz: 6fa2f605910e9cd4afbb1286a769f7ad6307ce0be94ba2933e2e567ef6cffd33
3
+ metadata.gz: 7154439aecffd0332803c4aad89b681008e58a3f297116b56a4a3119d531be9b
4
+ data.tar.gz: a22a422e58c5631efc1ef57d6802dbafd5f8823cb1432769313b088e767ffcd5
5
5
  SHA512:
6
- metadata.gz: 6ddba12e6beb952a764278aee29ed2e050f16d102b472acdc6bee2c93452516cb5022c3ff6763f39366bd6baaf06719fee29e697fe0f894e93a58e8c91f80da0
7
- data.tar.gz: 4dc568a16f612ef6cc0afdbcd2842ef3a73b3224d0ad395655e7cf407d20ab209d17878c92e4415db71c8cdaa2f9cc6c580ac423a6be8093074c4c2ef2bfd860
6
+ metadata.gz: 6d04cbc7a65a5d71459009150197091bdd59137ee6da40e521d275ccfca861f8c85ecc0c3c07dac9741bae004828726341f8509dc0f4eab5ddada36e40309408
7
+ data.tar.gz: 14e3171ff0d0c041cb88deabfe10a39d43826769436e94b4ae7f8adbd92811a645b7d3ec33e7d4cd1a30a40ae4888c2d9c7b7d40604b03affc3fd2c550bcd863
@@ -1,12 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- MovableInkAWS (1.1.6)
4
+ MovableInkAWS (1.2.0)
5
5
  aws-sdk-athena (~> 1)
6
6
  aws-sdk-autoscaling (~> 1)
7
7
  aws-sdk-cloudwatch (~> 1)
8
8
  aws-sdk-core (~> 3)
9
9
  aws-sdk-ec2 (~> 1)
10
+ aws-sdk-eks (~> 1)
10
11
  aws-sdk-elasticache (~> 1)
11
12
  aws-sdk-rds (~> 1)
12
13
  aws-sdk-route53 (~> 1)
@@ -20,7 +21,7 @@ GEM
20
21
  remote: https://rubygems.org/
21
22
  specs:
22
23
  aws-eventstream (1.1.0)
23
- aws-partitions (1.351.0)
24
+ aws-partitions (1.353.0)
24
25
  aws-sdk-athena (1.30.0)
25
26
  aws-sdk-core (~> 3, >= 3.99.0)
26
27
  aws-sigv4 (~> 1.1)
@@ -35,7 +36,10 @@ GEM
35
36
  aws-partitions (~> 1, >= 1.239.0)
36
37
  aws-sigv4 (~> 1.1)
37
38
  jmespath (~> 1.0)
38
- aws-sdk-ec2 (1.182.0)
39
+ aws-sdk-ec2 (1.183.0)
40
+ aws-sdk-core (~> 3, >= 3.99.0)
41
+ aws-sigv4 (~> 1.1)
42
+ aws-sdk-eks (1.39.0)
39
43
  aws-sdk-core (~> 3, >= 3.99.0)
40
44
  aws-sigv4 (~> 1.1)
41
45
  aws-sdk-elasticache (1.40.0)
@@ -50,7 +54,7 @@ GEM
50
54
  aws-sdk-route53 (1.40.0)
51
55
  aws-sdk-core (~> 3, >= 3.99.0)
52
56
  aws-sigv4 (~> 1.1)
53
- aws-sdk-s3 (1.75.0)
57
+ aws-sdk-s3 (1.76.0)
54
58
  aws-sdk-core (~> 3, >= 3.104.1)
55
59
  aws-sdk-kms (~> 1)
56
60
  aws-sigv4 (~> 1.1)
@@ -14,6 +14,7 @@ Gem::Specification.new do |s|
14
14
  s.add_runtime_dependency 'aws-sdk-autoscaling', '~> 1'
15
15
  s.add_runtime_dependency 'aws-sdk-cloudwatch', '~> 1'
16
16
  s.add_runtime_dependency 'aws-sdk-ec2', '~> 1'
17
+ s.add_runtime_dependency 'aws-sdk-eks', '~> 1'
17
18
  s.add_runtime_dependency 'aws-sdk-elasticache', '~> 1'
18
19
  s.add_runtime_dependency 'aws-sdk-rds', '~> 1'
19
20
  s.add_runtime_dependency 'aws-sdk-route53', '~> 1'
@@ -7,6 +7,7 @@ require_relative 'aws/route53'
7
7
  require_relative 'aws/ssm'
8
8
  require_relative 'aws/athena'
9
9
  require_relative 'aws/s3'
10
+ require_relative 'aws/eks'
10
11
  require_relative 'aws/elasticache'
11
12
  require_relative 'aws/api_gateway'
12
13
  require 'aws-sdk-cloudwatch'
@@ -24,6 +25,7 @@ module MovableInk
24
25
  include S3
25
26
  include ElastiCache
26
27
  include ApiGateway
28
+ include EKS
27
29
 
28
30
  class << self
29
31
  def regions
@@ -0,0 +1,58 @@
1
+ require 'aws-sdk-eks'
2
+ require 'yaml'
3
+
4
+ module MovableInk
5
+ class AWS
6
+ module EKS
7
+ def eks(region: my_region)
8
+ @eks_client ||= {}
9
+ @eks_client[region] ||= Aws::EKS::Client.new(region: region)
10
+ end
11
+
12
+ def generate_kubeconfig(region: my_region, cluster_name:)
13
+ client = eks(region: region)
14
+
15
+ resp = run_with_backoff do
16
+ client.describe_cluster({ name: cluster_name })
17
+ rescue Aws::EKS::Errors::ResourceNotFoundException
18
+ return nil
19
+ end
20
+
21
+ cluster_arn = resp.cluster.arn
22
+ cluster_server_address = resp.cluster.endpoint
23
+ cluster_certificate_authority_data = resp.cluster.certificate_authority.data
24
+
25
+ {
26
+ 'apiVersion' => 'v1',
27
+ 'clusters' => [{
28
+ 'cluster' => {
29
+ 'certificate-authority-data' => cluster_certificate_authority_data,
30
+ 'server' => cluster_server_address,
31
+ },
32
+ 'name' => cluster_arn
33
+ }],
34
+ 'contexts' => [{
35
+ 'context' => {
36
+ 'cluster' => cluster_arn,
37
+ 'user' => cluster_arn,
38
+ },
39
+ 'name' => cluster_arn,
40
+ }],
41
+ 'current-context' => cluster_arn,
42
+ 'kind' => 'Config',
43
+ 'preferences' => {},
44
+ 'users' => [{
45
+ 'name' => cluster_arn,
46
+ 'user' => {
47
+ 'exec' => {
48
+ 'apiVersion' => 'client.authentication.k8s.io/v1alpha1',
49
+ 'args' => ['--region', region, 'eks', 'get-token', '--cluster-name', cluster_name],
50
+ 'command' => 'aws',
51
+ }
52
+ }
53
+ }]
54
+ }.to_yaml
55
+ end
56
+ end
57
+ end
58
+ end
@@ -1,5 +1,5 @@
1
1
  module MovableInk
2
2
  class AWS
3
- VERSION = '1.1.6'
3
+ VERSION = '1.2.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: MovableInkAWS
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Chesler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-06 00:00:00.000000000 Z
11
+ date: 2020-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: aws-sdk-eks
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: aws-sdk-elasticache
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -210,6 +224,7 @@ files:
210
224
  - lib/movable_ink/aws/athena.rb
211
225
  - lib/movable_ink/aws/autoscaling.rb
212
226
  - lib/movable_ink/aws/ec2.rb
227
+ - lib/movable_ink/aws/eks.rb
213
228
  - lib/movable_ink/aws/elasticache.rb
214
229
  - lib/movable_ink/aws/errors.rb
215
230
  - lib/movable_ink/aws/metadata.rb