X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fexim%2Fmanifests%2Fmx.pp;h=3a30975e5597470f86cacde0d7dc0a89ba897658;hb=a88171ed3f6b43024a077f7044a8fdda95fe69d7;hp=42b478392719ef8776969584239feae8ff1bc416;hpb=8c5e427d328f0f3f02952fcf8d512bb914ca9d6d;p=mirror%2Fdsa-puppet.git diff --git a/modules/exim/manifests/mx.pp b/modules/exim/manifests/mx.pp index 42b478392..3a30975e5 100644 --- a/modules/exim/manifests/mx.pp +++ b/modules/exim/manifests/mx.pp @@ -1,22 +1,40 @@ -class exim::mx inherits exim { - 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, - } -} +# our heavy exim class +# @param is_mailrelay this system is a mailrelay, both in and out, for debian hosts +class exim::mx( + Boolean $is_mailrelay = false, +){ + class { 'exim': + use_smarthost => false, + is_mailrelay => $is_mailrelay, + } + + include clamav + include postgrey + include fail2ban::exim + + 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/two-level-tlds': + source => 'puppet:///modules/exim/common/two-level-tlds', + } + file { '/etc/exim4/three-level-tlds': + source => 'puppet:///modules/exim/common/three-level-tlds', + } + file { '/etc/exim4/exim_surbl.pl': + source => 'puppet:///modules/exim/common/exim_surbl.pl', + notify => Service['exim4'], + } + package { 'monitoring-plugins-standard': + ensure => installed, + } + + ferm::rule::simple { 'dsa-smtp': + description => 'Allow smtp access from the world', + port => '25', + } +}