roadworker 0.5.6.beta4 → 0.5.6.beta5

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
  SHA1:
3
- metadata.gz: db3ac2066005e181c435f8df80cc25e5b03921ef
4
- data.tar.gz: 633dafe00c8d6c752f449d709b134e77eb36f7df
3
+ metadata.gz: f704ca0ddbe2ecec12884f5f0a2303e92ce94936
4
+ data.tar.gz: c07c66533c03a73f17be918f6da9ae05c53a8dfa
5
5
  SHA512:
6
- metadata.gz: baac0b5bdfb40c9937e32c083b7d6ee9a1c9bac0b27338d6e490dcfe04d75120f3913ad34754c32c60bdbd4bc067e90a69220ab2048993979df3632f77346b67
7
- data.tar.gz: 740caf8e217a8d0d14f12f1e248a620905603cf646b0d89e022119b75da436c72ee426d4d2c4290e145ec7f739f764118917e3f3a2d0825c066fab9ebea513a9
6
+ metadata.gz: 5498a358be59907f492c8e8f17542da3ae7710c203f787a60fdd7e82bc62efb5052e912f850be7b834a08eaee00a24e0ac53eac5f12b23bda4d82b732e6a732d
7
+ data.tar.gz: 189612e79f32c335732ec98d13adc80d8d144f185d2f350b2a5204c3099f106be2391ac2f1bbad13af6c3712b4610b287a7d24524d6dbb2e702897719d60f304
@@ -156,7 +156,7 @@ module Roadworker
156
156
  end
157
157
 
158
158
  def normalize_name(name)
159
- name.downcase.sub(/\.\Z/, '')
159
+ name.downcase.sub(/\.\z/, '')
160
160
  end
161
161
 
162
162
  end # Client
@@ -48,6 +48,7 @@ module Roadworker
48
48
  :failure_threshold,
49
49
  :measure_latency,
50
50
  :inverted,
51
+ :enable_sni,
51
52
  ].each do |key|
52
53
  unless config[key].nil?
53
54
  hc_args << ", :#{key} => #{config[key].inspect}"
@@ -58,11 +59,11 @@ module Roadworker
58
59
  when :dns_name
59
60
  if value.kind_of?(Array) and value.length > 1
60
61
  dns_name_opts = value.pop
61
- value = value.inspect.sub(/\A\[/, '').sub(/\]\Z/, '')
62
- dns_name_opts = dns_name_opts.inspect.sub(/\A\{/, '').sub(/\}\Z/, '')
62
+ value = value.inspect.sub(/\A\[/, '').sub(/\]\z/, '')
63
+ dns_name_opts = dns_name_opts.inspect.sub(/\A\{/, '').sub(/\}\z/, '')
63
64
  "#{key} #{value}, #{dns_name_opts}"
64
65
  else
65
- value = [value].flatten.inspect.sub(/\A\[/, '').sub(/\]\Z/, '')
66
+ value = [value].flatten.inspect.sub(/\A\[/, '').sub(/\]\z/, '')
66
67
  "#{key} #{value}"
67
68
  end
68
69
  else
@@ -95,8 +95,8 @@ module Roadworker
95
95
 
96
96
  case type
97
97
  when 'NS', 'PTR', 'MX', 'CNAME', 'SRV'
98
- expected_value = expected_value.map {|i| i.downcase.sub(/\.\Z/, '') }
99
- actual_value = actual_value.map {|i| i.downcase.sub(/\.\Z/, '') }
98
+ expected_value = expected_value.map {|i| i.downcase.sub(/\.\z/, '') }
99
+ actual_value = actual_value.map {|i| i.downcase.sub(/\.\z/, '') }
100
100
  when 'TXT', 'SPF'
101
101
  # see https://github.com/bluemonk/net-dns/blob/651dc1006d9ee0c167fa515e4b9d2494af415ae9/lib/net/dns/rr/txt.rb#L46
