]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/exim/manifests/mx.pp
Move all roles from local.yaml to hiera
[dsa-puppet.git] / modules / exim / manifests / mx.pp
index 2f1bfb64ee8e26f8101ca3f90f0f3e34b853fc30..54f1933b3c5c3586e801319da3b1fd91fe429776 100644 (file)
@@ -1,25 +1,45 @@
 class exim::mx inherits exim {
-    include clamav
-    include postgrey
+       include clamav
+       include postgrey
 
-    file {
-        "/etc/exim4/ccTLD.txt":
-          require => Package["exim4-daemon-heavy"],
-          source  => [ "puppet:///exim/common/ccTLD.txt" ]
-          ;
-        "/etc/exim4/surbl_whitelist.txt":
-          require => Package["exim4-daemon-heavy"],
-          source  => [ "puppet:///exim/common/surbl_whitelist.txt" ]
-          ;
-        "/etc/exim4/exim_surbl.pl":
-          require => Package["exim4-daemon-heavy"],
-          source  => [ "puppet:///exim/common/exim_surbl.pl" ],
-          notify  => Exec["exim4 restart"]
-          ;
-    }
-    exec { "exim4 restart":
-        path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
-        refreshonly => true,
-    }
-}
+       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'],
+       }
+
+       # 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)',
+       }
+       dnsextras::tlsa_record{ "tlsa-submission":
+               zone => 'debian.org',
+               certfile => "/etc/puppet/modules/exim/files/certs/${::fqdn}.crt",
+               port => 587,
+               hostname => "$::fqdn",
+       }
+       package { 'nagios-plugins-standard':
+               ensure => installed,
+       }
 
+       if has_role('mailrelay') {
+               file { '/etc/cron.d/dsa-email-virtualdomains':
+                       source => 'puppet:///modules/exim/dsa-email-virtualdomains.cron',
+               }
+       } else {
+               file { '/etc/cron.d/dsa-email-virtualdomains':
+                       ensure => absent,
+               }
+       }
+}