puppet/spamassassin/manifests/init.pp
2013-07-20 19:04:38 +03:00

77 lines
1.6 KiB
Puppet

# Install spamassassin common components
#
class spamassassin::common {
package { "spamassassin":
ensure => present,
}
service { "spamassassin":
ensure => running,
enable => true,
hasstatus => true,
require => Package["spamassassin"],
}
}
# Install spamassassin using procmail
#
class spamassassin::procmail {
include spamassassin::common
include procmail
procmail::rc { "spamassassin.rc":
source => "/etc/mail/spamassassin/spamassassin-spamc.rc",
require => Package["spamassassin"],
}
}
# 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,
}
}