producer-core 0.5.8 → 0.5.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/producer/core/version.rb +1 -1
- metadata +21 -202
- data/.gitignore +0 -3
- data/.travis.yml +0 -14
- data/Gemfile +0 -5
- data/Guardfile +0 -14
- data/LICENSE +0 -30
- data/Rakefile +0 -19
- data/config/cucumber.yaml +0 -2
- data/features/actions/echo.feature +0 -11
- data/features/actions/file_append.feature +0 -15
- data/features/actions/file_replace_content.feature +0 -24
- data/features/actions/file_write.feature +0 -21
- data/features/actions/mkdir.feature +0 -31
- data/features/actions/sh.feature +0 -43
- data/features/actions/yaml_write.feature +0 -14
- data/features/cli/debug.feature +0 -19
- data/features/cli/dry_run.feature +0 -22
- data/features/cli/error_reporting.feature +0 -32
- data/features/cli/target.feature +0 -15
- data/features/cli/usage.feature +0 -13
- data/features/cli/verbose.feature +0 -48
- data/features/condition/negated_test.feature +0 -47
- data/features/condition/target.feature +0 -15
- data/features/recipe/compose_macro.feature +0 -29
- data/features/recipe/errors.feature +0 -9
- data/features/recipe/macro.feature +0 -50
- data/features/recipe/registry.feature +0 -82
- data/features/recipe/source.feature +0 -17
- data/features/recipe/target.feature +0 -23
- data/features/recipe/test_macro.feature +0 -50
- data/features/ssh/config.feature +0 -25
- data/features/steps/environment_steps.rb +0 -3
- data/features/support/env.rb +0 -1
- data/features/task/ask.feature +0 -23
- data/features/task/condition.feature +0 -13
- data/features/task/nested_tasks.feature +0 -20
- data/features/task/recipe_argv.feature +0 -13
- data/features/task/target.feature +0 -11
- data/features/task/template.feature +0 -49
- data/features/tests/dir.feature +0 -21
- data/features/tests/env.feature +0 -47
- data/features/tests/executable.feature +0 -26
- data/features/tests/file.feature +0 -21
- data/features/tests/file_contains.feature +0 -26
- data/features/tests/file_eq.feature +0 -26
- data/features/tests/file_match.feature +0 -26
- data/features/tests/shell_command_status.feature +0 -46
- data/features/tests/yaml_eq.feature +0 -26
- data/producer-core.gemspec +0 -28
- data/spec/fixtures/recipes/empty.rb +0 -1
- data/spec/fixtures/recipes/raise.rb +0 -1
- data/spec/fixtures/recipes/some_recipe.rb +0 -5
- data/spec/fixtures/recipes/throw.rb +0 -1
- data/spec/fixtures/templates/basic.erb +0 -1
- data/spec/fixtures/templates/basic_yaml.yaml +0 -1
- data/spec/fixtures/templates/variables.erb +0 -1
- data/spec/producer/core/action_spec.rb +0 -46
- data/spec/producer/core/actions/echo_spec.rb +0 -20
- data/spec/producer/core/actions/file_append_spec.rb +0 -49
- data/spec/producer/core/actions/file_replace_content_spec.rb +0 -42
- data/spec/producer/core/actions/file_writer_spec.rb +0 -52
- data/spec/producer/core/actions/mkdir_spec.rb +0 -71
- data/spec/producer/core/actions/shell_command_spec.rb +0 -45
- data/spec/producer/core/actions/yaml_writer_spec.rb +0 -25
- data/spec/producer/core/cli_spec.rb +0 -211
- data/spec/producer/core/condition_spec.rb +0 -198
- data/spec/producer/core/env_spec.rb +0 -196
- data/spec/producer/core/error_formatter_spec.rb +0 -86
- data/spec/producer/core/logger_formatter_spec.rb +0 -26
- data/spec/producer/core/prompter_spec.rb +0 -40
- data/spec/producer/core/recipe/file_evaluator_spec.rb +0 -22
- data/spec/producer/core/recipe_spec.rb +0 -126
- data/spec/producer/core/remote/environment_spec.rb +0 -19
- data/spec/producer/core/remote/fs_spec.rb +0 -144
- data/spec/producer/core/remote_spec.rb +0 -168
- data/spec/producer/core/task_spec.rb +0 -198
- data/spec/producer/core/template_spec.rb +0 -41
- data/spec/producer/core/test_spec.rb +0 -7
- data/spec/producer/core/testing/mock_remote_spec.rb +0 -66
- data/spec/producer/core/tests/condition_test_spec.rb +0 -55
- data/spec/producer/core/tests/file_contains_spec.rb +0 -46
- data/spec/producer/core/tests/file_eq_spec.rb +0 -45
- data/spec/producer/core/tests/file_match_spec.rb +0 -46
- data/spec/producer/core/tests/has_dir_spec.rb +0 -25
- data/spec/producer/core/tests/has_env_spec.rb +0 -75
- data/spec/producer/core/tests/has_executable_spec.rb +0 -29
- data/spec/producer/core/tests/has_file_spec.rb +0 -25
- data/spec/producer/core/tests/shell_command_status_spec.rb +0 -34
- data/spec/producer/core/tests/yaml_eq_spec.rb +0 -47
- data/spec/producer/core/worker_spec.rb +0 -88
- data/spec/spec_helper.rb +0 -13
- data/spec/support/exit_helpers.rb +0 -6
- data/spec/support/fixtures_helpers.rb +0 -7
- data/spec/support/net_ssh_story_helpers.rb +0 -36
- data/spec/support/shared_action.rb +0 -44
- data/spec/support/shared_test.rb +0 -82
- data/spec/support/test_env_helpers.rb +0 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6abf15a14a7656837e1432e02ce8aa7562c48b16
|
4
|
+
data.tar.gz: db753a5ed68fae34c359d81ada37194979a24d60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f7f977ec6df499b54d5238abebb6e23677ce0ff01e8a33d35de096f5020341f3fef0465fbdd2e4166f3a494758a52b711d0fb2caabc066c96db2eb84e81e5157
|
7
|
+
data.tar.gz: a60cb9978b7b440c1aa6372c8ef41ce29a8cf6ab49b13fe3a9644ce2484778b2c00c8d46e70c4179972e435544f86cb20db468b06e5138195ec3197acd1b1d08
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: producer-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thibault Jouan
|
@@ -39,19 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.1'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: aruba
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0.8'
|
48
48
|
type: :development
|
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: '
|
54
|
+
version: '0.8'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: cucumber
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,104 +67,59 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '2.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: cucumber-sshd
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 1.1.1
|
76
76
|
type: :development
|
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:
|
82
|
+
version: 1.1.1
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: '10.1'
|
90
90
|
type: :development
|
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:
|
96
|
+
version: '10.1'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '3.1'
|
104
104
|
type: :development
|
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: '
|
111
|
-
description: |
|
112
|
-
|
110
|
+
version: '3.1'
|
111
|
+
description: |2
|
112
|
+
Software provisioning and configuration management tool, providing a
|
113
|
+
DSL to write "recipes".
|
113
114
|
email: tj@a13.fr
|
114
115
|
executables:
|
115
116
|
- producer
|
116
117
|
extensions: []
|
117
|
-
extra_rdoc_files:
|
118
|
+
extra_rdoc_files:
|
119
|
+
- README.md
|
118
120
|
files:
|
119
|
-
- ".gitignore"
|
120
|
-
- ".travis.yml"
|
121
|
-
- Gemfile
|
122
|
-
- Guardfile
|
123
|
-
- LICENSE
|
124
121
|
- README.md
|
125
|
-
- Rakefile
|
126
122
|
- bin/producer
|
127
|
-
- config/cucumber.yaml
|
128
|
-
- features/actions/echo.feature
|
129
|
-
- features/actions/file_append.feature
|
130
|
-
- features/actions/file_replace_content.feature
|
131
|
-
- features/actions/file_write.feature
|
132
|
-
- features/actions/mkdir.feature
|
133
|
-
- features/actions/sh.feature
|
134
|
-
- features/actions/yaml_write.feature
|
135
|
-
- features/cli/debug.feature
|
136
|
-
- features/cli/dry_run.feature
|
137
|
-
- features/cli/error_reporting.feature
|
138
|
-
- features/cli/target.feature
|
139
|
-
- features/cli/usage.feature
|
140
|
-
- features/cli/verbose.feature
|
141
|
-
- features/condition/negated_test.feature
|
142
|
-
- features/condition/target.feature
|
143
|
-
- features/recipe/compose_macro.feature
|
144
|
-
- features/recipe/errors.feature
|
145
|
-
- features/recipe/macro.feature
|
146
|
-
- features/recipe/registry.feature
|
147
|
-
- features/recipe/source.feature
|
148
|
-
- features/recipe/target.feature
|
149
|
-
- features/recipe/test_macro.feature
|
150
|
-
- features/ssh/config.feature
|
151
|
-
- features/steps/environment_steps.rb
|
152
|
-
- features/support/env.rb
|
153
|
-
- features/task/ask.feature
|
154
|
-
- features/task/condition.feature
|
155
|
-
- features/task/nested_tasks.feature
|
156
|
-
- features/task/recipe_argv.feature
|
157
|
-
- features/task/target.feature
|
158
|
-
- features/task/template.feature
|
159
|
-
- features/tests/dir.feature
|
160
|
-
- features/tests/env.feature
|
161
|
-
- features/tests/executable.feature
|
162
|
-
- features/tests/file.feature
|
163
|
-
- features/tests/file_contains.feature
|
164
|
-
- features/tests/file_eq.feature
|
165
|
-
- features/tests/file_match.feature
|
166
|
-
- features/tests/shell_command_status.feature
|
167
|
-
- features/tests/yaml_eq.feature
|
168
123
|
- lib/producer/core.rb
|
169
124
|
- lib/producer/core/action.rb
|
170
125
|
- lib/producer/core/actions/echo.rb
|
@@ -211,57 +166,9 @@ files:
|
|
211
166
|
- lib/producer/core/tests/yaml_eq.rb
|
212
167
|
- lib/producer/core/version.rb
|
213
168
|
- lib/producer/core/worker.rb
|
214
|
-
- producer-core.gemspec
|
215
|
-
- spec/fixtures/recipes/empty.rb
|
216
|
-
- spec/fixtures/recipes/raise.rb
|
217
|
-
- spec/fixtures/recipes/some_recipe.rb
|
218
|
-
- spec/fixtures/recipes/throw.rb
|
219
|
-
- spec/fixtures/templates/basic.erb
|
220
|
-
- spec/fixtures/templates/basic_yaml.yaml
|
221
|
-
- spec/fixtures/templates/variables.erb
|
222
|
-
- spec/producer/core/action_spec.rb
|
223
|
-
- spec/producer/core/actions/echo_spec.rb
|
224
|
-
- spec/producer/core/actions/file_append_spec.rb
|
225
|
-
- spec/producer/core/actions/file_replace_content_spec.rb
|
226
|
-
- spec/producer/core/actions/file_writer_spec.rb
|
227
|
-
- spec/producer/core/actions/mkdir_spec.rb
|
228
|
-
- spec/producer/core/actions/shell_command_spec.rb
|
229
|
-
- spec/producer/core/actions/yaml_writer_spec.rb
|
230
|
-
- spec/producer/core/cli_spec.rb
|
231
|
-
- spec/producer/core/condition_spec.rb
|
232
|
-
- spec/producer/core/env_spec.rb
|
233
|
-
- spec/producer/core/error_formatter_spec.rb
|
234
|
-
- spec/producer/core/logger_formatter_spec.rb
|
235
|
-
- spec/producer/core/prompter_spec.rb
|
236
|
-
- spec/producer/core/recipe/file_evaluator_spec.rb
|
237
|
-
- spec/producer/core/recipe_spec.rb
|
238
|
-
- spec/producer/core/remote/environment_spec.rb
|
239
|
-
- spec/producer/core/remote/fs_spec.rb
|
240
|
-
- spec/producer/core/remote_spec.rb
|
241
|
-
- spec/producer/core/task_spec.rb
|
242
|
-
- spec/producer/core/template_spec.rb
|
243
|
-
- spec/producer/core/test_spec.rb
|
244
|
-
- spec/producer/core/testing/mock_remote_spec.rb
|
245
|
-
- spec/producer/core/tests/condition_test_spec.rb
|
246
|
-
- spec/producer/core/tests/file_contains_spec.rb
|
247
|
-
- spec/producer/core/tests/file_eq_spec.rb
|
248
|
-
- spec/producer/core/tests/file_match_spec.rb
|
249
|
-
- spec/producer/core/tests/has_dir_spec.rb
|
250
|
-
- spec/producer/core/tests/has_env_spec.rb
|
251
|
-
- spec/producer/core/tests/has_executable_spec.rb
|
252
|
-
- spec/producer/core/tests/has_file_spec.rb
|
253
|
-
- spec/producer/core/tests/shell_command_status_spec.rb
|
254
|
-
- spec/producer/core/tests/yaml_eq_spec.rb
|
255
|
-
- spec/producer/core/worker_spec.rb
|
256
|
-
- spec/spec_helper.rb
|
257
|
-
- spec/support/exit_helpers.rb
|
258
|
-
- spec/support/fixtures_helpers.rb
|
259
|
-
- spec/support/net_ssh_story_helpers.rb
|
260
|
-
- spec/support/shared_action.rb
|
261
|
-
- spec/support/shared_test.rb
|
262
|
-
- spec/support/test_env_helpers.rb
|
263
169
|
homepage: https://rubygems.org/gems/producer-core
|
264
|
-
licenses:
|
170
|
+
licenses:
|
171
|
+
- BSD-3-Clause
|
265
172
|
metadata: {}
|
266
173
|
post_install_message:
|
267
174
|
rdoc_options: []
|
@@ -283,92 +190,4 @@ rubygems_version: 2.4.5
|
|
283
190
|
signing_key:
|
284
191
|
specification_version: 4
|
285
192
|
summary: Provisioning tool
|
286
|
-
test_files:
|
287
|
-
- features/actions/echo.feature
|
288
|
-
- features/actions/file_append.feature
|
289
|
-
- features/actions/file_replace_content.feature
|
290
|
-
- features/actions/file_write.feature
|
291
|
-
- features/actions/mkdir.feature
|
292
|
-
- features/actions/sh.feature
|
293
|
-
- features/actions/yaml_write.feature
|
294
|
-
- features/cli/debug.feature
|
295
|
-
- features/cli/dry_run.feature
|
296
|
-
- features/cli/error_reporting.feature
|
297
|
-
- features/cli/target.feature
|
298
|
-
- features/cli/usage.feature
|
299
|
-
- features/cli/verbose.feature
|
300
|
-
- features/condition/negated_test.feature
|
301
|
-
- features/condition/target.feature
|
302
|
-
- features/recipe/compose_macro.feature
|
303
|
-
- features/recipe/errors.feature
|
304
|
-
- features/recipe/macro.feature
|
305
|
-
- features/recipe/registry.feature
|
306
|
-
- features/recipe/source.feature
|
307
|
-
- features/recipe/target.feature
|
308
|
-
- features/recipe/test_macro.feature
|
309
|
-
- features/ssh/config.feature
|
310
|
-
- features/steps/environment_steps.rb
|
311
|
-
- features/support/env.rb
|
312
|
-
- features/task/ask.feature
|
313
|
-
- features/task/condition.feature
|
314
|
-
- features/task/nested_tasks.feature
|
315
|
-
- features/task/recipe_argv.feature
|
316
|
-
- features/task/target.feature
|
317
|
-
- features/task/template.feature
|
318
|
-
- features/tests/dir.feature
|
319
|
-
- features/tests/env.feature
|
320
|
-
- features/tests/executable.feature
|
321
|
-
- features/tests/file.feature
|
322
|
-
- features/tests/file_contains.feature
|
323
|
-
- features/tests/file_eq.feature
|
324
|
-
- features/tests/file_match.feature
|
325
|
-
- features/tests/shell_command_status.feature
|
326
|
-
- features/tests/yaml_eq.feature
|
327
|
-
- spec/fixtures/recipes/empty.rb
|
328
|
-
- spec/fixtures/recipes/raise.rb
|
329
|
-
- spec/fixtures/recipes/some_recipe.rb
|
330
|
-
- spec/fixtures/recipes/throw.rb
|
331
|
-
- spec/fixtures/templates/basic.erb
|
332
|
-
- spec/fixtures/templates/basic_yaml.yaml
|
333
|
-
- spec/fixtures/templates/variables.erb
|
334
|
-
- spec/producer/core/action_spec.rb
|
335
|
-
- spec/producer/core/actions/echo_spec.rb
|
336
|
-
- spec/producer/core/actions/file_append_spec.rb
|
337
|
-
- spec/producer/core/actions/file_replace_content_spec.rb
|
338
|
-
- spec/producer/core/actions/file_writer_spec.rb
|
339
|
-
- spec/producer/core/actions/mkdir_spec.rb
|
340
|
-
- spec/producer/core/actions/shell_command_spec.rb
|
341
|
-
- spec/producer/core/actions/yaml_writer_spec.rb
|
342
|
-
- spec/producer/core/cli_spec.rb
|
343
|
-
- spec/producer/core/condition_spec.rb
|
344
|
-
- spec/producer/core/env_spec.rb
|
345
|
-
- spec/producer/core/error_formatter_spec.rb
|
346
|
-
- spec/producer/core/logger_formatter_spec.rb
|
347
|
-
- spec/producer/core/prompter_spec.rb
|
348
|
-
- spec/producer/core/recipe/file_evaluator_spec.rb
|
349
|
-
- spec/producer/core/recipe_spec.rb
|
350
|
-
- spec/producer/core/remote/environment_spec.rb
|
351
|
-
- spec/producer/core/remote/fs_spec.rb
|
352
|
-
- spec/producer/core/remote_spec.rb
|
353
|
-
- spec/producer/core/task_spec.rb
|
354
|
-
- spec/producer/core/template_spec.rb
|
355
|
-
- spec/producer/core/test_spec.rb
|
356
|
-
- spec/producer/core/testing/mock_remote_spec.rb
|
357
|
-
- spec/producer/core/tests/condition_test_spec.rb
|
358
|
-
- spec/producer/core/tests/file_contains_spec.rb
|
359
|
-
- spec/producer/core/tests/file_eq_spec.rb
|
360
|
-
- spec/producer/core/tests/file_match_spec.rb
|
361
|
-
- spec/producer/core/tests/has_dir_spec.rb
|
362
|
-
- spec/producer/core/tests/has_env_spec.rb
|
363
|
-
- spec/producer/core/tests/has_executable_spec.rb
|
364
|
-
- spec/producer/core/tests/has_file_spec.rb
|
365
|
-
- spec/producer/core/tests/shell_command_status_spec.rb
|
366
|
-
- spec/producer/core/tests/yaml_eq_spec.rb
|
367
|
-
- spec/producer/core/worker_spec.rb
|
368
|
-
- spec/spec_helper.rb
|
369
|
-
- spec/support/exit_helpers.rb
|
370
|
-
- spec/support/fixtures_helpers.rb
|
371
|
-
- spec/support/net_ssh_story_helpers.rb
|
372
|
-
- spec/support/shared_action.rb
|
373
|
-
- spec/support/shared_test.rb
|
374
|
-
- spec/support/test_env_helpers.rb
|
193
|
+
test_files: []
|
data/.gitignore
DELETED
data/.travis.yml
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
sudo: false
|
2
|
-
language: ruby
|
3
|
-
cache: bundler
|
4
|
-
rvm:
|
5
|
-
- 2.2
|
6
|
-
- ruby-head
|
7
|
-
- 2.1
|
8
|
-
script: bundle exec rake ci
|
9
|
-
before_script:
|
10
|
-
- ssh-keygen -f ~/.ssh/id_rsa -t rsa -N ''
|
11
|
-
- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
|
12
|
-
- chmod 600 ~/.ssh/authorized_keys
|
13
|
-
- eval `ssh-agent -s`
|
14
|
-
- ssh-add ~/.ssh/id_rsa
|
data/Gemfile
DELETED
data/Guardfile
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
directories %w[features lib spec]
|
2
|
-
|
3
|
-
guard :cucumber, cli: '--format pretty --quiet', all_on_start: false do
|
4
|
-
watch(%r{\Afeatures/.+\.feature\z})
|
5
|
-
watch(%r{\Afeatures/support/.+\.rb\z}) { 'features' }
|
6
|
-
watch(%r{\Afeatures/step_definitions/.+_steps\.rb\z}) { 'features' }
|
7
|
-
end
|
8
|
-
|
9
|
-
guard :rspec, cmd: 'bundle exec rspec -f doc' do
|
10
|
-
watch(%r{\Aspec/.+_spec\.rb\z})
|
11
|
-
watch(%r{\Alib/(.+)\.rb\z}) { |m| "spec/#{m[1]}_spec.rb" }
|
12
|
-
watch('spec/spec_helper.rb') { 'spec' }
|
13
|
-
watch(%r{\Aspec/support/.+\.rb\z}) { 'spec' }
|
14
|
-
end
|
data/LICENSE
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
Copyright 2013 Thibault Jouan. All rights reserved.
|
2
|
-
|
3
|
-
Redistribution and use in source and binary forms, with or without
|
4
|
-
modification, are permitted provided that the following conditions are
|
5
|
-
met:
|
6
|
-
|
7
|
-
* Redistributions of source code must retain the above copyright
|
8
|
-
notice, this list of conditions and the following disclaimer.
|
9
|
-
|
10
|
-
* Redistributions in binary form must reproduce the above copyright
|
11
|
-
notice, this list of conditions and the following disclaimer in
|
12
|
-
the documentation and/or other materials provided with the
|
13
|
-
distribution.
|
14
|
-
|
15
|
-
* Neither the name of the software nor the names of its contributors
|
16
|
-
may be used to endorse or promote products derived from this
|
17
|
-
software without specific prior written permission.
|
18
|
-
|
19
|
-
|
20
|
-
THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS" AND
|
21
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
22
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
23
|
-
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS
|
24
|
-
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
25
|
-
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
26
|
-
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
27
|
-
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
28
|
-
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
29
|
-
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
30
|
-
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/Rakefile
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'cucumber/rake/task'
|
2
|
-
require 'rspec/core/rake_task'
|
3
|
-
|
4
|
-
task default: %i[features spec]
|
5
|
-
|
6
|
-
Cucumber::Rake::Task.new(:features)
|
7
|
-
|
8
|
-
Cucumber::Rake::Task.new(:features_ci) do |t|
|
9
|
-
t.instance_eval { @desc << ' excluding @ci_skip' }
|
10
|
-
t.cucumber_opts = '--tags ~@ci_skip'
|
11
|
-
t.profile = 'quiet' if ENV.key? 'TRAVIS'
|
12
|
-
end
|
13
|
-
|
14
|
-
RSpec::Core::RakeTask.new do |t|
|
15
|
-
t.rspec_opts = '--format progress' if ENV.key? 'TRAVIS'
|
16
|
-
end
|
17
|
-
|
18
|
-
desc 'Run CI test suite'
|
19
|
-
task ci: %i[features_ci spec]
|
data/config/cucumber.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
@sshd
|
2
|
-
Feature: `file_append' task action
|
3
|
-
|
4
|
-
Background:
|
5
|
-
Given a remote file named "some_file" with "some content"
|
6
|
-
|
7
|
-
Scenario: appends given content to requested file
|
8
|
-
Given a recipe with:
|
9
|
-
"""
|
10
|
-
task :file_append_action do
|
11
|
-
file_append 'some_file', ' added'
|
12
|
-
end
|
13
|
-
"""
|
14
|
-
When I successfully execute the recipe on remote target
|
15
|
-
Then the remote file "some_file" must contain exactly "some content added"
|
@@ -1,24 +0,0 @@
|
|
1
|
-
@sshd
|
2
|
-
Feature: `file_replace_content' task action
|
3
|
-
|
4
|
-
Background:
|
5
|
-
Given a remote file named "some_file" with "some content"
|
6
|
-
And a remote file named "other_file" with "some content"
|
7
|
-
And a recipe with:
|
8
|
-
"""
|
9
|
-
task :file_replace_content_action_string do
|
10
|
-
file_replace_content 'some_file', 'content', 'other content'
|
11
|
-
end
|
12
|
-
|
13
|
-
task :file_replace_content_action_regexp do
|
14
|
-
file_replace_content 'other_file', /\w+\z/, 'other content'
|
15
|
-
end
|
16
|
-
"""
|
17
|
-
|
18
|
-
Scenario: replaces a string by another in the requested file
|
19
|
-
When I successfully execute the recipe on remote target
|
20
|
-
Then the remote file "some_file" must contain exactly "some other content"
|
21
|
-
|
22
|
-
Scenario: replaces a regular expression by a string in the requested file
|
23
|
-
When I successfully execute the recipe on remote target
|
24
|
-
Then the remote file "other_file" must contain exactly "some other content"
|
@@ -1,21 +0,0 @@
|
|
1
|
-
@sshd
|
2
|
-
Feature: `file_write' task action
|
3
|
-
|
4
|
-
Background:
|
5
|
-
Given a recipe with:
|
6
|
-
"""
|
7
|
-
task :file_write_action do
|
8
|
-
file_write 'some_file', 'some_content'
|
9
|
-
file_write 'some_file_0600', 'some_content', mode: 0600
|
10
|
-
file_write 'some_file_0700', 'some_content', mode: 0700
|
11
|
-
end
|
12
|
-
"""
|
13
|
-
|
14
|
-
Scenario: writes given data to given file path
|
15
|
-
When I successfully execute the recipe on remote target
|
16
|
-
Then the remote file "some_file" must contain "some_content"
|
17
|
-
|
18
|
-
Scenario: creates file with given permissions
|
19
|
-
When I successfully execute the recipe on remote target
|
20
|
-
Then the remote file "some_file_0600" must have 0600 mode
|
21
|
-
And the remote file "some_file_0700" must have 0700 mode
|
@@ -1,31 +0,0 @@
|
|
1
|
-
@sshd
|
2
|
-
Feature: `mkdir' task action
|
3
|
-
|
4
|
-
Background:
|
5
|
-
Given a recipe with:
|
6
|
-
"""
|
7
|
-
task :mkdir_action do
|
8
|
-
mkdir 'some_directory'
|
9
|
-
mkdir 'some_directory_0700', mode: 0700
|
10
|
-
mkdir 'some_directory_0711', mode: 0711
|
11
|
-
end
|
12
|
-
"""
|
13
|
-
|
14
|
-
Scenario: creates directory given as argument
|
15
|
-
When I successfully execute the recipe on remote target
|
16
|
-
Then the remote directory "some_directory" must exist
|
17
|
-
|
18
|
-
Scenario: creates directory with given attributes
|
19
|
-
When I successfully execute the recipe on remote target
|
20
|
-
Then the remote directory "some_directory_0700" must have 0700 mode
|
21
|
-
And the remote directory "some_directory_0711" must have 0711 mode
|
22
|
-
|
23
|
-
Scenario: creates directories recursively
|
24
|
-
Given a recipe with:
|
25
|
-
"""
|
26
|
-
task :mkdir_action do
|
27
|
-
mkdir 'some/directory'
|
28
|
-
end
|
29
|
-
"""
|
30
|
-
When I successfully execute the recipe on remote target
|
31
|
-
Then the remote directory "some/directory" must exist
|
data/features/actions/sh.feature
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
@sshd
|
2
|
-
Feature: `sh' task action
|
3
|
-
|
4
|
-
Scenario: forwards standard ouput
|
5
|
-
Given a recipe with:
|
6
|
-
"""
|
7
|
-
task :sh_action do
|
8
|
-
sh '\echo hello from remote'
|
9
|
-
end
|
10
|
-
"""
|
11
|
-
When I successfully execute the recipe on remote target
|
12
|
-
Then the output must contain exactly "hello from remote\n"
|
13
|
-
|
14
|
-
Scenario: forwards error ouput
|
15
|
-
Given a recipe with:
|
16
|
-
"""
|
17
|
-
task :sh_action do
|
18
|
-
sh '\echo error from remote >&2'
|
19
|
-
end
|
20
|
-
"""
|
21
|
-
When I successfully execute the recipe on remote target
|
22
|
-
Then the error output must contain exactly "error from remote\n"
|
23
|
-
|
24
|
-
Scenario: aborts on failed command execution
|
25
|
-
Given a recipe with:
|
26
|
-
"""
|
27
|
-
task :sh_action_aborting do
|
28
|
-
sh '\false'
|
29
|
-
sh '\echo after_fail'
|
30
|
-
end
|
31
|
-
"""
|
32
|
-
When I execute the recipe on remote target
|
33
|
-
Then the output must not contain "after_fail"
|
34
|
-
|
35
|
-
Scenario: prints command when execution fail
|
36
|
-
Given a recipe with:
|
37
|
-
"""
|
38
|
-
task :sh_action_command_error do
|
39
|
-
sh '\false'
|
40
|
-
end
|
41
|
-
"""
|
42
|
-
When I execute the recipe on remote target
|
43
|
-
Then the output must match /\A\w+Error:\s+\\false/
|
@@ -1,14 +0,0 @@
|
|
1
|
-
@sshd
|
2
|
-
Feature: `yaml_write' task action
|
3
|
-
|
4
|
-
Background:
|
5
|
-
Given a recipe with:
|
6
|
-
"""
|
7
|
-
task :yaml_write_action do
|
8
|
-
yaml_write 'some_file', data: { foo: 'bar' }
|
9
|
-
end
|
10
|
-
"""
|
11
|
-
|
12
|
-
Scenario: writes given data as YAML
|
13
|
-
When I successfully execute the recipe on remote target
|
14
|
-
Then the remote file "some_file" must match /^:foo: bar$/
|
data/features/cli/debug.feature
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
Feature: CLI debug option
|
2
|
-
|
3
|
-
Scenario: reports recipe errors with their cause
|
4
|
-
Given a recipe with an error
|
5
|
-
When I execute the recipe with option -d
|
6
|
-
Then the output must match /\ARecipeEvaluationError:.*\n\ncause:\nRuntimeError:/
|
7
|
-
|
8
|
-
Scenario: does not exclude anything from backtrace
|
9
|
-
Given a recipe using a remote
|
10
|
-
When I execute the recipe on unknown remote target with option -d
|
11
|
-
Then the output must contain "producer"
|
12
|
-
And the output must contain "net-ssh"
|
13
|
-
And the output must contain ruby lib directory
|
14
|
-
|
15
|
-
Scenario: enables debug mode from the environment
|
16
|
-
Given a recipe with an error
|
17
|
-
And I set the environment variable "PRODUCER_DEBUG"
|
18
|
-
When I execute the recipe
|
19
|
-
Then the output must contain "producer"
|
@@ -1,22 +0,0 @@
|
|
1
|
-
Feature: CLI dry run option
|
2
|
-
|
3
|
-
Background:
|
4
|
-
Given a recipe with:
|
5
|
-
"""
|
6
|
-
task :say_hello do
|
7
|
-
echo 'hello'
|
8
|
-
end
|
9
|
-
"""
|
10
|
-
|
11
|
-
Scenario: perfoms a trial run without applying actions
|
12
|
-
When I successfully execute the recipe with option -n
|
13
|
-
Then the output must not contain "hello"
|
14
|
-
|
15
|
-
Scenario: prints a warning before any output
|
16
|
-
When I successfully execute the recipe with option -n
|
17
|
-
Then the output must match /\AWarning: running in dry run mode, actions will NOT be applied/
|
18
|
-
|
19
|
-
Scenario: enables dry run mode from the environment
|
20
|
-
Given I set the environment variable "PRODUCER_DRYRUN"
|
21
|
-
When I successfully execute the recipe
|
22
|
-
Then the output must contain "running in dry run"
|
@@ -1,32 +0,0 @@
|
|
1
|
-
Feature: CLI error reporting
|
2
|
-
|
3
|
-
Scenario: reports recipe errors
|
4
|
-
Given a recipe with an error
|
5
|
-
When I execute the recipe
|
6
|
-
Then the exit status must be 70
|
7
|
-
And the output must match /\ARecipeEvaluationError: some error\n/
|
8
|
-
|
9
|
-
Scenario: reports errors with a backtrace
|
10
|
-
Given a recipe with an error
|
11
|
-
When I execute the recipe
|
12
|
-
Then the output must match /^\s+recipe\.rb:\d+:in /
|
13
|
-
|
14
|
-
Scenario: prepends recipe file path in the backtrace
|
15
|
-
Given a recipe with an error
|
16
|
-
When I execute the recipe
|
17
|
-
Then the output must match /^\s+recipe\.rb \(recipe\)\n\s+recipe\.rb:/
|
18
|
-
|
19
|
-
Scenario: excludes producer from backtrace
|
20
|
-
Given a recipe using a remote
|
21
|
-
When I execute the recipe on unknown remote target
|
22
|
-
Then the output must not contain "producer-core"
|
23
|
-
|
24
|
-
Scenario: excludes net-ssh from backtrace
|
25
|
-
Given a recipe using a remote
|
26
|
-
When I execute the recipe on unknown remote target
|
27
|
-
Then the output must not contain "net-ssh"
|
28
|
-
|
29
|
-
Scenario: excludes ruby standard library from backtrace
|
30
|
-
Given a recipe using a remote
|
31
|
-
When I execute the recipe on unknown remote target
|
32
|
-
Then the output must not contain ruby lib directory
|