diff --git a/manifests/init.pp b/manifests/init.pp index 35abba6aaf..0d51c329fa 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -85,6 +85,11 @@ # Default: true # Valid values: true, false # +# [*manage_handlers_dir*] +# Boolean. Manage the sensu handlers directory +# Default: true +# Valid values: true, false +# # [*rabbitmq_port*] # Integer. Rabbitmq port to be used by sensu # Default: 5672 @@ -280,6 +285,7 @@ $manage_services = true, $manage_user = true, $manage_plugins_dir = true, + $manage_handlers_dir = true, $rabbitmq_port = 5672, $rabbitmq_host = 'localhost', $rabbitmq_user = 'sensu', diff --git a/manifests/package.pp b/manifests/package.pp index d4cabaca4b..e8f62a9ee0 100644 --- a/manifests/package.pp +++ b/manifests/package.pp @@ -78,15 +78,17 @@ require => Package['sensu'], } - file { '/etc/sensu/handlers': - ensure => directory, - mode => '0555', - owner => 'sensu', - group => 'sensu', - purge => $sensu::_purge_handlers, - recurse => true, - force => true, - require => Package['sensu'], + if $sensu::manage_handlers_dir { + file { '/etc/sensu/handlers': + ensure => directory, + mode => '0555', + owner => 'sensu', + group => 'sensu', + purge => $sensu::_purge_handlers, + recurse => true, + force => true, + require => Package['sensu'], + } } file { ['/etc/sensu/extensions', '/etc/sensu/extensions/handlers']: diff --git a/spec/classes/sensu_package_spec.rb b/spec/classes/sensu_package_spec.rb index 0f91c4d536..e645231c6d 100644 --- a/spec/classes/sensu_package_spec.rb +++ b/spec/classes/sensu_package_spec.rb @@ -208,4 +208,22 @@ end + context 'directories' do + context 'manage handlers directory' do + let(:params) { { :manage_handlers_dir => true } } + it { should contain_file('/etc/sensu/handlers').with( + :ensure => 'directory', + :mode => '0555', + :owner => 'sensu', + :group => 'sensu', + :recurse => true, + :force => true + ) } + end + + context 'do not manage handlers directory' do + let (:params) { { :manage_handlers_dir => false }} + it { should_not contain_file('/etc/sensu/handlers') } + end + end end