packer-config 0.0.4 → 1.0.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 (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