diff options
Diffstat (limited to 'puppet/modules/postfix/manifests/satellite.pp')
-rw-r--r-- | puppet/modules/postfix/manifests/satellite.pp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/puppet/modules/postfix/manifests/satellite.pp b/puppet/modules/postfix/manifests/satellite.pp new file mode 100644 index 00000000..c6c1a0e4 --- /dev/null +++ b/puppet/modules/postfix/manifests/satellite.pp @@ -0,0 +1,49 @@ +# +# == Class: postfix::satellite +# +# This class configures all local email (cron, mdadm, etc) to be forwarded +# to $root_mail_recipient, using $postfix_relayhost as a relay. +# +# $valid_fqdn can be set to override $fqdn in the case where the FQDN is +# not recognized as valid by the destination server. +# +# Parameters: +# - *valid_fqdn* +# - every global variable which works for class "postfix" will work here. +# +# Example usage: +# +# node "toto.local.lan" { +# class { 'postfix::satellite': +# relayhost => "mail.example.com" +# valid_fqdn => "toto.example.com" +# root_mail_recipient => "the.sysadmin@example.com" +# } +# } +# +class postfix::satellite( + $relayhost = '', + $valid_fqdn = $::fqdn, + $root_mail_recipient = '' +) { + + # If $valid_fqdn is provided, use it to override $fqdn + if $valid_fqdn != $::fdqn { + $fqdn = $valid_fqdn + } + + class { 'postfix': + root_mail_recipient => $root_mail_recipient, + myorigin => $valid_fqdn, + mailname => $valid_fqdn + } + + class { 'postfix::mta': + relayhost => $relayhost, + } + + postfix::virtual {"@${valid_fqdn}": + ensure => present, + destination => "root", + } +} |