77 lines
1.6 KiB
Puppet
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,
|
|
}
|
|
|
|
}
|