roadworker 0.5.15 → 0.6.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: 163707e7a36317de25bda9f1c0af701729fbf6cbb67bcabf51f7fed86e5f97a9
4
- data.tar.gz: 044bbcd3a3c89be69d86be7b16f183588865770122001023ad11576409408267
3
+ metadata.gz: 6fe3c3b469bf155ece1d643b31b9764c78e79b956a9a997cc8083095eb420402
4
+ data.tar.gz: '08c0e358e87b67b924eb4f520502054582003557228a56d873ef2490c34c5cc0'
5
5
  SHA512:
6
- metadata.gz: 7049cb4fb2254a360eafe3f54a53d923faa1d042e7533aab9c54d61a06899d7bc55805263ae672bf01d17c880af32ebe8a5afe2c7e2fa1ec2efd653942473696
7
- data.tar.gz: c323c0eef4acebe24f9dc04e261e4434a0c814913d678ba563aa93a47a0d0c5f741bca039767314ef023cb140abeae9e623e0c47ec5356aec0736d828849b797
6
+ metadata.gz: e3bf37aaa9b995361ce3a6da9f5ddb5678169da9cb85acfc46ef54bf294b53bcbacc2c4055d20c718dfff06f24649fdb19e7323354f887e363c91ffa09d631d0
7
+ data.tar.gz: e6e8ef9da9646ad49aec454cd87ba6dbc54111fb41a5578e0f740af3c19847b3b5fa4688a3283ff06277d430ee7d722fefa6a00bf791a000149bf185ccbc79e2
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Roadworker
2
2
 
3
+ __Note:__ This software is just transferred from https://github.com/codenize-tools (maintained by [@winebarrel](https://github.com/winebarrel]) which was archived. [Cookpad](https://github.com/cookpad) and [@sorah](https://github.com/sorah) asked @winebarrel for inheriting this project and took its ownership as a new maintainer.
4
+
3
5
  Roadworker is a tool to manage Route53.
4
6
 
5
7
  It defines the state of Route53 using DSL, and updates Route53 according to DSL.
data/bin/roadwork CHANGED
@@ -80,9 +80,6 @@ ARGV.options do |opt|
80
80
  end
81
81
  aws_opts[:region] = region
82
82
  Aws.config.update(aws_opts)
83
- rescue => e
84
- $stderr.puts e
85
- exit 1
86
83
  end
87
84
  end
88
85
 
@@ -164,9 +161,9 @@ begin
164
161
  result_message = [examples_message, failures_message].join(', ')
165
162
 
166
163
  if failures.zero?
167
- logger.info(result_message.green)
164
+ logger.info(Roadworker::StringHelper.green(result_message))
168
165
  else
169
- logger.info(result_message.red)
166
+ logger.info(Roadworker::StringHelper.red(result_message))
170
167
  exit 1
171
168
  end
172
169
  when :apply
@@ -180,15 +177,8 @@ begin
180
177
 
181
178
  updated = client.apply(file)
182
179
 
183
- logger.info('No change'.intense_blue) unless updated
180
+ logger.info(Roadworker::StringHelper.intense_blue('No change')) unless updated
184
181
  else
185
182
  raise 'must not happen'
186
183
  end
187
- rescue => e
188
- if options[:debug]
189
- raise e
190
- else
191
- $stderr.puts("[ERROR] #{e.class}: #{e.message}".red)
192
- exit 1
193
- end
194
184
  end
@@ -355,8 +355,8 @@ module Roadworker
355
355
  end
356
356
 
357
357
  if desired != present
358
- color = String.colorize # XXX:
359
- log(:info, " #{attribute}:\n".green + Roadworker::Utils.diff(present, desired, color: color, indent: ' '), false)
358
+ color = Roadworker::StringHelper.colorize # XXX:
359
+ log(:info, Roadworker::StringHelper.green(" #{attribute}:\n") + Roadworker::Utils.diff(present, desired, color: color, indent: ' '), false)
360
360
  end
361
361
  end
362
362
  end
@@ -6,7 +6,7 @@ module Roadworker
6
6
  def initialize(options = {})
7
7
  @options = OpenStruct.new(options)
8
8
  @options.logger ||= Logger.new($stdout)
9
- String.colorize = @options.color
9
+ Roadworker::StringHelper.colorize = @options.color
10
10
  @options.route53 = Aws::Route53::Client.new
11
11
  @health_checks = HealthCheck.health_checks(@options.route53, :extended => true)
12
12
  @options.health_checks = @health_checks
@@ -323,11 +323,11 @@ module Roadworker
323
323
  end
324
324
 
325
325
  def print_success
326
- print '.'.intense_green unless @options.debug
326
+ print Roadworker::StringHelper.intense_green('.') unless @options.debug
327
327
  end
328
328
 
329
329
  def print_failure
330
- print 'F'.intense_red unless @options.debug
330
+ print Roadworker::StringHelper.intense_red('F') unless @options.debug
331
331
  end
332
332
 
333
333
  def fetch_dns_name(dns_name)
@@ -5,7 +5,7 @@ module Roadworker
5
5
  log_id = yield if block_given?
6
6
  message = "#{message}: #{log_id}" if log_id
