runbook 0.14.0 → 1.1.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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +17 -0
  3. data/.gitignore +4 -0
  4. data/.ruby-version +1 -1
  5. data/.travis.yml +23 -7
  6. data/Appraisals +8 -0
  7. data/CHANGELOG.md +71 -0
  8. data/README.md +159 -25
  9. data/Rakefile +7 -1
  10. data/TODO.md +316 -46
  11. data/dockerfiles/Dockerfile-runbook +18 -0
  12. data/dockerfiles/Dockerfile-sshd +4 -0
  13. data/{samples → examples}/hooks_runbook.rb +0 -0
  14. data/{samples → examples}/layout_runbook.rb +0 -0
  15. data/{samples → examples}/restart_nginx.rb +0 -0
  16. data/{samples → examples}/simple_runbook.rb +0 -0
  17. data/examples/suppress_capture_output.rb +47 -0
  18. data/gemfiles/.bundle/config +2 -0
  19. data/gemfiles/activesupport_5.gemfile +7 -0
  20. data/gemfiles/activesupport_6.gemfile +7 -0
  21. data/lib/runbook.rb +28 -6
  22. data/lib/runbook/airbrussh_context.rb +25 -0
  23. data/lib/runbook/cli.rb +17 -13
  24. data/lib/runbook/configuration.rb +7 -1
  25. data/lib/runbook/entities/book.rb +2 -2
  26. data/lib/runbook/entities/section.rb +2 -2
  27. data/lib/runbook/entities/setup.rb +7 -0
  28. data/lib/runbook/entities/step.rb +2 -2
  29. data/lib/runbook/entity.rb +7 -5
  30. data/lib/runbook/extensions/add.rb +1 -0
  31. data/lib/runbook/extensions/sections.rb +6 -2
  32. data/lib/runbook/extensions/setup.rb +17 -0
  33. data/lib/runbook/extensions/ssh_config.rb +2 -0
  34. data/lib/runbook/extensions/statements.rb +6 -1
  35. data/lib/runbook/extensions/steps.rb +12 -2
  36. data/lib/runbook/generators/project/project.rb +32 -9
  37. data/lib/runbook/helpers/tmux_helper.rb +6 -4
  38. data/lib/runbook/node.rb +10 -0
  39. data/lib/runbook/run.rb +14 -8
  40. data/lib/runbook/runner.rb +2 -0
  41. data/lib/runbook/runs/ssh_kit.rb +20 -13
  42. data/lib/runbook/statement.rb +0 -2
  43. data/lib/runbook/statements/ask.rb +3 -2
  44. data/lib/runbook/statements/assert.rb +11 -2
  45. data/lib/runbook/toolbox.rb +3 -9
  46. data/lib/runbook/util/repo.rb +4 -3
  47. data/lib/runbook/util/runbook.rb +4 -0
  48. data/lib/runbook/util/stored_pose.rb +4 -3
  49. data/lib/runbook/version.rb +1 -1
  50. data/lib/runbook/views/markdown.rb +15 -7
  51. data/runbook.gemspec +12 -8
  52. metadata +108 -29
metadata CHANGED
@@ -1,63 +1,77 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runbook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - pblesi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-15 00:00:00.000000000 Z
11
+ date: 2021-05-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '5.0'
20
17
  - - ">="
21
18
  - !ruby/object:Gem::Version
22
- version: 5.0.0.1
19
+ version: 5.0.1.x
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '7.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '5.0'
30
27
  - - ">="
31
28
  - !ruby/object:Gem::Version
32
- version: 5.0.0.1
29
+ version: 5.0.1.x
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '7.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: method_source
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.9'
39
+ version: '1.0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: ruby2_keywords
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: 0.0.4
40
54
  type: :runtime
41
55
  prerelease: false
42
56
  version_requirements: !ruby/object:Gem::Requirement
43
57
  requirements:
44
58
  - - "~>"
45
59
  - !ruby/object:Gem::Version
46
- version: '0.9'
60
+ version: 0.0.4
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: sshkit
49
63
  requirement: !ruby/object:Gem::Requirement
50
64
  requirements:
