class exim {
+ $is_mailrelay = has_role('mailrelay')
+ $is_bugsmaster = has_role('bugsmaster')
+ $is_bugsmx = has_role('bugsmx')
+ $is_rtmaster = has_role('rtmaster')
+ $is_packagesmaster = has_role('packagesmaster')
+ $is_packagesqamaster = has_role('packagesqamaster')
+
+ include exim::vdomain::setup
+
munin::check { 'ps_exim4': script => 'ps_' }
munin::check { 'exim_mailqueue': }
munin::check { 'exim_mailstats': }
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 => [
purge => true,
}
file { '/etc/exim4/Git':
- ensure => directory,
- purge => true,
+ ensure => absent,
force => true,
- recurse => true,
- source => 'puppet:///files/empty/',
}
file { '/etc/exim4/conf.d':
ensure => directory,
file { '/etc/exim4/locals':
content => template('exim/locals.erb')
}
- file { '/etc/exim4/virtualdomains':
- content => template('exim/virtualdomains.erb'),
- }
file { '/etc/exim4/submission-domains':
content => template('exim/submission-domains.erb'),
}
case getfromhash($site::nodeinfo, 'mail_port') {
/^(\d+)$/: { $mail_port = $1 }
- default: { $mail_port = 'smtp' }
+ default: { $mail_port = '25' }
}
@ferm::rule { 'dsa-exim':
domain => 'ip6',
rule => "&SERVICE_RANGE(tcp, $mail_port, \$SMTP_V6_SOURCES)"
}
+ dnsextras::tlsa_record{ 'tlsa-mailport':
+ zone => 'debian.org',
+ certfile => "/etc/puppet/modules/exim/files/certs/${::fqdn}.crt",
+ port => $mail_port,
+ hostname => $::fqdn,
+ }
# Do we actually want this? I'm only doing it because it's harmless
# and makes the logs quiet. There are better ways of making logs quiet,
rule => '&SERVICE(tcp, 113)'
}
+ # These only affect the alias @$fqdn, not say, @debian.org
+
+ mailalias { [
+ 'postmaster',
+ 'hostmaster',
+ 'usenet',
+ 'webmaster',
+ 'abuse',
+ 'noc',
+ 'security',
+ ]:
+ ensure => absent
+ }
}