runbook 0.14.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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.