packer-config 0.0.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +2 -0
  4. data/COPYRIGHT +10 -0
  5. data/Gemfile +0 -14
  6. data/README.md +20 -9
  7. data/RELEASENOTES.md +8 -0
  8. data/Rakefile +0 -14
  9. data/lib/packer-config.rb +1 -14
  10. data/lib/packer/builder.rb +5 -15
  11. data/lib/packer/builders/all.rb +2 -14
  12. data/lib/packer/builders/amazon.rb +0 -13
  13. data/lib/packer/builders/docker.rb +1 -14
  14. data/lib/packer/builders/null.rb +40 -0
  15. data/lib/packer/builders/virtualbox.rb +1 -14
  16. data/lib/packer/dataobject.rb +0 -14
  17. data/lib/packer/envvar.rb +1 -15
  18. data/lib/packer/macro.rb +1 -15
  19. data/lib/packer/postprocessor.rb +0 -13
  20. data/lib/packer/postprocessors/all.rb +1 -14
  21. data/lib/packer/postprocessors/docker.rb +1 -14
  22. data/lib/packer/postprocessors/vagrant.rb +1 -14
  23. data/lib/packer/provisioner.rb +24 -19
  24. data/lib/packer/provisioners/all.rb +7 -14
  25. data/lib/packer/provisioners/ansible.rb +55 -0
  26. data/lib/packer/provisioners/chef/client.rb +75 -0
  27. data/lib/packer/provisioners/chef/solo.rb +67 -0
  28. data/lib/packer/provisioners/file.rb +1 -14
  29. data/lib/packer/provisioners/puppet/masterless.rb +48 -0
  30. data/lib/packer/provisioners/puppet/server.rb +47 -0
  31. data/lib/packer/provisioners/salt.rb +39 -0
  32. data/lib/packer/provisioners/shell.rb +1 -14
  33. data/packer-config.gemspec +4 -17
  34. data/spec/integration/centos_vagrant_spec.rb +4 -4
  35. data/spec/packer/builder_spec.rb +1 -14
  36. data/spec/packer/builders/amazon_spec.rb +1 -14
  37. data/spec/packer/builders/docker_spec.rb +1 -14
  38. data/spec/packer/builders/null_spec.rb +25 -0
  39. data/spec/packer/builders/virtualbox_spec.rb +1 -14
  40. data/spec/packer/dataobject_spec.rb +0 -13
  41. data/spec/packer/envvar_spec.rb +1 -14
  42. data/spec/packer/macro_spec.rb +1 -14
  43. data/spec/packer/postprocessor_spec.rb +1 -14
  44. data/spec/packer/postprocessors/docker_import_spec.rb +1 -14
  45. data/spec/packer/postprocessors/docker_push_spec.rb +1 -14
  46. data/spec/packer/postprocessors/vagrant_spec.rb +1 -14
  47. data/spec/packer/provisioner_spec.rb +2 -15
  48. data/spec/packer/provisioners/ansible_spec.rb +48 -0
  49. data/spec/packer/provisioners/chef/client_spec.rb +66 -0
  50. data/spec/packer/provisioners/chef/solo_spec.rb +98 -0
  51. data/spec/packer/provisioners/file_spec.rb +1 -14
  52. data/spec/packer/provisioners/puppet/masterless_spec.rb +141 -0
  53. data/spec/packer/provisioners/puppet/server_spec.rb +137 -0
  54. data/spec/packer/provisioners/salt_spec.rb +114 -0
  55. data/spec/packer/provisioners/shell_spec.rb +1 -14
  56. data/spec/packer/runner_spec.rb +0 -13
  57. data/spec/packer_config_spec.rb +0 -13
  58. data/spec/spec_helper.rb +0 -13
  59. data/spec/unit_helper.rb +0 -13
  60. metadata +27 -4
