move exim vs. postfix, heavy vs. not, into hiera
[mirror/dsa-puppet.git] / modules / exim / manifests / mx.pp
index e60cfb7..fa36ec8 100644 (file)
@@ -1,47 +1,52 @@
-class exim::mx inherits exim {
-       include clamav
-       include postgrey
-       include fail2ban::exim
+# our heavy exim class
+class exim::mx {
+  class { 'exim':
+    smarthost => Undef,
+  }
 
-       file { '/etc/exim4/ccTLD.txt':
-               source => 'puppet:///modules/exim/common/ccTLD.txt',
-       }
-       file { '/etc/exim4/surbl_whitelist.txt':
-               source => 'puppet:///modules/exim/common/surbl_whitelist.txt',
-       }
-       file { '/etc/exim4/exim_surbl.pl':
-               source  => 'puppet:///modules/exim/common/exim_surbl.pl',
-               notify  => Service['exim4'],
-       }
+  include clamav
+  include postgrey
+  include fail2ban::exim
 
-       # MXs used as smarthosts
-       ferm::rule { 'dsa-exim-submission':
-               description => 'Allow SMTP',
-               rule        => '&SERVICE_RANGE(tcp, submission, $SMTP_SOURCES)'
-       }
-       ferm::rule { 'dsa-exim-v6-submission':
-               description => 'Allow SMTP',
-               domain      => 'ip6',
-               rule        => '&SERVICE_RANGE(tcp, submission, $SMTP_V6_SOURCES)',
-       }
-       $autocertdir = hiera('paths.auto_certs_dir')
-       dnsextras::tlsa_record{ "tlsa-submission":
-               zone => 'debian.org',
-               certfile => "${autocertdir}/${::fqdn}.crt",
-               port => 587,
-               hostname => "$::fqdn",
-       }
-       package { 'monitoring-plugins-standard':
-               ensure => installed,
-       }
+  file { '/etc/exim4/ccTLD.txt':
+    source => 'puppet:///modules/exim/common/ccTLD.txt',
+  }
+  file { '/etc/exim4/surbl_whitelist.txt':
+    source => 'puppet:///modules/exim/common/surbl_whitelist.txt',
+  }
+  file { '/etc/exim4/exim_surbl.pl':
+    source => 'puppet:///modules/exim/common/exim_surbl.pl',
+    notify => Service['exim4'],
+  }
 
-       if $exim::is_mailrelay {
-               concat::fragment { 'puppet-crontab--email-virtualdomains':
-                       target => '/etc/cron.d/puppet-crontab',
-                       content  => @(EOF)
-                               @hourly  root if [ ! -d /etc/exim4/email-virtualdomains ]; then cd /etc/exim4 && git clone mail-git:email-virtualdomains ; fi && cd /etc/exim4/email-virtualdomains && git pull --quiet --ff-only
-                               | EOF
-               }
-       }
-       file { '/etc/cron.d/dsa-email-virtualdomains': ensure => absent, }
+  # MXs used as smarthosts
+  ferm::rule { 'dsa-exim-submission':
+    description => 'Allow SMTP',
+    rule        => '&SERVICE_RANGE(tcp, submission, $SMTP_SOURCES)'
+  }
+  ferm::rule { 'dsa-exim-v6-submission':
+    description => 'Allow SMTP',
+    domain      => 'ip6',
+    rule        => '&SERVICE_RANGE(tcp, submission, $SMTP_V6_SOURCES)',
+  }
+  $autocertdir = hiera('paths.auto_certs_dir')
+  dnsextras::tlsa_record{ 'tlsa-submission':
+    zone     => 'debian.org',
+    certfile => "${autocertdir}/${::fqdn}.crt",
+    port     => 587,
+    hostname => $::fqdn,
+  }
+  package { 'monitoring-plugins-standard':
+    ensure => installed,
+  }
+
+  if $exim::is_mailrelay {
+    concat::fragment { 'puppet-crontab--email-virtualdomains':
+      target  => '/etc/cron.d/puppet-crontab',
+      content => @(EOF)
+        @hourly  root if [ ! -d /etc/exim4/email-virtualdomains ]; then cd /etc/exim4 && git clone mail-git:email-virtualdomains ; fi && cd /etc/exim4/email-virtualdomains && git pull --quiet --ff-only
+        | EOF
+    }
+  }
+  file { '/etc/cron.d/dsa-email-virtualdomains': ensure => absent, }
 }