7
7
  message << ' (dry-run)' if dry_run
8
- message = message.send(color) if color
8
+ message = Roadworker::StringHelper.public_send(color, message) if color
9
9
  logger.send(level, message)
10
10
  end
11
11
 
@@ -214,6 +214,10 @@ module Roadworker
214
214
 
215
215
  actual[0].sub!(/\Adualstack\./i, '')
216
216
  end
217
+ when :resource_records
218
+ if self.type == 'AAAA'
219
+ return expected.map { |v| IPAddr.new(v.value, Socket::AF_INET6) } == actual.map { |v| IPAddr.new(v.value, Socket::AF_INET6) }
220
+ end
217
221
  end
218
222
 
219
223
  (expected == actual)
@@ -0,0 +1,27 @@
1
+ require 'term/ansicolor'
2
+
3
+ module Roadworker
4
+ module StringHelper
5
+ @colorize = false
6
+
7
+ class << self
8
+ def colorize=(value)
9
+ @colorize = value
10
+ end
11
+
12
+ def colorize
13
+ @colorize
14
+ end
15
+
16
+ Term::ANSIColor::Attribute.named_attributes.map do |attribute|
17
+ define_method(attribute.name) do |str|
18
+ if colorize
19
+ Term::ANSIColor.public_send(attribute.name, str)
20
+ else
21
+ str
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,3 +1,3 @@
1
1
  module Roadworker
2
- VERSION = "0.5.15"
2
+ VERSION = "0.6.0"
3
3
  end
data/lib/roadworker.rb CHANGED
@@ -7,8 +7,9 @@ require 'uri'
7
7
  require 'uuid'
8
8
  require 'diffy'
9
9
  require 'hashie'
10
+ require 'ipaddr'
10
11
 
11
- require 'roadworker/string-ext'
12
+ require 'roadworker/string_helper'
12
13
  require 'roadworker/struct-ext'
13
14
  require 'roadworker/route53-ext'
14
15
 
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roadworker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.15
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - winebarrel
8
+ - Cookpad Inc.
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2021-06-16 00:00:00.000000000 Z
12
+ date: 2025-03-17 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: aws-sdk-route53
@@ -108,6 +109,34 @@ dependencies:
108
109
  - - ">="
109
110
  - !ruby/object:Gem::Version
110
111
  version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: ipaddr
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: ostruct
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
111
140
  - !ruby/object:Gem::Dependency
112
141
  name: bundler
113
142
  requirement: !ruby/object:Gem::Requirement
@@ -192,9 +221,25 @@ dependencies:
192
221
  - - ">="
193
222
  - !ruby/object:Gem::Version
194
223
  version: '0'
224
+ - !ruby/object:Gem::Dependency
225
+ name: nokogiri
226
+ requirement: !ruby/object:Gem::Requirement
227
+ requirements:
228
+ - - ">="
229
+ - !ruby/object:Gem::Version
230
+ version: '0'
231
+ type: :development
232
+ prerelease: false
233
+ version_requirements: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
195
238
  description: Roadworker is a tool to manage Route53. It defines the state of Route53
196
239
  using DSL, and updates Route53 according to DSL.
197
- email: sgwr_dts@yahoo.co.jp
240
+ email:
241
+ - sgwr_dts@yahoo.co.jp
242
+ - kaihatsu@cookpad.com
198
243
  executables:
199
244
  - roadwork
200
245
  extensions: []
@@ -214,12 +259,12 @@ files:
214
259
  - lib/roadworker/route53-ext.rb
215
260
  - lib/roadworker/route53-health-check.rb
216
261
  - lib/roadworker/route53-wrapper.rb
217
- - lib/roadworker/string-ext.rb
262
+ - lib/roadworker/string_helper.rb
218
263
  - lib/roadworker/struct-ext.rb
219
264
  - lib/roadworker/template-helper.rb
220
265
  - lib/roadworker/utils.rb
221
266
  - lib/roadworker/version.rb
222
- homepage: https://github.com/winebarrel/roadworker
267
+ homepage: https://github.com/cookpad/roadworker
223
268
  licenses:
224
269
  - MIT
225
270
  metadata: {}
@@ -238,7 +283,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
238
283
  - !ruby/object:Gem::Version
239
284
  version: '0'
240
285
  requirements: []
241
- rubygems_version: 3.1.4
286
+ rubygems_version: 3.4.19
242
287
  signing_key:
243
288
  specification_version: 4
244
289
  summary: Roadworker is a tool to manage Route53.
@@ -1,28 +0,0 @@
1
- require 'term/ansicolor'
2
-
3
- class String
4
- @@colorize = false
5
-
6
- class << self
7
- def colorize=(value)
8
- @@colorize = value
9
- end
10
-
11
- def colorize
12
- @@colorize
13
- end
14
- end # of class method
15
-
16
- Term::ANSIColor::Attribute.named_attributes.map do |attribute|
17
- class_eval(<<-EOS, __FILE__, __LINE__ + 1)
18
- def #{attribute.name}
19
- if @@colorize
20
- Term::ANSIColor.send(#{attribute.name.inspect}, self)
21
- else
22
- self
23
- end
24
- end
25
- EOS
26
- end
27
-
28
- end