module-postfix/manifests/satellite.pp
varac 5d25ec9d1e fix postfix::satellite class
i got this error using postfix:📡

  Error: Could not retrieve catalog from remote server: Error 400 on
  SERVER: Cannot reassign variable valid_fqdn at
  /etc/puppet/modules/postfix/manifests/satellite.pp:32 …

reassigning a variable within a given scope doesn't work in puppet
see https://docs.puppetlabs.com/puppet/latest/reference/lang_variables.html#no-reassignment

i still think overriding $::fqdn is not a good idea, but for now,
i just want to get this class working again.
2015-03-05 09:23:57 +01:00

48 lines
1.1 KiB
Puppet

#
# == 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,
}
class { 'postfix::mta':
relayhost => $relayhost,
}
postfix::virtual {"@${valid_fqdn}":
ensure => present,
destination => "root",
}
}