summaryrefslogtreecommitdiff
path: root/puppet/modules/postfix/manifests/satellite.pp
blob: c6c1a0e4aabf44339bf517d599f295a3ac986ed1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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",
  }
}