split out some exim::mx config into a new exim::mailrelay
[mirror/dsa-puppet.git] / modules / exim / manifests / mx.pp
1 # our heavy exim class
2 # @param is_mailrelay this system is a mailrelay, both in and out, for debian hosts
3 class exim::mx(
4   Boolean $is_mailrelay = false,
5 ){
6   class { 'exim':
7     use_smarthost => false,
8     is_mailrelay  => $is_mailrelay,
9   }
10
11   include clamav
12   include postgrey
13   include fail2ban::exim
14
15   file { '/etc/exim4/ccTLD.txt':
16     source => 'puppet:///modules/exim/common/ccTLD.txt',
17   }
18   file { '/etc/exim4/surbl_whitelist.txt':
19     source => 'puppet:///modules/exim/common/surbl_whitelist.txt',
20   }
21   file { '/etc/exim4/exim_surbl.pl':
22     source => 'puppet:///modules/exim/common/exim_surbl.pl',
23     notify => Service['exim4'],
24   }
25
26   # MXs used as smarthosts
27   ferm::rule { 'dsa-exim-submission':
28     description => 'Allow SMTP',
29     rule        => '&SERVICE_RANGE(tcp, submission, $SMTP_SOURCES)'
30   }
31   ferm::rule { 'dsa-exim-v6-submission':
32     description => 'Allow SMTP',
33     domain      => 'ip6',
34     rule        => '&SERVICE_RANGE(tcp, submission, $SMTP_V6_SOURCES)',
35   }
36   $autocertdir = hiera('paths.auto_certs_dir')
37   dnsextras::tlsa_record{ 'tlsa-submission':
38     zone     => 'debian.org',
39     certfile => "${autocertdir}/${::fqdn}.crt",
40     port     => 587,
41     hostname => $::fqdn,
42   }
43   package { 'monitoring-plugins-standard':
44     ensure => installed,
45   }
46 }