51
65
  - - '='
52
66
  - !ruby/object:Gem::Version
53
- version: '1.16'
67
+ version: 1.21.0
54
68
  type: :runtime
55
69
  prerelease: false
56
70
  version_requirements: !ruby/object:Gem::Requirement
57
71
  requirements:
58
72
  - - '='
59
73
  - !ruby/object:Gem::Version
60
- version: '1.16'
74
+ version: 1.21.0
61
75
  - !ruby/object:Gem::Dependency
62
76
  name: sshkit-sudo
63
77
  requirement: !ruby/object:Gem::Requirement
@@ -78,14 +92,14 @@ dependencies:
78
92
  requirements:
79
93
  - - "~>"
80
94
  - !ruby/object:Gem::Version
81
- version: '1.3'
95
+ version: '1.4'
82
96
  type: :runtime
83
97
  prerelease: false
84
98
  version_requirements: !ruby/object:Gem::Requirement
85
99
  requirements:
86
100
  - - "~>"
87
101
  - !ruby/object:Gem::Version
88
- version: '1.3'
102
+ version: '1.4'
89
103
  - !ruby/object:Gem::Dependency
90
104
  name: thor
91
105
  requirement: !ruby/object:Gem::Requirement
@@ -120,14 +134,28 @@ dependencies:
120
134
  requirements:
121
135
  - - "~>"
122
136
  - !ruby/object:Gem::Version
123
- version: '0.16'
137
+ version: '0.20'
124
138
  type: :runtime
125
139
  prerelease: false
126
140
  version_requirements: !ruby/object:Gem::Requirement
127
141
  requirements:
128
142
  - - "~>"
129
143
  - !ruby/object:Gem::Version
130
- version: '0.16'
144
+ version: '0.20'
145
+ - !ruby/object:Gem::Dependency
146
+ name: appraisal
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '2.2'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '2.2'
131
159
  - !ruby/object:Gem::Dependency
132
160
  name: aruba
133
161
  requirement: !ruby/object:Gem::Requirement
@@ -148,28 +176,68 @@ dependencies:
148
176
  requirements:
149
177
  - - "~>"
150
178
  - !ruby/object:Gem::Version
151
- version: '1.15'
179
+ version: '2.2'
152
180
  type: :development
153
181
  prerelease: false
154
182
  version_requirements: !ruby/object:Gem::Requirement
155
183
  requirements:
156
184
  - - "~>"
157
185
  - !ruby/object:Gem::Version
158
- version: '1.15'
186
+ version: '2.2'
187
+ - !ruby/object:Gem::Dependency
188
+ name: bcrypt_pbkdf
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: '1.0'
194
+ - - "<"
195
+ - !ruby/object:Gem::Version
196
+ version: '2.0'
197
+ type: :development
198
+ prerelease: false
199
+ version_requirements: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '1.0'
204
+ - - "<"
205
+ - !ruby/object:Gem::Version
206
+ version: '2.0'
207
+ - !ruby/object:Gem::Dependency
208
+ name: ed25519
209
+ requirement: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ version: '1.2'
214
+ - - "<"
215
+ - !ruby/object:Gem::Version
216
+ version: '2.0'
217
+ type: :development
218
+ prerelease: false
219
+ version_requirements: !ruby/object:Gem::Requirement
220
+ requirements:
221
+ - - ">="
222
+ - !ruby/object:Gem::Version
223
+ version: '1.2'
224
+ - - "<"
225
+ - !ruby/object:Gem::Version
226
+ version: '2.0'
159
227
  - !ruby/object:Gem::Dependency
160
228
  name: pry
161
229
  requirement: !ruby/object:Gem::Requirement
162
230
  requirements:
163
231
  - - "~>"
164
232
  - !ruby/object:Gem::Version
165
- version: '0.11'
233
+ version: '0.13'
166
234
  type: :development
167
235
  prerelease: false
168
236
  version_requirements: !ruby/object:Gem::Requirement
169
237
  requirements:
170
238
  - - "~>"
171
239
  - !ruby/object:Gem::Version
