MovableInkAWS 2.0.1 → 2.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9748092eb913e843641b0ac9d68106cb8ae3dc141c5f3ef0cf2794c7b52a41f5
4
- data.tar.gz: 1bcbc2de4d41898654cf8df5e09fb1a43465d338f73b64a36fcf785db882fb15
3
+ metadata.gz: cf12982879cf6c6fbbd4a1027aa6de717c3084431339ad583cd4ae38d934bc91
4
+ data.tar.gz: e1baa1af0dc4a999bcba1ee421edc4204465afaadbc72a3190e97c57a948c1de
5
5
  SHA512:
6
- metadata.gz: ed19423e404a705e9caf74762f6bd1cd08b5f552af5b24d6c355364d59c422d2cfba5f225e10cd021a79e77ae5d65ee8773c86eda5340e32d69d088cfb4789c4
7
- data.tar.gz: 6c5edc3a00e2d798140c30d2cce8279c03099e9b30aa1c1630e14a10ae075756328d9327ebfab94171bea47394503d4f9a592c9a8d5e706be37fe6c1dfbbd7f6
6
+ metadata.gz: 567ef63e82f5d5bbf5b57b9b2aa5a853a63af0d572f710e813c322d135fef345456fc9cc3e3f103666f05065d244f67055ea78350f9b4ecec111b159663d2616
7
+ data.tar.gz: 2712730cb9852affc31a1586d36eba62b76a621d8e82dad39d8439bb0f47db72e897147666e5ea01ca2f75c7c4aeb3f5363f60b531dabd07f90e96813a846cb1
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- MovableInkAWS (2.0.1)
4
+ MovableInkAWS (2.1.0)
5
5
  aws-sdk-athena (~> 1)
6
6
  aws-sdk-autoscaling (~> 1)
7
7
  aws-sdk-cloudwatch (~> 1)
@@ -24,47 +24,47 @@ GEM
24
24
  addressable (2.7.0)
25
25
  public_suffix (>= 2.0.2, < 5.0)
26
26
  aws-eventstream (1.1.0)
27
- aws-partitions (1.390.0)
27
+ aws-partitions (1.416.0)
28
28
  aws-sdk-athena (1.33.0)
29
29
  aws-sdk-core (~> 3, >= 3.109.0)
30
30
  aws-sigv4 (~> 1.1)
31
- aws-sdk-autoscaling (1.48.0)
31
+ aws-sdk-autoscaling (1.53.0)
32
32
  aws-sdk-core (~> 3, >= 3.109.0)
33
33
  aws-sigv4 (~> 1.1)
34
- aws-sdk-cloudwatch (1.46.0)
34
+ aws-sdk-cloudwatch (1.47.0)
35
35
  aws-sdk-core (~> 3, >= 3.109.0)
36
36
  aws-sigv4 (~> 1.1)
37
- aws-sdk-core (3.109.2)
37
+ aws-sdk-core (3.111.0)
38
38
  aws-eventstream (~> 1, >= 1.0.2)
39
39
  aws-partitions (~> 1, >= 1.239.0)
40
40
  aws-sigv4 (~> 1.1)
41
41
  jmespath (~> 1.0)
42
- aws-sdk-ec2 (1.207.0)
42
+ aws-sdk-ec2 (1.220.0)
43
43
  aws-sdk-core (~> 3, >= 3.109.0)
44
44
  aws-sigv4 (~> 1.1)
45
- aws-sdk-eks (1.45.0)
45
+ aws-sdk-eks (1.46.0)
46
46
  aws-sdk-core (~> 3, >= 3.109.0)
47
47
  aws-sigv4 (~> 1.1)
48
- aws-sdk-elasticache (1.45.0)
48
+ aws-sdk-elasticache (1.50.0)
49
49
  aws-sdk-core (~> 3, >= 3.109.0)
50
50
  aws-sigv4 (~> 1.1)
51
- aws-sdk-kms (1.39.0)
51
+ aws-sdk-kms (1.41.0)
52
52
  aws-sdk-core (~> 3, >= 3.109.0)
53
53
  aws-sigv4 (~> 1.1)
54
- aws-sdk-rds (1.105.0)
54
+ aws-sdk-rds (1.110.0)
55
55
  aws-sdk-core (~> 3, >= 3.109.0)
56
56
  aws-sigv4 (~> 1.1)
57
- aws-sdk-route53 (1.44.0)
57
+ aws-sdk-route53 (1.45.0)
58
58
  aws-sdk-core (~> 3, >= 3.109.0)
59
59
  aws-sigv4 (~> 1.1)
