consul_syncer 0.5.0 → 0.6.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
- SHA1:
3
- metadata.gz: 2618a879de065213c36e30009a88e0cac3122bc2
4
- data.tar.gz: 72ab3f1f2c69f0a7a5f0a7c02eb9c7f6c67c35e3
2
+ SHA256:
3
+ metadata.gz: 05054cc82c55d869dc480792ccd4224e500b572da7754c1a8104123523b0f160
4
+ data.tar.gz: 4b2f5eebed165829d61f827af987f07584f1bce2da2f843f96d01bf1493dcc58
5
5
  SHA512:
6
- metadata.gz: cbd1382d959415d7df8b1879221557809b9ee7a05227dfe6a369fb323b05beede32d2c542b99cacbb4eff9fc688edcad0e8b328af3e5e7ec017835e12e20e04f
7
- data.tar.gz: 178f0dd62685e2610b8b17928fef903968e82a4224b62556b3a3ee8d61f20b2d4689e7badb1dfa005c57f3add19ca2a02eb0376b2661fad764011bfc716f198b
6
+ metadata.gz: 3ff1ba428af80daaac2ff471460313621b781c77c5a0da7d74e97c762e94929bf5f69885999dda7c1be85f0f4afea78db3d600a0a72f63f6425fbafd74cf5297
7
+ data.tar.gz: 7317f4d28b1818fe71209d5c82ffbeb1de2f9b09a656ccefa08939950b13edc8cc08176d24b24a95a8eda90fc3b542dd44af9aff7d09e98a29514b7015e9a58a
@@ -44,9 +44,17 @@ class ConsulSyncer
44
44
  interesting = [*identifying, :service, :service_address, :address, :tags, :port]
45
45
 
46
46
  expected_definitions.each do |expected|
47
- description = "#{expected.fetch(:service)} / #{expected.fetch(:service_id)} on #{expected.fetch(:node)} in Consul"
48
-
49
- if remove_matching_service!(actual_definitions, expected, interesting)
47
+ description = "#{expected[:service] || "*"} / #{expected[:service_id] || "*"} on #{expected.fetch(:node)} in Consul"
48
+
49
+ if expected[:keep]
50
+ keep_identifying = identifying.dup
51
+ keep_identifying.delete(:service_id) unless expected[:service_id]
52
+ if remove_matching_service!(actual_definitions, expected, keep_identifying)
53
+ @logger.warn "Kept #{description}"
54
+ else
55
+ @logger.error "Unable to keep #{description} since it was not found"
56
+ end
57
+ elsif remove_matching_service!(actual_definitions, expected, interesting)
50
58
  @logger.debug "Found #{description}"
51
59
  elsif remove_matching_service!(actual_definitions, expected, identifying)
52
60
  @logger.info "Updating #{description}"
@@ -1,3 +1,3 @@
1
1
  class ConsulSyncer
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: consul_syncer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-01 00:00:00.000000000 Z
11
+ date: 2018-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -55,7 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  version: '0'
56
56
  requirements: []
57
57
  rubyforge_project:
58
- rubygems_version: 2.5.1
58
+ rubygems_version: 2.7.6
59
59
  signing_key:
60
60
  specification_version: 4
61
61
  summary: Sync remote services into consul