@@ -0,0 +1,114 @@
1
+ # Encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ RSpec.describe Packer::Provisioner::Salt do
5
+ let(:provisioner) do
6
+ Packer::Provisioner.get_provisioner('salt-masterless')
7
+ end
8
+
9
+ let(:some_string) do
10
+ 'some string'
11
+ end
12
+
13
+ let(:some_array_of_strings) do
14
+ %w[commmand1 command2]
15
+ end
16
+
17
+ let(:some_array_of_ints) do
18
+ [1, 2, 3]
19
+ end
20
+
21
+ let(:some_hash_of_strings) do
22
+ {a: 'foo', b: 'bar'}
23
+ end
24
+
25
+ it 'requires a local_state_tree setting' do
26
+ expect{ provisioner.validate }.to raise_error
27
+ end
28
+
29
+ describe '#initialize' do
30
+ it 'has a type of salt-masterless' do
31
+ expect(provisioner.data['type']).to eq('salt-masterless')
32
+ end
33
+ end
34
+
35
+ describe '#bootstrap_args' do
36
+ it 'accepts a string' do
37
+ provisioner.bootstrap_args some_string
38
+ expect(provisioner.data['bootstrap_args']).to eq(some_string)
39
+ provisioner.data.delete('bootstrap_args')
40
+ end
41
+
42
+ it 'converts any argument passed to a string' do
43
+ provisioner.bootstrap_args some_array_of_ints
44
+ expect(provisioner.data['bootstrap_args']).to eq(some_array_of_ints.to_s)
45
+ provisioner.data.delete('bootstrap_args')
46
+ end
47
+ end
48
+
49
+ describe '#local_pillar_roots' do
50
+ it 'accepts a string' do
51
+ provisioner.local_pillar_roots some_string
52
+ expect(provisioner.data['local_pillar_roots']).to eq(some_string)
53
+ provisioner.data.delete('local_pillar_roots')
54
+ end
55
+
56
+ it 'converts any argument passed to a string' do
57
+ provisioner.local_pillar_roots some_array_of_ints
58
+ expect(provisioner.data['local_pillar_roots']).to eq(some_array_of_ints.to_s)
59
+ provisioner.data.delete('local_pillar_roots')
60
+ end
61
+ end
62
+
63
+ describe '#local_state_tree' do
64
+ it 'accepts a string' do
65
+ provisioner.local_state_tree some_string
66
+ expect(provisioner.data['local_state_tree']).to eq(some_string)
67
+ provisioner.data.delete('local_state_tree')
68
+ end
69
+
70
+ it 'converts any argument passed to a string' do
71
+ provisioner.local_state_tree some_array_of_ints
72
+ expect(provisioner.data['local_state_tree']).to eq(some_array_of_ints.to_s)
73
+ provisioner.data.delete('local_state_tree')
74
+ end
75
+ end
76
+
77
+ describe '#minion_config' do
78
+ it 'accepts a string' do
79
+ provisioner.minion_config some_string
80
+ expect(provisioner.data['minion_config']).to eq(some_string)
81
+ provisioner.data.delete('minion_config')
82
+ end
83
+
84
+ it 'converts any argument passed to a string' do
85
+ provisioner.minion_config some_array_of_ints
86
+ expect(provisioner.data['minion_config']).to eq(some_array_of_ints.to_s)
87
+ provisioner.data.delete('minion_config')
88
+ end
89
+ end
90
+
91
+ describe '#temp_config_dir' do
92
+ it 'accepts a string' do
93
+ provisioner.temp_config_dir some_string
94
+ expect(provisioner.data['temp_config_dir']).to eq(some_string)
95
+ provisioner.data.delete('temp_config_dir')
96
+ end
97
+
98
+ it 'converts any argument passed to a string' do
99
+ provisioner.temp_config_dir some_array_of_ints
100
+ expect(provisioner.data['temp_config_dir']).to eq(some_array_of_ints.to_s)
101
+ provisioner.data.delete('temp_config_dir')
102
+ end
103
+ end
104
+
105
+ describe '#skip_bootstrap' do
106
+ it 'accepts a boolean' do
107
+ provisioner.skip_bootstrap(true)
108
+ expect(provisioner.data['skip_bootstrap']).to be_truthy
109
+ provisioner.skip_bootstrap(false)
110
+ expect(provisioner.data['skip_bootstrap']).to be_falsey
111
+ provisioner.data.delete('skip_bootstrap')
112
+ end
113
+ end
114
+ end
@@ -1,17 +1,4 @@
1
1
  # Encoding: utf-8
2
- # Copyright 2014 Ian Chesal
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
2
  require 'spec_helper'
16
3
 
17
4
  RSpec.describe Packer::Provisioner::Shell do
@@ -24,7 +11,7 @@ RSpec.describe Packer::Provisioner::Shell do
24
11
  end
25
12
 
26
13
  let(:some_array_of_strings) do
27
- %w[commmand1 command2]
14
+ %w[command1 command2]
28
15
  end
29
16
 
30
17
  let(:some_array_of_ints) do
@@ -1,17 +1,4 @@
1
1
  # Encoding: utf-8
2
- # Copyright 2014 Ian Chesal
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
2
  require 'spec_helper'
16
3
  require 'fakefs/spec_helpers'
17
4
 
@@ -1,17 +1,4 @@
1
1
  # Encoding: utf-8
2
- # Copyright 2014 Ian Chesal
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
2
  require 'spec_helper'
16
3
  require 'fakefs/spec_helpers'
17
4
 
data/spec/spec_helper.rb CHANGED
@@ -1,17 +1,4 @@
1
1
  # Encoding: utf-8
2
- # Copyright 2014 Ian Chesal
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
2
  require 'packer-config'
16
3
 
17
4
  # RSpec.configure do |c|
data/spec/unit_helper.rb CHANGED
@@ -1,15 +1,2 @@
1
1
  # Encoding: utf-8
2
- # Copyright 2014 Ian Chesal
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
2
  require 'spec_helper'
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packer-config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ian Chesal
8
+ - Fraser Cobb
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-12-14 00:00:00.000000000 Z
12
+ date: 2015-02-26 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
@@ -102,7 +103,7 @@ description: |
102
103
  correct JSON format. It also saved me having to remember the esoteric Packer