60
- aws-sdk-s3 (1.83.1)
60
+ aws-sdk-s3 (1.87.0)
61
61
  aws-sdk-core (~> 3, >= 3.109.0)
62
62
  aws-sdk-kms (~> 1)
63
63
  aws-sigv4 (~> 1.1)
64
- aws-sdk-sns (1.35.0)
64
+ aws-sdk-sns (1.36.0)
65
65
  aws-sdk-core (~> 3, >= 3.109.0)
66
66
  aws-sigv4 (~> 1.1)
67
- aws-sdk-ssm (1.95.0)
67
+ aws-sdk-ssm (1.102.0)
68
68
  aws-sdk-core (~> 3, >= 3.109.0)
69
69
  aws-sigv4 (~> 1.1)
70
70
  aws-sigv4 (1.2.2)
@@ -10,6 +10,7 @@ require_relative 'aws/s3'
10
10
  require_relative 'aws/eks'
11
11
  require_relative 'aws/elasticache'
12
12
  require_relative 'aws/api_gateway'
13
+ require_relative 'consul/consul'
13
14
  require 'aws-sdk-cloudwatch'
14
15
 
15
16
 
@@ -116,18 +116,12 @@ module MovableInk
116
116
  raise MovableInk::AWS::Errors::RoleNameInvalidError
117
117
  end
118
118
 
119
- Diplomat.configure do |config|
120
- config.url = "https://localhost:8501"
121
- config.options = { ssl: { verify: false } }
122
- end
123
-
124
- consul_service_options = Hash.new
125
-
126
- consul_service_options[:dc] = datacenter(region: region)
127
- consul_service_options[:stale] = true
128
- consul_service_options[:cached] = true
129
- consul_service_options[:passing] = true
130
-
119
+ consul_service_options = {
120
+ dc: datacenter(region: region),
121
+ stale: true,
122
+ cached: true,
123
+ passing: true,
124
+ }
131
125
  consul_service_options[:node_meta] = "availability_zone:#{availability_zone}" unless availability_zone.nil?
132
126
 
133
127
  Diplomat::Health.service(role, consul_service_options).map { |endpoint|
@@ -0,0 +1,21 @@
1
+ require 'diplomat'
2
+
3
+ Diplomat.configure do |config|
4
+ config.url = "https://localhost:8501"
5
+ config.options = { ssl: { verify: false } }
6
+ end
7
+
8
+ module MovableInk
9
+ module Consul
10
+ module Kv
11
+ def self.get(*args)
12
+ begin
13
+ result = Diplomat::Kv.get(*args)
14
+ JSON.parse(result) if !result.nil?
15
+ rescue JSON::ParserError
16
+ result
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,5 +1,5 @@
1
1
  module MovableInk
2
2
  class AWS
3
- VERSION = '2.0.1'
3
+ VERSION = '2.1.0'
4
4
  end
5
5
  end
@@ -0,0 +1,22 @@
1
+ require_relative '../lib/movable_ink/aws'
2
+ require 'webmock/rspec'
3
+
4
+ describe MovableInk::Consul do
5
+ describe MovableInk::Consul::Kv do
6
+ it 'get returns a hash of json content' do
7
+ allow(Diplomat::Kv).to receive(:get).and_return({ hello: 'world' }.to_json)
8
+ expect(MovableInk::Consul::Kv.get('ham')).to eq({ 'hello' => 'world' })
9
+ end
10
+
11
+ it 'returns a string if the stored value is not json' do
12
+ value = 'some-database-password'
13
+ allow(Diplomat::Kv).to receive(:get).and_return(value)
14
+ expect(MovableInk::Consul::Kv.get('db_password')).to eq(value)
15
+ end
16
+
17
+ it 'forwards all arguments to Diplomat' do
18
+ expect(Diplomat::Kv).to receive(:get).with('foo/', recurse: true)
19
+ MovableInk::Consul::Kv.get('foo/', recurse: true)
20
+ end
21
+ end
22
+ 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: 2.0.1
4
+ version: 2.1.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-11-06 00:00:00.000000000 Z
11
+ date: 2021-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -246,9 +246,11 @@ files:
246
246
  - lib/movable_ink/aws/s3.rb
247
247
  - lib/movable_ink/aws/sns.rb
248
248
  - lib/movable_ink/aws/ssm.rb
249
+ - lib/movable_ink/consul/consul.rb
249
250
  - lib/movable_ink/version.rb
250
251
  - spec/autoscaling_spec.rb
251
252
  - spec/aws_spec.rb
253
+ - spec/consul_spec.rb
252
254
  - spec/ec2_spec.rb
253
255
  - spec/elasticache_spec.rb
254
256
  - spec/metadata_spec.rb