summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--files/spamassassin/default31
-rw-r--r--manifests/amavisd.pp2
-rw-r--r--manifests/spamassassin.pp16
-rw-r--r--manifests/system.pp1
4 files changed, 49 insertions, 1 deletions
diff --git a/files/spamassassin/default b/files/spamassassin/default
new file mode 100644
index 0000000..dc44da0
--- /dev/null
+++ b/files/spamassassin/default
@@ -0,0 +1,31 @@
+# /etc/default/spamassassin
+# Duncan Findlay
+
+# WARNING: please read README.spamd before using.
+# There may be security risks.
+
+# Change to one to enable spamd
+ENABLED=1
+
+# Options
+# See man spamd for possible options. The -d option is automatically added.
+
+# SpamAssassin uses a preforking model, so be careful! You need to
+# make sure --max-children is not set to anything higher than 5,
+# unless you know what you're doing.
+
+OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
+
+# Pid file
+# Where should spamd write its PID to file? If you use the -u or
+# --username option above, this needs to be writable by that user.
+# Otherwise, the init script will not be able to shut spamd down.
+PIDFILE="/var/run/spamd.pid"
+
+# Set nice level of spamd
+#NICE="--nicelevel 15"
+
+# Cronjob
+# Set to anything but 0 to enable the cron job to automatically update
+# spamassassin's rules on a nightly basis
+CRON=0
diff --git a/manifests/amavisd.pp b/manifests/amavisd.pp
index 8617918..7c0bcb0 100644
--- a/manifests/amavisd.pp
+++ b/manifests/amavisd.pp
@@ -1,7 +1,7 @@
class mail::amavisd {
service { "amavisd":
ensure => running,
- require => Package['amavisd-new'],
+ require => [ Package['amavisd-new'], Service['clamav-daemon', 'spamassassin'] ],
}
service { "freshclam":
diff --git a/manifests/spamassassin.pp b/manifests/spamassassin.pp
new file mode 100644
index 0000000..a7d387b
--- /dev/null
+++ b/manifests/spamassassin.pp
@@ -0,0 +1,16 @@
+class mail::spamassassin {
+ file { '/etc/default/spamassassin':
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 0644,
+ source => "puppet:///modules/mail/spamassassin/default",
+ require => Package['spamassassin'],
+ }
+
+ service { 'spamassassin':
+ ensure => running,
+ enabled => true,
+ require => File['/etc/default/spamassassin'],
+ }
+}
diff --git a/manifests/system.pp b/manifests/system.pp
index bea848a..9a67de4 100644
--- a/manifests/system.pp
+++ b/manifests/system.pp
@@ -25,6 +25,7 @@ class mail::system {
include mail::amavisd
include mail::header_checks
include mail::clamav
+ include mail::spamassassin
# Virtual mail system
case $mail_virtual {