firespring_dev_commands 2.2.8.pre.alpha.1 → 2.5.0.pre.alpha.1
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 +1 -1
- data/lib/firespring_dev_commands/audit/report.rb +2 -9
- data/lib/firespring_dev_commands/aws/account.rb +1 -1
- data/lib/firespring_dev_commands/aws/cloudformation.rb +3 -10
- data/lib/firespring_dev_commands/aws/login.rb +1 -1
- data/lib/firespring_dev_commands/common.rb +2 -22
- data/lib/firespring_dev_commands/docker/status.rb +0 -20
- data/lib/firespring_dev_commands/docker.rb +16 -86
- data/lib/firespring_dev_commands/eol/aws.rb +2 -10
- data/lib/firespring_dev_commands/eol.rb +2 -22
- data/lib/firespring_dev_commands/git.rb +24 -37
- data/lib/firespring_dev_commands/jira/issue.rb +1 -3
- data/lib/firespring_dev_commands/node.rb +1 -1
- data/lib/firespring_dev_commands/php/audit.rb +0 -4
- data/lib/firespring_dev_commands/php.rb +12 -28
- data/lib/firespring_dev_commands/platform.rb +31 -38
- data/lib/firespring_dev_commands/ruby.rb +3 -6
- data/lib/firespring_dev_commands/target_process/query.rb +4 -30
- data/lib/firespring_dev_commands/target_process/release.rb +1 -1
- data/lib/firespring_dev_commands/target_process/team_assignment.rb +1 -1
- data/lib/firespring_dev_commands/target_process/user.rb +1 -13
- data/lib/firespring_dev_commands/target_process/user_story.rb +1 -1
- data/lib/firespring_dev_commands/target_process/user_story_history.rb +1 -1
- data/lib/firespring_dev_commands/target_process.rb +7 -24
- data/lib/firespring_dev_commands/templates/aws.rb +6 -33
- data/lib/firespring_dev_commands/templates/base_interface.rb +2 -2
- data/lib/firespring_dev_commands/templates/ci.rb +11 -16
- data/lib/firespring_dev_commands/templates/docker/application.rb +2 -2
- data/lib/firespring_dev_commands/templates/docker/node/application.rb +5 -55
- data/lib/firespring_dev_commands/templates/docker/php/application.rb +16 -58
- data/lib/firespring_dev_commands/templates/docker/ruby/application.rb +5 -54
- data/lib/firespring_dev_commands/templates/eol.rb +2 -9
- data/lib/firespring_dev_commands/templates/git.rb +0 -165
- data/lib/firespring_dev_commands/version.rb +1 -1
- data/lib/firespring_dev_commands.rb +1 -1
- metadata +35 -125
- data/lib/firespring_dev_commands/aws/route53.rb +0 -177
- data/lib/firespring_dev_commands/bloom_growth/rock.rb +0 -34
- data/lib/firespring_dev_commands/bloom_growth/seat.rb +0 -16
- data/lib/firespring_dev_commands/bloom_growth/user.rb +0 -43
- data/lib/firespring_dev_commands/bloom_growth.rb +0 -132
- data/lib/firespring_dev_commands/certificate.rb +0 -59
- data/lib/firespring_dev_commands/coverage/base.rb +0 -16
- data/lib/firespring_dev_commands/coverage/cobertura.rb +0 -86
- data/lib/firespring_dev_commands/coverage/none.rb +0 -21
- data/lib/firespring_dev_commands/dns/resource.rb +0 -93
- data/lib/firespring_dev_commands/docker/desktop.rb +0 -61
- data/lib/firespring_dev_commands/eol/node.rb +0 -42
- data/lib/firespring_dev_commands/eol/php.rb +0 -50
- data/lib/firespring_dev_commands/eol/ruby.rb +0 -42
- data/lib/firespring_dev_commands/jira/parent.rb +0 -19
- data/lib/firespring_dev_commands/os.rb +0 -35
- data/lib/firespring_dev_commands/port.rb +0 -24
- data/lib/firespring_dev_commands/target_process/time.rb +0 -32
- data/lib/firespring_dev_commands/templates/aws/services/route53.rb +0 -130
- data/lib/firespring_dev_commands/templates/certificate.rb +0 -41
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: firespring_dev_commands
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.5.0.pre.alpha.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Firespring
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,168 +16,154 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 7.1.
|
19
|
+
version: 7.1.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 7.1.
|
26
|
+
version: 7.1.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: aws-sdk-cloudformation
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.83.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: 1.83.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: aws-sdk-codepipeline
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
47
|
+
version: 1.59.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
54
|
+
version: 1.59.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: aws-sdk-ecr
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
61
|
+
version: 1.61.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
68
|
+
version: 1.61.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: aws-sdk-elasticache
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.
|
75
|
+
version: 1.88.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.
|
82
|
+
version: 1.88.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: aws-sdk-lambda
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
89
|
+
version: 1.101.0
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
96
|
+
version: 1.101.0
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: aws-sdk-opensearchservice
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 1.
|
103
|
+
version: 1.24.0
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 1.
|
110
|
+
version: 1.24.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: aws-sdk-rds
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.
|
117
|
+
version: 1.183.0
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 1.
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: aws-sdk-route53
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 1.87.0
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 1.87.0
|
124
|
+
version: 1.183.0
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: aws-sdk-s3
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
129
|
- - "~>"
|
144
130
|
- !ruby/object:Gem::Version
|
145
|
-
version: 1.
|
131
|
+
version: 1.127.0
|
146
132
|
type: :runtime
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
136
|
- - "~>"
|
151
137
|
- !ruby/object:Gem::Version
|
152
|
-
version: 1.
|
138
|
+
version: 1.127.0
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
140
|
name: aws-sdk-ssm
|
155
141
|
requirement: !ruby/object:Gem::Requirement
|
156
142
|
requirements:
|
157
143
|
- - "~>"
|
158
144
|
- !ruby/object:Gem::Version
|
159
|
-
version: 1.
|
145
|
+
version: 1.154.0
|
160
146
|
type: :runtime
|
161
147
|
prerelease: false
|
162
148
|
version_requirements: !ruby/object:Gem::Requirement
|
163
149
|
requirements:
|
164
150
|
- - "~>"
|
165
151
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.
|
152
|
+
version: 1.154.0
|
167
153
|
- !ruby/object:Gem::Dependency
|
168
154
|
name: aws-sdk-sts
|
169
155
|
requirement: !ruby/object:Gem::Requirement
|
170
156
|
requirements:
|
171
157
|
- - "~>"
|
172
158
|
- !ruby/object:Gem::Version
|
173
|
-
version: 1.
|
159
|
+
version: 1.10.0
|
174
160
|
type: :runtime
|
175
161
|
prerelease: false
|
176
162
|
version_requirements: !ruby/object:Gem::Requirement
|
177
163
|
requirements:
|
178
164
|
- - "~>"
|
179
165
|
- !ruby/object:Gem::Version
|
180
|
-
version: 1.
|
166
|
+
version: 1.10.0
|
181
167
|
- !ruby/object:Gem::Dependency
|
182
168
|
name: colorize
|
183
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,34 +206,6 @@ dependencies:
|
|
220
206
|
- - "~>"
|
221
207
|
- !ruby/object:Gem::Version
|
222
208
|
version: 2.8.1
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: excon
|
225
|
-
requirement: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
227
|
-
- - '='
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: 0.110.0
|
230
|
-
type: :runtime
|
231
|
-
prerelease: false
|
232
|
-
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
requirements:
|
234
|
-
- - '='
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: 0.110.0
|
237
|
-
- !ruby/object:Gem::Dependency
|
238
|
-
name: faraday-retry
|
239
|
-
requirement: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - "~>"
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: '2.0'
|
244
|
-
type: :runtime
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: !ruby/object:Gem::Requirement
|
247
|
-
requirements:
|
248
|
-
- - "~>"
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: '2.0'
|
251
209
|
- !ruby/object:Gem::Dependency
|
252
210
|
name: git
|
253
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -291,89 +249,61 @@ dependencies:
|
|
291
249
|
- !ruby/object:Gem::Version
|
292
250
|
version: 2.3.0
|
293
251
|
- !ruby/object:Gem::Dependency
|
294
|
-
name:
|
252
|
+
name: libxml-ruby
|
295
253
|
requirement: !ruby/object:Gem::Requirement
|
296
254
|
requirements:
|
297
|
-
- -
|
298
|
-
- !ruby/object:Gem::Version
|
299
|
-
version: '8.1'
|
300
|
-
type: :runtime
|
301
|
-
prerelease: false
|
302
|
-
version_requirements: !ruby/object:Gem::Requirement
|
303
|
-
requirements:
|
304
|
-
- - "~>"
|
305
|
-
- !ruby/object:Gem::Version
|
306
|
-
version: '8.1'
|
307
|
-
- !ruby/object:Gem::Dependency
|
308
|
-
name: ox
|
309
|
-
requirement: !ruby/object:Gem::Requirement
|
310
|
-
requirements:
|
311
|
-
- - "~>"
|
255
|
+
- - '='
|
312
256
|
- !ruby/object:Gem::Version
|
313
|
-
version:
|
257
|
+
version: 4.1.1
|
314
258
|
type: :runtime
|
315
259
|
prerelease: false
|
316
260
|
version_requirements: !ruby/object:Gem::Requirement
|
317
261
|
requirements:
|
318
|
-
- -
|
262
|
+
- - '='
|
319
263
|
- !ruby/object:Gem::Version
|
320
|
-
version:
|
264
|
+
version: 4.1.1
|
321
265
|
- !ruby/object:Gem::Dependency
|
322
266
|
name: public_suffix
|
323
267
|
requirement: !ruby/object:Gem::Requirement
|
324
268
|
requirements:
|
325
269
|
- - '='
|
326
270
|
- !ruby/object:Gem::Version
|
327
|
-
version: 5.0.
|
271
|
+
version: 5.0.1
|
328
272
|
type: :runtime
|
329
273
|
prerelease: false
|
330
274
|
version_requirements: !ruby/object:Gem::Requirement
|
331
275
|
requirements:
|
332
276
|
- - '='
|
333
277
|
- !ruby/object:Gem::Version
|
334
|
-
version: 5.0.
|
278
|
+
version: 5.0.1
|
335
279
|
- !ruby/object:Gem::Dependency
|
336
280
|
name: rake
|
337
281
|
requirement: !ruby/object:Gem::Requirement
|
338
282
|
requirements:
|
339
283
|
- - "~>"
|
340
284
|
- !ruby/object:Gem::Version
|
341
|
-
version: 13.
|
285
|
+
version: 13.0.6
|
342
286
|
type: :runtime
|
343
287
|
prerelease: false
|
344
288
|
version_requirements: !ruby/object:Gem::Requirement
|
345
289
|
requirements:
|
346
290
|
- - "~>"
|
347
291
|
- !ruby/object:Gem::Version
|
348
|
-
version: 13.
|
292
|
+
version: 13.0.6
|
349
293
|
- !ruby/object:Gem::Dependency
|
350
294
|
name: slack-ruby-client
|
351
295
|
requirement: !ruby/object:Gem::Requirement
|
352
296
|
requirements:
|
353
297
|
- - "~>"
|
354
298
|
- !ruby/object:Gem::Version
|
355
|
-
version: 2.
|
356
|
-
type: :runtime
|
357
|
-
prerelease: false
|
358
|
-
version_requirements: !ruby/object:Gem::Requirement
|
359
|
-
requirements:
|
360
|
-
- - "~>"
|
361
|
-
- !ruby/object:Gem::Version
|
362
|
-
version: 2.2.0
|
363
|
-
- !ruby/object:Gem::Dependency
|
364
|
-
name: whois
|
365
|
-
requirement: !ruby/object:Gem::Requirement
|
366
|
-
requirements:
|
367
|
-
- - "~>"
|
368
|
-
- !ruby/object:Gem::Version
|
369
|
-
version: '6.0'
|
299
|
+
version: 2.1.0
|
370
300
|
type: :runtime
|
371
301
|
prerelease: false
|
372
302
|
version_requirements: !ruby/object:Gem::Requirement
|
373
303
|
requirements:
|
374
304
|
- - "~>"
|
375
305
|
- !ruby/object:Gem::Version
|
376
|
-
version:
|
306
|
+
version: 2.1.0
|
377
307
|
description: Ruby library for creating/maintaining your development environment
|
378
308
|
email: opensource@firespring.com
|
379
309
|
executables: []
|
@@ -396,50 +326,33 @@ files:
|
|
396
326
|
- lib/firespring_dev_commands/aws/login.rb
|
397
327
|
- lib/firespring_dev_commands/aws/parameter.rb
|
398
328
|
- lib/firespring_dev_commands/aws/profile.rb
|
399
|
-
- lib/firespring_dev_commands/aws/route53.rb
|
400
329
|
- lib/firespring_dev_commands/aws/s3.rb
|
401
|
-
- lib/firespring_dev_commands/bloom_growth.rb
|
402
|
-
- lib/firespring_dev_commands/bloom_growth/rock.rb
|
403
|
-
- lib/firespring_dev_commands/bloom_growth/seat.rb
|
404
|
-
- lib/firespring_dev_commands/bloom_growth/user.rb
|
405
330
|
- lib/firespring_dev_commands/boolean.rb
|
406
|
-
- lib/firespring_dev_commands/certificate.rb
|
407
331
|
- lib/firespring_dev_commands/common.rb
|
408
|
-
- lib/firespring_dev_commands/coverage/base.rb
|
409
|
-
- lib/firespring_dev_commands/coverage/cobertura.rb
|
410
|
-
- lib/firespring_dev_commands/coverage/none.rb
|
411
332
|
- lib/firespring_dev_commands/daterange.rb
|
412
|
-
- lib/firespring_dev_commands/dns/resource.rb
|
413
333
|
- lib/firespring_dev_commands/docker.rb
|
414
334
|
- lib/firespring_dev_commands/docker/compose.rb
|
415
|
-
- lib/firespring_dev_commands/docker/desktop.rb
|
416
335
|
- lib/firespring_dev_commands/docker/status.rb
|
417
336
|
- lib/firespring_dev_commands/dotenv.rb
|
418
337
|
- lib/firespring_dev_commands/env.rb
|
419
338
|
- lib/firespring_dev_commands/eol.rb
|
420
339
|
- lib/firespring_dev_commands/eol/aws.rb
|
421
|
-
- lib/firespring_dev_commands/eol/node.rb
|
422
|
-
- lib/firespring_dev_commands/eol/php.rb
|
423
340
|
- lib/firespring_dev_commands/eol/product_version.rb
|
424
|
-
- lib/firespring_dev_commands/eol/ruby.rb
|
425
341
|
- lib/firespring_dev_commands/git.rb
|
426
342
|
- lib/firespring_dev_commands/git/info.rb
|
427
343
|
- lib/firespring_dev_commands/jira.rb
|
428
344
|
- lib/firespring_dev_commands/jira/histories.rb
|
429
345
|
- lib/firespring_dev_commands/jira/history.rb
|
430
346
|
- lib/firespring_dev_commands/jira/issue.rb
|
431
|
-
- lib/firespring_dev_commands/jira/parent.rb
|
432
347
|
- lib/firespring_dev_commands/jira/project.rb
|
433
348
|
- lib/firespring_dev_commands/jira/user.rb
|
434
349
|
- lib/firespring_dev_commands/jira/user/type.rb
|
435
350
|
- lib/firespring_dev_commands/logger.rb
|
436
351
|
- lib/firespring_dev_commands/node.rb
|
437
352
|
- lib/firespring_dev_commands/node/audit.rb
|
438
|
-
- lib/firespring_dev_commands/os.rb
|
439
353
|
- lib/firespring_dev_commands/php.rb
|
440
354
|
- lib/firespring_dev_commands/php/audit.rb
|
441
355
|
- lib/firespring_dev_commands/platform.rb
|
442
|
-
- lib/firespring_dev_commands/port.rb
|
443
356
|
- lib/firespring_dev_commands/rake.rb
|
444
357
|
- lib/firespring_dev_commands/ruby.rb
|
445
358
|
- lib/firespring_dev_commands/ruby/audit.rb
|
@@ -455,14 +368,11 @@ files:
|
|
455
368
|
- lib/firespring_dev_commands/target_process/release.rb
|
456
369
|
- lib/firespring_dev_commands/target_process/team.rb
|
457
370
|
- lib/firespring_dev_commands/target_process/team_assignment.rb
|
458
|
-
- lib/firespring_dev_commands/target_process/time.rb
|
459
371
|
- lib/firespring_dev_commands/target_process/user.rb
|
460
372
|
- lib/firespring_dev_commands/target_process/user_story.rb
|
461
373
|
- lib/firespring_dev_commands/target_process/user_story_history.rb
|
462
374
|
- lib/firespring_dev_commands/templates/aws.rb
|
463
|
-
- lib/firespring_dev_commands/templates/aws/services/route53.rb
|
464
375
|
- lib/firespring_dev_commands/templates/base_interface.rb
|
465
|
-
- lib/firespring_dev_commands/templates/certificate.rb
|
466
376
|
- lib/firespring_dev_commands/templates/ci.rb
|
467
377
|
- lib/firespring_dev_commands/templates/config.rb
|
468
378
|
- lib/firespring_dev_commands/templates/docker/application.rb
|
@@ -1,177 +0,0 @@
|
|
1
|
-
require 'aws-sdk-route53'
|
2
|
-
|
3
|
-
module Dev
|
4
|
-
class Aws
|
5
|
-
# Class for performing Route53 functions
|
6
|
-
class Route53
|
7
|
-
attr_reader :client
|
8
|
-
|
9
|
-
def initialize(domains = nil)
|
10
|
-
@client = ::Aws::Route53::Client.new
|
11
|
-
@domains = Array(domains || [])
|
12
|
-
end
|
13
|
-
|
14
|
-
def zones(&)
|
15
|
-
if @domains.empty?
|
16
|
-
each_zone(&)
|
17
|
-
else
|
18
|
-
each_zone_by_domains(&)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
private def each_zone
|
23
|
-
Dev::Aws.each_page(client, :list_hosted_zones) do |response|
|
24
|
-
response.hosted_zones&.each do |hosted_zone|
|
25
|
-
next if hosted_zone.config.private_zone
|
26
|
-
|
27
|
-
yield hosted_zone
|
28
|
-
end
|
29
|
-
rescue ::Aws::Route53::Errors::Throttling
|
30
|
-
sleep(1)
|
31
|
-
retry
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
private def each_zone_by_domains(&)
|
36
|
-
@domains.each do |domain|
|
37
|
-
response = client.list_hosted_zones_by_name({dns_name: domain})
|
38
|
-
|
39
|
-
# The 'list_hosted_zones_by_name' returns fuzzy matches (so "foo.com" would return both "bar.foo.com" and "foo.com"
|
40
|
-
# So we are only selecting domains that match exactly since that's what we really want here
|
41
|
-
targets = response.hosted_zones.select { |it| it.name.chomp('.') == domain }
|
42
|
-
raise "The #{domain} hosted zone not found." if targets.empty?
|
43
|
-
|
44
|
-
targets.each(&)
|
45
|
-
rescue ::Aws::Route53::Errors::Throttling
|
46
|
-
sleep(1)
|
47
|
-
retry
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
private def ip_address(domain)
|
52
|
-
Addrinfo.ip(domain.to_s.strip)&.ip_address
|
53
|
-
rescue SocketError
|
54
|
-
"Unable to resolve domain: #{domain}"
|
55
|
-
end
|
56
|
-
|
57
|
-
private def target_config_id(zone_id)
|
58
|
-
client.list_query_logging_configs(
|
59
|
-
hosted_zone_id: zone_id,
|
60
|
-
max_results: '1'
|
61
|
-
).query_logging_configs&.first&.id
|
62
|
-
end
|
63
|
-
|
64
|
-
# Get the hosted zone details for the zone id
|
65
|
-
private def details(zone_id)
|
66
|
-
response = client.get_hosted_zone(id: zone_id)
|
67
|
-
[response.hosted_zone, response.delegation_set]
|
68
|
-
end
|
69
|
-
|
70
|
-
def json_details
|
71
|
-
zone_count = 0
|
72
|
-
zones do |zone|
|
73
|
-
zone_details, delegation_set = details(zone.id)
|
74
|
-
dns_resource = Dev::Dns::Resource.new(zone_details.name)
|
75
|
-
zone_count += 1
|
76
|
-
apex_record = dns_resource.recursive_a_lookup
|
77
|
-
nameserver_names = dns_resource.recursive_nameserver_lookup
|
78
|
-
nameserver_ips = nameserver_names.sort.map { |it| dns_resource.recursive_a_lookup(it) }
|
79
|
-
# Check if the site is dead, no a record or any AWS ips in the lists.
|
80
|
-
# if apex_record.empty? && (!zone_details.name.chomp('.').include? 'firespring') && (!nameserver_ips.join(', ').include? '205.251')
|
81
|
-
if !dns_resource.recursive_a_lookup.empty? && (dns_resource.recursive_nameserver_lookup.include? 'ns1.firespring.com')
|
82
|
-
out_data = {
|
83
|
-
'count' => zone_count,
|
84
|
-
'dns_name' => zone_details.name.chomp('.'),
|
85
|
-
'hosted_zone_id' => zone_details.id,
|
86
|
-
'delegation_set_id' => delegation_set.id,
|
87
|
-
# 'registrar_servers' => dns_resource.registrar_lookup.join(','), # This function is fickle, add with care.
|
88
|
-
'reported_nameservers' => nameserver_names.sort.join(', '),
|
89
|
-
'reported_ns_ips' => nameserver_ips.join(', '),
|
90
|
-
'a_record_ip' => apex_record.sort.join(', ')
|
91
|
-
}
|
92
|
-
# Display contents
|
93
|
-
puts JSON.pretty_generate(out_data)
|
94
|
-
end
|
95
|
-
rescue ::Aws::Route53::Errors::Throttling
|
96
|
-
sleep(1)
|
97
|
-
retry
|
98
|
-
end
|
99
|
-
puts
|
100
|
-
end
|
101
|
-
|
102
|
-
def command_line_details
|
103
|
-
zone_count = 0
|
104
|
-
zones do |zone|
|
105
|
-
zone_details, delegation_set = details(zone.id)
|
106
|
-
dns_resource = Dev::Dns::Resource.new(zone_details.name)
|
107
|
-
zone_count += 1
|
108
|
-
if !dns_resource.recursive_a_lookup.empty? && (dns_resource.recursive_nameserver_lookup.include? 'ns1.firespring.com')
|
109
|
-
puts
|
110
|
-
puts "#{zone_count} - #{zone_details.name.chomp('.')} (#{zone_details.id}):"
|
111
|
-
puts format(' %-50s %s', 'Delegation Set:', delegation_set.id)
|
112
|
-
puts format(' %-50s %s', 'Delegation Defined Nameservers:', delegation_set.name_servers.sort.join(', '))
|
113
|
-
puts format(' %-50s %s', 'WHOIS Reported server:', dns_resource.registrar_lookup.join(','))
|
114
|
-
puts format(' %-50s %s', 'DNS Reported Nameservers:', dns_resource.recursive_nameserver_lookup.sort.join(', '))
|
115
|
-
puts format(' %-50s %s', 'DNS Reported Nameserver IPs:', dns_resource.recursive_nameserver_lookup.sort.map do |it|
|
116
|
-
dns_resource.recursive_a_lookup(it)
|
117
|
-
end.join(', '))
|
118
|
-
puts format(' %-50s %s', 'Domain Apex IP Resolution:', dns_resource.recursive_a_lookup.sort.join(', '))
|
119
|
-
end
|
120
|
-
rescue ::Aws::Route53::Errors::Throttling
|
121
|
-
sleep(1)
|
122
|
-
retry
|
123
|
-
end
|
124
|
-
puts
|
125
|
-
end
|
126
|
-
|
127
|
-
def list_query_configs
|
128
|
-
zones do |zone|
|
129
|
-
target_config_id = target_config_id(zone.id)
|
130
|
-
message = if target_config_id
|
131
|
-
"Config\t=>\t#{target_config_id}".colorize(:green)
|
132
|
-
else
|
133
|
-
'No query logging config assigned.'.colorize(:red)
|
134
|
-
end
|
135
|
-
puts format('%-50s => %s', zone.name, message)
|
136
|
-
rescue ::Aws::Route53::Errors::Throttling
|
137
|
-
sleep(1)
|
138
|
-
retry
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
def activate_query_logging(log_group)
|
143
|
-
zones do |zone|
|
144
|
-
response = client.create_query_logging_config(
|
145
|
-
hosted_zone_id: zone.id,
|
146
|
-
cloud_watch_logs_log_group_arn: log_group
|
147
|
-
)
|
148
|
-
puts format('%-50s => %s', zone.id, response.location)
|
149
|
-
rescue ::Aws::Route53::Errors::Throttling
|
150
|
-
sleep(1)
|
151
|
-
retry
|
152
|
-
rescue ::Aws::Route53::Errors::ServiceError => e
|
153
|
-
raise "Error: #{e.message}" unless e.instance_of?(::Aws::Route53::Errors::QueryLoggingConfigAlreadyExists)
|
154
|
-
|
155
|
-
puts format('%-50s => %s', zone.id, e.message)
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
def deactivate_query_logging
|
160
|
-
zones do |zone|
|
161
|
-
target_config_id = target_config_id(zone.id)
|
162
|
-
if target_config_id
|
163
|
-
client.delete_query_logging_config(
|
164
|
-
id: target_config_id
|
165
|
-
)
|
166
|
-
puts format('%-50s => %s', zone.id, 'Query logging config removed.'.colorize(:green))
|
167
|
-
else
|
168
|
-
puts format('%-50s => %s', zone.id, 'No query logging config assigned.'.colorize(:red))
|
169
|
-
end
|
170
|
-
rescue ::Aws::Route53::Errors::Throttling
|
171
|
-
sleep(1)
|
172
|
-
retry
|
173
|
-
end
|
174
|
-
end
|
175
|
-
end
|
176
|
-
end
|
177
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
module Dev
|
2
|
-
class BloomGrowth
|
3
|
-
# Class containing rock information
|
4
|
-
class Rock
|
5
|
-
attr_accessor :data, :id, :type, :name, :owner, :complete, :completion_id, :created, :due
|
6
|
-
attr_reader :state
|
7
|
-
|
8
|
-
def initialize(data)
|
9
|
-
@data = data
|
10
|
-
@id = data['Id']
|
11
|
-
@type = data['Type']
|
12
|
-
@name = data['Name'].to_s.strip
|
13
|
-
@owner = User.new(data['Owner']) if data['Owner']
|
14
|
-
@complete = data['Complete']
|
15
|
-
@completion_id = data['Completion']
|
16
|
-
@created = Time.parse(data['CreateTime']) if data['CreateTime']
|
17
|
-
@due = Time.parse(data['DueDate']) if data['DueDate']
|
18
|
-
@archived = data['Archived']
|
19
|
-
end
|
20
|
-
|
21
|
-
# Convert the completion_id bloom growth gives us into a text version
|
22
|
-
def state
|
23
|
-
case completion_id
|
24
|
-
when 0
|
25
|
-
'Off Track'
|
26
|
-
when 1
|
27
|
-
'On Track'
|
28
|
-
when 2
|
29
|
-
'Complete'
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Dev
|
2
|
-
class BloomGrowth
|
3
|
-
# Class containing seat information
|
4
|
-
class Seat
|
5
|
-
attr_accessor :data, :id, :type, :name
|
6
|
-
|
7
|
-
def initialize(data)
|
8
|
-
@data = data
|
9
|
-
position = data.dig('Group', 'Position')
|
10
|
-
@id = position&.fetch('Id')
|
11
|
-
@type = position&.fetch('Type')
|
12
|
-
@name = position&.fetch('Name').to_s.strip
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module Dev
|
2
|
-
class BloomGrowth
|
3
|
-
# Class containing user information
|
4
|
-
class User
|
5
|
-
attr_accessor :data, :id, :type, :name, :rocks, :direct_reports, :seats
|
6
|
-
|
7
|
-
def initialize(data)
|
8
|
-
@data = data
|
9
|
-
@id = data['Id']
|
10
|
-
@type = data['Type']
|
11
|
-
@name = data['Name'].to_s.strip
|
12
|
-
@rocks = nil
|
13
|
-
@direct_reports = nil
|
14
|
-
@seats = nil
|
15
|
-
end
|
16
|
-
|
17
|
-
def rocks
|
18
|
-
@rocks ||= [].tap do |ary|
|
19
|
-
Dev::BloomGrowth.new.get("/api/v1/rocks/user/#{id}") do |data|
|
20
|
-
ary << Rock.new(data)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def direct_reports
|
26
|
-
@direct_reports ||= [].tap do |ary|
|
27
|
-
Dev::BloomGrowth.new.get("/api/v1/users/#{id}/directreports") do |data|
|
28
|
-
ary << User.new(data)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def seats
|
34
|
-
@seats ||= [].tap do |ary|
|
35
|
-
Dev::BloomGrowth.new.get("/api/v1/users/#{id}/seats") do |data|
|
36
|
-
ary << Seat.new(data)
|
37
|
-
puts ary.last.inspect
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|