Skip to content

Commit 5886615

Browse files
committed
Add parameter to allow purging plugins, handlers, extensions and mutators
The default behaviour is not to purge, matching the existing behaviour.
1 parent c989c97 commit 5886615

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

manifests/init.pp

+7-1
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,11 @@
175175
# Default: false
176176
# Valid values: true, false
177177
#
178+
# [*purge_scripts*]
179+
# Boolean. If unused plugins, handlers, extensions and mutators should be removed from the system
180+
# Default: false
181+
# Valid values: true, false
182+
#
178183
# [*use_embedded_ruby*]
179184
# Boolean. If the embedded ruby should be used
180185
# Default: false
@@ -234,14 +239,15 @@
234239
$plugins = [],
235240
$plugins_dir = undef,
236241
$purge_config = false,
242+
$purge_scripts = false,
237243
$use_embedded_ruby = false,
238244
$rubyopt = '',
239245
$gem_path = '',
240246
$log_level = 'info',
241247
$dashboard = false,
242248
){
243249

244-
validate_bool($client, $server, $api, $install_repo, $purge_config, $safe_mode, $manage_services)
250+
validate_bool($client, $server, $api, $install_repo, $purge_config, $purge_scripts, $safe_mode, $manage_services)
245251

246252
validate_re($repo, ['^main$', '^unstable$'], "Repo must be 'main' or 'unstable'. Found: ${repo}")
247253
validate_re($version, ['^absent$', '^installed$', '^latest$', '^present$', '^[\d\.\-]+$'], "Invalid package version: ${version}")

manifests/package.pp

+4
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@
7575
mode => '0555',
7676
owner => 'sensu',
7777
group => 'sensu',
78+
recurse => true,
79+
purge => $sensu::purge_scripts,
7880
require => Package['sensu'],
7981
}
8082

@@ -84,6 +86,8 @@
8486
mode => '0555',
8587
owner => 'sensu',
8688
group => 'sensu',
89+
recurse => true,
90+
purge => $sensu::purge_scripts,
8791
require => Package['sensu'],
8892
}
8993
}

spec/classes/sensu_package_spec.rb

+21
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@
1414
:purge => false
1515
) }
1616
end
17+
[ '/etc/sensu/handlers', '/etc/sensu/extensions', '/etc/sensu/mutators',
18+
'/etc/sensu/extensions/handlers', '/etc/sensu/plugins' ].each do |dir|
19+
it { should contain_file(dir).with(
20+
:ensure => 'directory',
21+
:recurse => true,
22+
:purge => false
23+
) }
24+
end
1725
it { should contain_file('/etc/sensu/config.json').with_ensure('absent') }
1826
it { should contain_user('sensu') }
1927
it { should contain_group('sensu') }
@@ -153,6 +161,19 @@
153161
end
154162

155163
end
164+
165+
context 'purge_scripts' do
166+
let(:params) { { :purge_scripts => true } }
167+
168+
[ '/etc/sensu/handlers', '/etc/sensu/extensions', '/etc/sensu/mutators',
169+
'/etc/sensu/extensions/handlers', '/etc/sensu/plugins' ].each do |dir|
170+
it { should contain_file(dir).with(
171+
:ensure => 'directory',
172+
:recurse => true,
173+
:purge => true
174+
) }
175+
end
176+
end
156177
end
157178

158179
end

0 commit comments

Comments
 (0)