102
102
  expected_value = expected_value.map {|i| i.scan(/(?:\\\\|(?:\\"|(?:[^\\"]|[^"])))*"((?:\\\\|(?:\\"|(?:\\"|(?:[^\\"]|[^"]))))*)"/).join(' ').gsub(/\\(.)/) { $1 }.strip }
@@ -118,20 +118,20 @@ module Roadworker
118
118
 
119
119
  if fetch_dns_name(record.dns_name)
120
120
  # A(Alias)
121
- case fetch_dns_name(record.dns_name).sub(/\.\Z/, '')
121
+ case fetch_dns_name(record.dns_name).sub(/\.\z/, '')
122
122
  when /\.elb\.amazonaws\.com/i
123
123
  is_same = response.answer.all? {|a|
124
124
  response_query_ptr = query(a.value, 'PTR', error_messages)
125
125
 
126
126
  if response_query_ptr
127
127
  response_query_ptr.answer.all? do |ptr|
128
- ptr.value =~ /\.compute\.amazonaws\.com\.\Z/
128
+ ptr.value =~ /\.compute\.amazonaws\.com\.\z/
129
129
  end
130
130
  else
131
131
  false
132
132
  end
133
133
  }
134
- when /\As3-website-(?:[^.]+)\.amazonaws\.com\Z/
134
+ when /\As3-website-(?:[^.]+)\.amazonaws\.com\z/
135
135
  response_answer_ip_1_2 = response.answer.map {|a| a.value.split('.').slice(0, 2) }.uniq
136
136
 
137
137
  # try 3 times
@@ -148,13 +148,13 @@ module Roadworker
148
148
  response_answer_ip_1_2.include?(ip.split('.').slice(0, 2))
149
149
  }
150
150
  end
151
- when /\.cloudfront\.net\Z/
151
+ when /\.cloudfront\.net\z/
152
152
  is_same = response.answer.all? {|a|
153
153
  response_query_ptr = query(a.value, 'PTR', error_messages)
154
154
 
155
155
  if response_query_ptr
156
156
  response_query_ptr.answer.all? do |ptr|
157
- ptr.value =~ /\.cloudfront\.net\.\Z/
157
+ ptr.value =~ /\.cloudfront\.net\.\z/
158
158
  end
159
159
  end
160
160
  }
@@ -184,9 +184,9 @@ module Roadworker
184
184
  if asterisk_answers
185
185
  asterisk_answers.each do |ast_key, answers|
186
186
  ast_name = ast_key[0]
187
- ast_regex = Regexp.new('\A' + ast_name.sub(/\.\Z/, '').gsub('.', '\.').gsub('*', '.+') + '\Z')
187
+ ast_regex = Regexp.new('\A' + ast_name.sub(/\.\z/, '').gsub('.', '\.').gsub('*', '.+') + '\Z')
188
188
 
189
- if ast_regex =~ name.sub(/\.\Z/, '') and actual_value.any? {|i| answers.include?(i) }
189
+ if ast_regex =~ name.sub(/\.\z/, '') and actual_value.any? {|i| answers.include?(i) }
190
190
  warning_messages << "#{name} #{type}: same as `#{ast_name}`"
191
191
  end
192
192
  end
@@ -252,8 +252,8 @@ module Roadworker
252
252
  def fix_srv_host(query_name, host)
253
253
  if (host || '').strip.empty?
254
254
  query_name
255
- elsif host =~ /\x1A\Z/
256
- host = host.sub(/\x1A\Z/, '')
255
+ elsif host =~ /\x1A\z/
256
+ host = host.sub(/\x1A\z/, '')
257
257
  query_name = query_name.split('.')
258
258
  query_name.slice!(0, host.count('.'))
259
259
  host + query_name.join('.')
@@ -295,7 +295,7 @@ module Roadworker
295
295
  end
296
296
 
297
297
  def asterisk_to_anyname(name)
298
- rand_str = (("a".."z").to_a + ("A".."Z").to_a + (0..9).to_a).shuffle[0..7].join
298
+ rand_str = (("a".."z").to_a + ("A".."z").to_a + (0..9).to_a).shuffle[0..7].join
299
299
  name.gsub('*', "#{ASTERISK_PREFIX}-#{rand_str}")
300
300
  end
301
301
 
@@ -51,10 +51,10 @@ module Roadworker
51
51
  end
52
52
 
53
53
  def hosted_zone(name, &block)
54
- @result.hosted_zones << HostedZone.new(@context, name, [], &block).result
54
+ @result.hosted_zones << Hostedzone.new(@context, name, [], &block).result
55
55
  end
56
56
 
57
- class HostedZone
57
+ class Hostedzone
58
58
  include Roadworker::TemplateHelper
59
59
 
60
60
  attr_reader :result
@@ -94,7 +94,7 @@ module Roadworker
94
94
  end
95
95
 
96
96
  def resource_record_set(rrset_name, type, &block)
97
- if rrset_name.sub(/\.\Z/, '') !~ /#{Regexp.escape(@name.sub(/\.\Z/, ''))}\Z/i
97
+ if rrset_name.sub(/\.\z/, '') !~ /#{Regexp.escape(@name.sub(/\.\Z/, ''))}\Z/i
98
98
  raise "Invalid ResourceRecordSet Name: #{rrset_name}"
99
99
  end
100
100
 
@@ -179,7 +179,8 @@ module Roadworker
179
179
  :health_threshold => :health_threshold,
180
180
  :failure_threshold => :failure_threshold,
181
181
  :measure_latency => :measure_latency,
182
- :inverted => :inverted
182
+ :inverted => :inverted,
183
+ :enable_sni => :enable_sni,
183
184
  }.each do |option_key, config_key|
184
185
  config[config_key] = options[option_key] unless options[option_key].nil?
185
186
  end
@@ -193,6 +194,7 @@ module Roadworker
193
194
  config[:failure_threshold] ||= 3
194
195
  config[:measure_latency] ||= false
195
196
  config[:inverted] ||= false
197
+ config[:enable_sni] ||= false
196
198
  end
197
199
 
198
200
  @result.health_check = config
@@ -208,7 +210,7 @@ module Roadworker
208
210
 
209
211
  end # ResourceRecordSet
210
212
 
211
- end # HostedZone
213
+ end # Hostedzone
212
214
 
213
215
  end # DSL
214
216
  end # RoadWorker
@@ -5,20 +5,20 @@ module Aws
5
5
 
6
6
  # http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
7
7
  S3_WEBSITE_ENDPOINTS = {
8
- 's3-website-us-east-1.amazonaws.com' => 'Z3AQBSTGFYJSTF',
9
- 's3-website-us-west-2.amazonaws.com' => 'Z3BJ6K6RIION7M',
10
- 's3-website-us-west-1.amazonaws.com' => 'Z2F56UZL2M1ACD',
11
- 's3-website-eu-west-1.amazonaws.com' => 'Z1BKCTXD74EZPE',
12
- 's3-website.eu-central-1.amazonaws.com' => 'Z21DNDUVLTQW6Q',
13
- 's3-website-ap-southeast-1.amazonaws.com' => 'Z3O0J2DXBE1FTB',
14
- 's3-website-ap-southeast-2.amazonaws.com' => 'Z1WCIGYICN2BYD',
15
- 's3-website-ap-northeast-1.amazonaws.com' => 'Z2M4EHUR26P7ZW',
16
- 's3-website-sa-east-1.amazonaws.com' => 'Z7KQH4QJS55SO',
17
- 's3-website-us-gov-west-1.amazonaws.com' => 'Z31GFT0UA1I2HV',
8
+ 's3-website-us-east-1.amazonaws.com' => 'z3AQBSTGFYJSTF',
9
+ 's3-website-us-west-2.amazonaws.com' => 'z3BJ6K6RIION7M',
10
+ 's3-website-us-west-1.amazonaws.com' => 'z2F56UZL2M1ACD',
11
+ 's3-website-eu-west-1.amazonaws.com' => 'z1BKCTXD74EZPE',
12
+ 's3-website.eu-central-1.amazonaws.com' => 'z21DNDUVLTQW6Q',
13
+ 's3-website-ap-southeast-1.amazonaws.com' => 'z3O0J2DXBE1FTB',
14
+ 's3-website-ap-southeast-2.amazonaws.com' => 'z1WCIGYICN2BYD',
15
+ 's3-website-ap-northeast-1.amazonaws.com' => 'z2M4EHUR26P7ZW',
16
+ 's3-website-sa-east-1.amazonaws.com' => 'z7KQH4QJS55SO',
17
+ 's3-website-us-gov-west-1.amazonaws.com' => 'z31GFT0UA1I2HV',
18
18
  }
19
19
 
20
20
  # http://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html
21
- CF_HOSTED_ZONE_ID = 'Z2FDTNDATAQYW2'
21
+ CF_HOSTED_zONE_ID = 'Z2FDTNDATAQYW2'
22
22
 
23
23
  class << self
24
24
  def normalize_dns_name_options(src)
@@ -34,22 +34,22 @@ module Aws
34
34
  end
35
35
 
36
36
  def dns_name_to_alias_target(name, options, hosted_zone_id, hosted_zone_name)
37
- hosted_zone_name = hosted_zone_name.sub(/\.\Z/, '')
38
- name = name.sub(/\.\Z/, '')
37
+ hosted_zone_name = hosted_zone_name.sub(/\.\z/, '')
38
+ name = name.sub(/\.\z/, '')
39
39
  options ||= {}
40
40
 
41
- if name =~ /([^.]+)\.elb\.amazonaws.com\Z/i
41
+ if name =~ /([^.]+)\.elb\.amazonaws.com\z/i
42
42
  region = $1.downcase
43
43
  alias_target = elb_dns_name_to_alias_target(name, region, options)
44
44
 
45
45
  # XXX:
46
46
  alias_target.merge(options)
47
- elsif (s3_hosted_zone_id = S3_WEBSITE_ENDPOINTS[name.downcase]) and name =~ /\As3-website-([^.]+)\.amazonaws\.com\Z/i
47
+ elsif (s3_hosted_zone_id = S3_WEBSITE_ENDPOINTS[name.downcase]) and name =~ /\As3-website-([^.]+)\.amazonaws\.com\z/i
48
48
  region = $1.downcase
49
49
  s3_dns_name_to_alias_target(name, region, s3_hosted_zone_id)
50
- elsif name =~ /\.cloudfront\.net\Z/i
50
+ elsif name =~ /\.cloudfront\.net\z/i
51
51
  cf_dns_name_to_alias_target(name)
52
- elsif name =~ /\.#{Regexp.escape(hosted_zone_name)}\Z/i
52
+ elsif name =~ /(\A|\.)#{Regexp.escape(hosted_zone_name)}\z/i
53
53
  this_hz_dns_name_to_alias_target(name, hosted_zone_id)
54
54
  else
55
55
  raise "Invalid DNS Name: #{name}"
@@ -100,7 +100,7 @@ module Aws
100
100
 
101
101
  def cf_dns_name_to_alias_target(name)
102
102
  {
103
- :hosted_zone_id => CF_HOSTED_ZONE_ID,
103
+ :hosted_zone_id => CF_HOSTED_zONE_ID,
104
104
  :dns_name => name,
105
105
  :evaluate_target_health => false, # XXX:
106
106
  }
@@ -44,6 +44,7 @@ module Roadworker
44
44
  :failure_threshold,
45
45
  :measure_latency,
46
46
  :inverted,
47
+ :enable_sni,
47
48
  ].each do |key|
