diff options
Diffstat (limited to 'manifests/sieve.pp')
-rw-r--r-- | manifests/sieve.pp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/manifests/sieve.pp b/manifests/sieve.pp new file mode 100644 index 0000000..4b5068d --- /dev/null +++ b/manifests/sieve.pp @@ -0,0 +1,42 @@ +class dovecot::sieve { + include ::dovecot + package{'dovecot-sieve': + ensure => installed, + before => Service['dovecot'], + } + + file{'/var/lib/dovecot-sieve': + ensure => directory, + owner => root, group => 0, mode => 0644; + } + file{'/var/lib/dovecot-sieve/global': + source => [ "puppet://$server/modules/site-dovecot/sieve/${fqdn}/global/", + "puppet://$server/modules/site-dovecot/sieve/global/", + "puppet://$server/modules/site/sieve/${operatingsystem}/global/", + "puppet://$server/modules/site/sieve/global/", + "puppet://$server/modules/common/empty/" ], + ensure => directory, + recurse => true, + purge => true, + force => true, + notify => Exec['compile_global_sieve'], + owner => root, group => root, mode => 0644; + } + file{'/var/lib/dovecot-sieve/default.sieve': + source => [ "puppet://$server/modules/site-dovecot/sieve/${fqdn}/default.sieve", + "puppet://$server/modules/site-dovecot/sieve/default.sieve", + "puppet://$server/modules/site/sieve/${operatingsystem}/default.sieve", + "puppet://$server/modules/site/sieve/default.sieve" ], + notify => Exec['compile_default_sieve'], + owner => root, group => root, mode => 0644; + } + + exec{'compile_default_sieve': + command => 'sievec /var/lib/dovecot-sieve/default.sieve', + refreshonly => true, + } + exec{'compile_global_sieve': + command => 'sievec /var/lib/dovecot-sieve/global/', + refreshonly => true, + } +} |