diff --git a/spamassassin/manifests/init.pp b/spamassassin/manifests/init.pp index 229ce17..54d91af 100644 --- a/spamassassin/manifests/init.pp +++ b/spamassassin/manifests/init.pp @@ -16,10 +16,12 @@ class spamassassin::common { } + # Install spamassassin using procmail # -class spamassassin::procmail inherits spamassassin::common { +class spamassassin::procmail { + include spamassassin::common include procmail procmail::rc { "spamassassin.rc": @@ -28,3 +30,48 @@ class spamassassin::procmail inherits spamassassin::common { } } + + +# Install spamassassin milter +# +# === Parameters +# +# $options: +# Extra options for spamass-milter. +# +class spamassassin::milter($options="") { + + include spamassassin::common + + $sendmail_milter = [ + # filter name + 'spamass', + # filter options + 'S=unix:/var/run/spamass-milter/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m', + ] + + package { "spamass-milter": + ensure => installed, + } + + case $::operatingsystem { + "centos","redhat","fedora": { + augeas { "set-spamass-milter-sysconfig": + changes => "set EXTRA_FLAGS '${options}'", + incl => "/etc/sysconfig/spamass-milter", + lens => "Shellvars.lns", + require => Package["spamass-milter"], + notify => Service["spamass-milter"], + } + } + default: { + fail("spamassassin::milter not supported on ${::operatingsystem}") + } + } + + service { "spamass-milter": + ensure => running, + enable => true, + } + +}