48
49
  hash[key] = config[key] unless config[key].nil?
49
50
  end
@@ -74,7 +75,7 @@ module Roadworker
74
75
  config[key] = value if value
75
76
  }
76
77
 
77
- if url.host =~ /\A\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\Z/
78
+ if url.host =~ /\A\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\z/
78
79
  config.ip_address = url.host
79
80
  else
80
81
  config.fully_qualified_domain_name = url.host
@@ -24,10 +24,10 @@ module Roadworker
24
24
  end
25
25
 
26
26
  def hosted_zones
27
- HostedZoneCollectionWrapper.new(@options.route53.list_hosted_zones, @options)
27
+ HostedzoneCollectionWrapper.new(@options.route53.list_hosted_zones, @options)
28
28
  end
29
29
 
30
- class HostedZoneCollectionWrapper
30
+ class HostedzoneCollectionWrapper
31
31
  include Roadworker::Log
32
32
 
33
33
  def initialize(hosted_zones_response, options)
@@ -38,7 +38,7 @@ module Roadworker
38
38
  def each
39
39
  Collection.batch(@hosted_zones_response, :hosted_zones) do |zone|
40
40
  resp = @options.route53.get_hosted_zone(id: zone.id)
41
- yield(HostedZoneWrapper.new(resp.hosted_zone, resp.vp_cs, @options))
41
+ yield(HostedzoneWrapper.new(resp.hosted_zone, resp.vp_cs, @options))
42
42
  end
