kitchen-puppet 0.0.22 → 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
@@ -127,6 +127,8 @@ module Kitchen
|
|
127
127
|
provisioner.calculate_path('hiera_keys')
|
128
128
|
end
|
129
129
|
|
130
|
+
default_config :hiera_deep_merge, false
|
131
|
+
|
130
132
|
def calculate_path(path, type = :directory)
|
131
133
|
base = config[:test_base_path]
|
132
134
|
candidates = []
|
@@ -159,6 +161,7 @@ module Kitchen
|
|
159
161
|
do_download #{config[:puppet_omnibus_url]} /tmp/puppet_install.sh
|
160
162
|
#{sudo('sh')} /tmp/puppet_install.sh #{version}
|
161
163
|
fi
|
164
|
+
#{install_deep_merge}
|
162
165
|
#{install_busser}
|
163
166
|
INSTALL
|
164
167
|
else
|
@@ -173,6 +176,8 @@ module Kitchen
|
|
173
176
|
#{sudo_env('apt-get')} -y install puppet-common#{puppet_debian_version}
|
174
177
|
#{sudo_env('apt-get')} -y install puppet#{puppet_debian_version}
|
175
178
|
fi
|
179
|
+
#{install_eyaml}
|
180
|
+
#{install_deep_merge}
|
176
181
|
#{install_busser}
|
177
182
|
INSTALL
|
178
183
|
when 'redhat', 'centos', 'fedora', 'oracle', 'amazon'
|
@@ -183,6 +188,8 @@ module Kitchen
|
|
183
188
|
#{update_packages_redhat_cmd}
|
184
189
|
#{sudo_env('yum')} -y install puppet#{puppet_redhat_version}
|
185
190
|
fi
|
191
|
+
#{install_eyaml}
|
192
|
+
#{install_deep_merge}
|
186
193
|
#{install_busser}
|
187
194
|
INSTALL
|
188
195
|
else
|
@@ -208,19 +215,30 @@ module Kitchen
|
|
208
215
|
fi
|
209
216
|
fi
|
210
217
|
#{install_eyaml}
|
218
|
+
#{install_deep_merge}
|
211
219
|
#{install_busser}
|
212
220
|
INSTALL
|
213
221
|
end
|
214
222
|
end
|
215
223
|
end
|
216
224
|
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
|
225
|
+
def install_deep_merge
|
226
|
+
return unless config[:hiera_deep_merge]
|
227
|
+
<<-INSTALL
|
228
|
+
# Support for hash merge lookups to recursively merge hash keys
|
229
|
+
if [[ $(#{sudo('gem')} list deep_merge -i) == 'false' ]]; then
|
230
|
+
echo '-----> Installing deep_merge to provide deep_merge of hiera hashes'
|
231
|
+
#{sudo('gem')} install #{gem_proxy_parm} --no-ri --no-rdoc deep_merge
|
232
|
+
fi
|
233
|
+
INSTALL
|
234
|
+
end
|
217
235
|
|
218
236
|
def install_eyaml
|
219
237
|
return unless config[:hiera_eyaml]
|
220
238
|
<<-INSTALL
|
221
239
|
# A backend for Hiera that provides per-value asymmetric encryption of sensitive data
|
222
240
|
if [[ $(#{sudo('gem')} list hiera-eyaml -i) == 'false' ]]; then
|
223
|
-
echo
|
241
|
+
echo '-----> Installing hiera-eyaml to provide encryption of hiera data'
|
224
242
|
#{sudo('gem')} install #{gem_proxy_parm} --no-ri --no-rdoc hiera-eyaml
|
225
243
|
fi
|
226
244
|
INSTALL
|
@@ -236,7 +254,7 @@ module Kitchen
|
|
236
254
|
# whole chef client
|
237
255
|
if [ ! -d "/opt/chef" ]
|
238
256
|
then
|
239
|
-
echo
|
257
|
+
echo '-----> Installing Chef Omnibus to install busser to run tests'
|
240
258
|
do_download #{chef_url} /tmp/install.sh
|
241
259
|
#{sudo('sh')} /tmp/install.sh
|
242
260
|
fi
|
@@ -433,6 +451,10 @@ module Kitchen
|
|
433
451
|
config[:hiera_eyaml_key_remote_path]
|
434
452
|
end
|
435
453
|
|
454
|
+
def hiera_deep_merge
|
455
|
+
config[:hiera_deep_merge]
|
456
|
+
end
|
457
|
+
|
436
458
|
def librarian_puppet_ssl_file
|
437
459
|
config[:librarian_puppet_ssl_file]
|
438
460
|
end
|
data/provisioner_options.md
CHANGED
@@ -38,6 +38,7 @@ remove_puppet_repo | false | remove copy of puppet repository and puppet configu
|
|
38
38
|
hiera_eyaml | false | use hiera-eyaml to encrypt hiera data
|
39
39
|
hiera_eyaml_key_remote_path | "/etc/puppet/secure/keys" | directory of hiera-eyaml keys on server
|
40
40
|
hiera_eyaml_key_path | "hiera_keys" | directory of hiera-eyaml keys on workstation
|
41
|
+
hiera_deep_merge | false | install the deep_merge gem to support hiera deep merge mode
|
41
42
|
facter_file | nil | yaml file of custom facter_files to be provided to the puppet-apply command
|
42
43
|
http_proxy | nil | use http proxy when installing puppet and packages
|
43
44
|
puppet_logdest | nil | _Array_ of log destinations. Include 'console' if wanted
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-puppet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.23
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-02-
|
12
|
+
date: 2015-02-25 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! '== DESCRIPTION:
|
15
15
|
|