103
104
  syntax for referencing variables and whatnot in the JSON.
104
105
  email:
105
- - ian.chesal@gmail.colm
106
+ - ian.chesal@gmail.com
106
107
  executables: []
107
108
  extensions: []
108
109
  extra_rdoc_files: []
@@ -110,6 +111,7 @@ files:
110
111
  - ".gitignore"
111
112
  - ".rubocop.yml"
112
113
  - ".travis.yml"
114
+ - COPYRIGHT
113
115
  - Gemfile
114
116
  - LICENSE
115
117
  - README.md
@@ -121,6 +123,7 @@ files:
121
123
  - lib/packer/builders/all.rb
122
124
  - lib/packer/builders/amazon.rb
123
125
  - lib/packer/builders/docker.rb
126
+ - lib/packer/builders/null.rb
124
127
  - lib/packer/builders/virtualbox.rb
125
128
  - lib/packer/dataobject.rb
126
129
  - lib/packer/envvar.rb
@@ -131,7 +134,13 @@ files:
131
134
  - lib/packer/postprocessors/vagrant.rb
132
135
  - lib/packer/provisioner.rb
133
136
  - lib/packer/provisioners/all.rb
137
+ - lib/packer/provisioners/ansible.rb
138
+ - lib/packer/provisioners/chef/client.rb
139
+ - lib/packer/provisioners/chef/solo.rb
134
140
  - lib/packer/provisioners/file.rb
141
+ - lib/packer/provisioners/puppet/masterless.rb
142
+ - lib/packer/provisioners/puppet/server.rb
143
+ - lib/packer/provisioners/salt.rb
135
144
  - lib/packer/provisioners/shell.rb
136
145
  - lib/packer/runner.rb
137
146
  - packer-config.gemspec
@@ -151,6 +160,7 @@ files:
151
160
  - spec/packer/builder_spec.rb
152
161
  - spec/packer/builders/amazon_spec.rb
153
162
  - spec/packer/builders/docker_spec.rb
163
+ - spec/packer/builders/null_spec.rb
154
164
  - spec/packer/builders/virtualbox_spec.rb
155
165
  - spec/packer/dataobject_spec.rb
156
166
  - spec/packer/envvar_spec.rb
@@ -160,7 +170,13 @@ files:
160
170
  - spec/packer/postprocessors/docker_push_spec.rb
161
171
  - spec/packer/postprocessors/vagrant_spec.rb
162
172
  - spec/packer/provisioner_spec.rb
173
+ - spec/packer/provisioners/ansible_spec.rb
174
+ - spec/packer/provisioners/chef/client_spec.rb
175
+ - spec/packer/provisioners/chef/solo_spec.rb
163
176
  - spec/packer/provisioners/file_spec.rb
177
+ - spec/packer/provisioners/puppet/masterless_spec.rb
178
+ - spec/packer/provisioners/puppet/server_spec.rb
179
+ - spec/packer/provisioners/salt_spec.rb
164
180
  - spec/packer/provisioners/shell_spec.rb
165
181
  - spec/packer/runner_spec.rb
166
182
  - spec/packer_config_spec.rb
@@ -178,7 +194,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
178
194
  requirements:
179
195
  - - ">="
180
196
  - !ruby/object:Gem::Version
181
- version: '0'
197
+ version: 2.0.0
182
198
  required_rubygems_version: !ruby/object:Gem::Requirement
183
199
  requirements:
184
200
  - - ">="
@@ -207,6 +223,7 @@ test_files:
207
223
  - spec/packer/builder_spec.rb
208
224
  - spec/packer/builders/amazon_spec.rb
209
225
  - spec/packer/builders/docker_spec.rb
226
+ - spec/packer/builders/null_spec.rb
210
227
  - spec/packer/builders/virtualbox_spec.rb
211
228
  - spec/packer/dataobject_spec.rb
212
229
  - spec/packer/envvar_spec.rb
@@ -216,7 +233,13 @@ test_files:
216
233
  - spec/packer/postprocessors/docker_push_spec.rb
217
234
  - spec/packer/postprocessors/vagrant_spec.rb
218
235
  - spec/packer/provisioner_spec.rb
236
+ - spec/packer/provisioners/ansible_spec.rb
237
+ - spec/packer/provisioners/chef/client_spec.rb
238
+ - spec/packer/provisioners/chef/solo_spec.rb
219
239
  - spec/packer/provisioners/file_spec.rb
240
+ - spec/packer/provisioners/puppet/masterless_spec.rb
241
+ - spec/packer/provisioners/puppet/server_spec.rb
242
+ - spec/packer/provisioners/salt_spec.rb
220
243
  - spec/packer/provisioners/shell_spec.rb
221
244
  - spec/packer/runner_spec.rb
222
245
  - spec/packer_config_spec.rb