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 +4 -4
- data/README.md +2 -0
- data/bin/roadwork +3 -13
- data/lib/roadworker/batch.rb +2 -2
- data/lib/roadworker/client.rb +1 -1
- data/lib/roadworker/dsl-tester.rb +2 -2
- data/lib/roadworker/log.rb +1 -1
- data/lib/roadworker/route53-wrapper.rb +4 -0
- data/lib/roadworker/string_helper.rb +27 -0
- data/lib/roadworker/version.rb +1 -1
- data/lib/roadworker.rb +2 -1
- metadata +51 -6
- data/lib/roadworker/string-ext.rb +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6fe3c3b469bf155ece1d643b31b9764c78e79b956a9a997cc8083095eb420402
|
4
|
+
data.tar.gz: '08c0e358e87b67b924eb4f520502054582003557228a56d873ef2490c34c5cc0'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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(
|
164
|
+
logger.info(Roadworker::StringHelper.green(result_message))
|
168
165
|
else
|
169
|
-
logger.info(
|
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'
|
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
|
data/lib/roadworker/batch.rb
CHANGED
@@ -355,8 +355,8 @@ module Roadworker
|
|
355
355
|
end
|
356
356
|
|
357
357
|
if desired != present
|
358
|
-
color =
|
359
|
-
log(:info, " #{attribute}:\n"
|
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
|
data/lib/roadworker/client.rb
CHANGED
@@ -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
|
-
|
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 '.'
|
326
|
+
print Roadworker::StringHelper.intense_green('.') unless @options.debug
|
327
327
|
end
|
328
328
|
|
329
329
|
def print_failure
|
330
|
-
print 'F'
|
330
|
+
print Roadworker::StringHelper.intense_red('F') unless @options.debug
|
331
331
|
end
|
332
332
|
|
333
333
|
def fetch_dns_name(dns_name)
|
data/lib/roadworker/log.rb
CHANGED
@@ -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 =
|
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
|
data/lib/roadworker/version.rb
CHANGED
data/lib/roadworker.rb
CHANGED
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.
|
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:
|
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:
|
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/
|
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/
|
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.
|
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
|