roadworker 0.5.6.beta4 → 0.5.6.beta5

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
  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