X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fexim%2Fmanifests%2Finit.pp;h=18ad406f01541b1814a573ba1450f28c47992727;hb=f1c1f8989e7404dbb5139855407b647544179c14;hp=fec2db5557fee9231dbfc964f214edf52906aaec;hpb=404edcd3bddf15af30b55ff0d76eb2e2d9f5a970;p=mirror%2Fdsa-puppet.git diff --git a/modules/exim/manifests/init.pp b/modules/exim/manifests/init.pp index fec2db555..18ad406f0 100644 --- a/modules/exim/manifests/init.pp +++ b/modules/exim/manifests/init.pp @@ -1,13 +1,36 @@ +# our exim class +# @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 packages.debian.org +# @param is_packagesqamaster this system handles packages.qa.debian.org +# @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 $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_' } munin::check { 'exim_mailqueue': } @@ -21,12 +44,6 @@ class exim ( Package['exim4-daemon-heavy']->Mailalias<| |> - concat::fragment { 'virtual_domain_template': - target => '/etc/exim4/virtualdomains', - content => template('exim/virtualdomains.erb'), - order => '05', - } - service { 'exim4': ensure => running, require => [ @@ -62,15 +79,26 @@ class exim ( file { '/etc/mailname': content => template('exim/mailname.erb'), } - file { '/etc/exim4/manualroute': - content => template('exim/manualroute.erb') + + concat { '/etc/exim4/virtualdomains': } + concat::fragment { 'virtualdomains_header': + target => '/etc/exim4/virtualdomains', + content => template('exim/virtualdomains.header.erb'), + order => '00', } + file { '/etc/exim4/locals': content => template('exim/locals.erb') } - file { '/etc/exim4/submission-domains': - content => template('exim/submission-domains.erb'), + + concat { '/etc/exim4/submission-domains': + ensure_newline => true, + warn => @(EOF), + ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. + | EOF + target => '/etc/exim4/submission-domains', } + file { '/etc/exim4/host_blacklist': source => 'puppet:///modules/exim/common/host_blacklist', }