X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fexim%2Fmanifests%2Finit.pp;h=981219abcb580fb0fdca65afc9501e14c9fae8b3;hb=7c775abc6070e79f1b812544cb96b9a422ac11fa;hp=83e56f38a7dc5d299687aaa731d148cce5c88408;hpb=de8c1d4a9a45a2b30ab58e062251fbe9f722fe1b;p=mirror%2Fdsa-puppet.git diff --git a/modules/exim/manifests/init.pp b/modules/exim/manifests/init.pp index 83e56f38a..981219abc 100644 --- a/modules/exim/manifests/init.pp +++ b/modules/exim/manifests/init.pp @@ -1,27 +1,37 @@ # our exim class -# @param smarthost host to relay through (if unset) +# @param use_smarthost use the smarthost +# @param smarthost host to relay through (if set and use_smarthost) # @param is_bugsmx this system handles bugs.debian.org # @param is_mailrelay this system is a mailrelay, both in and out, for debian hosts # @param is_rtmaster this system handles rt.debian.org # @param is_packagesmaster this system handles packagesrt.debian.org # @param is_packagesqamaster this system handles packages.qa.debian.org -# @param smarthost_port the port on which satellites send mail to the smarthost +# @param mail_port override the default incoming mailport (only applicable for hosts behind an incoming relay) +# @param smarthost_port the port on which satellites send mail to the smarthost (needs to be the same on both sides) class exim ( Optional[String] $smarthost, + Boolean $use_smarthost = true, Boolean $is_bugsmx = false, Boolean $is_mailrelay = false, Boolean $is_rtmaster = false, Boolean $is_packagesmaster = false, Boolean $is_packagesqamaster = false, Integer $smarthost_port = 587, + Optional[Integer] $mail_port = undef, ) { include exim::vdomain::setup - include debian_org::mail_incoming_port - if $smarthost and $smarthost != '' { + if $use_smarthost { $heavy = false + + if ! smarthost { + fail('No smarthost set but use_smarthost is true') + } } else { $heavy = true + if $mail_port { + fail('Cannot override mail_port in heavy/no-smarthost hosts') + } } munin::check { 'ps_exim4': script => 'ps_' } @@ -77,8 +87,10 @@ class exim ( file { '/etc/mailname': content => template('exim/mailname.erb'), } - file { '/etc/exim4/manualroute': - content => template('exim/manualroute.erb') + if ! defined(Class['exim::mailrelay']) { + file { '/etc/exim4/manualroute': + ensure => absent, + } } file { '/etc/exim4/locals': content => template('exim/locals.erb')