43
43
  end
44
44
 
@@ -50,7 +50,7 @@ module Roadworker
50
50
  opts.delete(:vpc)
51
51
  end
52
52
 
53
- logmsg = 'Create HostedZone'
53
+ logmsg = 'Create Hostedzone'
54
54
  logmsg << " #{vpc.inspect}"
55
55
  log(:info, logmsg, :cyan, name)
56
56
 
@@ -70,11 +70,11 @@ module Roadworker
70
70
  @options.updated = true
71
71
  end
72
72
 
73
- HostedZoneWrapper.new(zone, vpcs, @options)
73
+ HostedzoneWrapper.new(zone, vpcs, @options)
74
74
  end
75
- end # HostedZoneCollection
75
+ end # HostedzoneCollection
76
76
 
77
- class HostedZoneWrapper
77
+ class HostedzoneWrapper
78
78
  include Roadworker::Log
79
79
 
80
80
  def initialize(hosted_zone, vpcs, options)
@@ -92,7 +92,7 @@ module Roadworker
92
92
 
93
93
  def delete
94
94
  if @options.force
95
- log(:info, 'Delete HostedZone', :red, @hosted_zone.name)
95
+ log(:info, 'Delete Hostedzone', :red, @hosted_zone.name)
96
96
 
97
97
  self.rrsets.each do |record|
