From 3720469ed04c750370422690ef823fe960a3a1bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20M=E4kinen?= Date: Fri, 25 Feb 2011 13:36:17 +0200 Subject: [PATCH] Initial version of procmail and spamassassin modules. --- procmail/manifests/init.pp | 68 ++++++++++++++++++++++++++++++++++ spamassassin/manifests/init.pp | 23 ++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 procmail/manifests/init.pp create mode 100644 spamassassin/manifests/init.pp diff --git a/procmail/manifests/init.pp b/procmail/manifests/init.pp new file mode 100644 index 0000000..9191621 --- /dev/null +++ b/procmail/manifests/init.pp @@ -0,0 +1,68 @@ + +# Install procmail +# +class procmail { + + package { "procmail": + ensure => present, + } + + file { "/etc/procmailrc.d": + ensure => directory, + purge => true, + force => true, + recurse => true, + mode => 0755, + owner => "root", + group => "root", + source => "puppet:///modules/custom/empty", + require => Package["procmail"], + notify => Exec["generate-procmailrc"], + } + + file { "/etc/procmailrc": + ensure => present, + mode => 0644, + owner => "root", + group => "root", + require => Package["procmail"], + } + + exec { "generate-procmailrc": + command => "( echo 'DROPPRIVS=yes' ; find /etc/procmailrc.d/*.rc -exec echo 'INCLUDERC={}' \; ) > /etc/procmailrc ; true", + path => "/bin:/usr/bin:/sbin:/usr/sbin", + refreshonly => true, + } + +} + +# Add config file to procmail +# +# === Parameters +# +# $name: +# Config file name. +# $source: +# Config file source. Defaults to "puppet:///files/procmail/$name". +# +# === Sample usage +# +# procmail::rc { "spamassassin.rc": +# source => "/etc/mail/spamassassin/spamassassin-spamc.rc", +# } +# +define procmail::rc($source = "AUTO") { + + file { "/etc/procmailrc.d/${name}": + ensure => present, + source => $source ? { + "AUTO" => "puppet:///files/procmail/${name}", + default => $source, + }, + mode => 0644, + owner => root, + group => root, + notify => Exec["generate-procmailrc"], + } + +} diff --git a/spamassassin/manifests/init.pp b/spamassassin/manifests/init.pp new file mode 100644 index 0000000..ae8d71d --- /dev/null +++ b/spamassassin/manifests/init.pp @@ -0,0 +1,23 @@ + +# Install spamassassin common components +# +class spamassassin::common { + + package { "spamassassin": + ensure => present, + } + +} + +# Install spamassassin using procmail +# +class spamassassin::procmail inherits spamassassin::common { + + include procmail + + procmail::rc { "spamassassin.rc": + source => "/etc/mail/spamassassin/spamassassin-spamc.rc", + require => Package["spamassassin"], + } + +}