172
- version: '0.11'
240
+ version: '0.13'
173
241
  - !ruby/object:Gem::Dependency
174
242
  name: pry-byebug
175
243
  requirement: !ruby/object:Gem::Requirement
@@ -190,14 +258,14 @@ dependencies:
190
258
  requirements:
191
259
  - - "~>"
192
260
  - !ruby/object:Gem::Version
193
- version: '10.0'
261
+ version: '12.3'
194
262
  type: :development
195
263
  prerelease: false
196
264
  version_requirements: !ruby/object:Gem::Requirement
197
265
  requirements:
198
266
  - - "~>"
199
267
  - !ruby/object:Gem::Version
200
- version: '10.0'
268
+ version: '12.3'
201
269
  - !ruby/object:Gem::Dependency
202
270
  name: rspec
203
271
  requirement: !ruby/object:Gem::Requirement
@@ -222,11 +290,13 @@ executables:
222
290
  extensions: []
223
291
  extra_rdoc_files: []
224
292
  files:
293
+ - ".dockerignore"
225
294
  - ".gitignore"
226
295
  - ".rspec"
227
296
  - ".ruby-gemset"
228
297
  - ".ruby-version"
229
298
  - ".travis.yml"
299
+ - Appraisals
230
300
  - CHANGELOG.md
231
301
  - CODE_OF_CONDUCT.md
232
302
  - Gemfile
@@ -236,24 +306,37 @@ files:
236
306
  - TODO.md
237
307
  - bin/console
238
308
  - bin/setup
309
+ - dockerfiles/Dockerfile-runbook
310
+ - dockerfiles/Dockerfile-sshd
311
+ - examples/hooks_runbook.rb
312
+ - examples/layout_runbook.rb
313
+ - examples/restart_nginx.rb
314
+ - examples/simple_runbook.rb
315
+ - examples/suppress_capture_output.rb
239
316
  - exe/runbook
317
+ - gemfiles/.bundle/config
318
+ - gemfiles/activesupport_5.gemfile
319
+ - gemfiles/activesupport_6.gemfile
240
320
  - images/runbook_anatomy_diagram.png
241
321
  - images/runbook_example.gif
242
322
  - images/runbook_execution_modes.png
243
323
  - lib/hacks/ssh_kit.rb
244
324
  - lib/runbook.rb
325
+ - lib/runbook/airbrussh_context.rb
245
326
  - lib/runbook/cli.rb
246
327
  - lib/runbook/cli_base.rb
247
328
  - lib/runbook/configuration.rb
248
329
  - lib/runbook/dsl.rb
249
330
  - lib/runbook/entities/book.rb
250
331
  - lib/runbook/entities/section.rb
332
+ - lib/runbook/entities/setup.rb
251
333
  - lib/runbook/entities/step.rb
252
334
  - lib/runbook/entity.rb
253
335
  - lib/runbook/errors.rb
254
336
  - lib/runbook/extensions/add.rb
255
337
  - lib/runbook/extensions/description.rb
256
338
  - lib/runbook/extensions/sections.rb
339
+ - lib/runbook/extensions/setup.rb
257
340
  - lib/runbook/extensions/shared_variables.rb
258
341
  - lib/runbook/extensions/ssh_config.rb
259
342
  - lib/runbook/extensions/statements.rb
@@ -309,10 +392,6 @@ files:
309
392
  - lib/runbook/viewer.rb
310
393
  - lib/runbook/views/markdown.rb
311
394
  - runbook.gemspec
312
- - samples/hooks_runbook.rb
313
- - samples/layout_runbook.rb
314
- - samples/restart_nginx.rb
315
- - samples/simple_runbook.rb
316
395
  homepage: https://github.com/braintree/runbook/
317
396
  licenses:
318
397
  - MIT
@@ -333,7 +412,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
333
412
  - !ruby/object:Gem::Version
334
413
  version: '0'
335
414
  requirements: []
336
- rubygems_version: 3.0.4
415
+ rubygems_version: 3.0.8
337
416
  signing_key:
338
417
  specification_version: 4
339
418
  summary: Write beautiful, executable runbooks for conducting system operations.