98
98
  record.delete
@@ -103,7 +103,7 @@ module Roadworker
103
103
  @options.updated = true
104
104
  end
105
105
  else
106
- log(:info, 'Undefined HostedZone (pass `--force` if you want to remove)', :yellow, @hosted_zone.name)
106
+ log(:info, 'Undefined Hostedzone (pass `--force` if you want to remove)', :yellow, @hosted_zone.name)
107
107
  end
108
108
  end
109
109
 
@@ -132,7 +132,7 @@ module Roadworker
132
132
  def method_missing(method_name, *args)
133
133
  @hosted_zone.send(method_name, *args)
134
134
  end
135
- end # HostedZoneWrapper
135
+ end # HostedzoneWrapper
136
136
 
137
137
  class ResourceRecordSetCollectionWrapper
138
138
  include Roadworker::Log
@@ -223,8 +223,8 @@ module Roadworker
223
223
  elsif expected and actual
224
224
  case attribute
225
225
  when :dns_name
226
- expected[0] = expected[0].downcase.sub(/\.\Z/, '')
227
- actual[0] = actual[0].downcase.sub(/\.\Z/, '')
226
+ expected[0] = expected[0].downcase.sub(/\.\z/, '')
227
+ actual[0] = actual[0].downcase.sub(/\.\z/, '')
228
228
  end
229
229
 
230
230
  (expected == actual)
@@ -288,9 +288,9 @@ module Roadworker
288
288
  end
289
289
 
290
290
  def delete
291
- if self.type =~ /\A(SOA|NS)\Z/i
292
- hz_name = (@hosted_zone.name || @options.hosted_zone_name).downcase.sub(/\.\Z/, '')
293
- rrs_name = @resource_record_set.name.downcase.sub(/\.\Z/, '')
291
+ if self.type =~ /\A(SOA|NS)\z/i
292
+ hz_name = (@hosted_zone.name || @options.hosted_zone_name).downcase.sub(/\.\z/, '')
293
+ rrs_name = @resource_record_set.name.downcase.sub(/\.\z/, '')
294
294
  return if hz_name == rrs_name
295
295
  end
296
296
 
@@ -1,3 +1,3 @@
1
1
  module Roadworker
2
- VERSION = "0.5.6.beta4"
2
+ VERSION = "0.5.6.beta5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roadworker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6.beta4
4
+ version: 0.5.6.beta5
5
5
  platform: ruby
6
6
  authors:
7
7
  - winebarrel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-15 00:00:00.000000000 Z
11
+ date: 2016-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk