X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fexim%2Fmanifests%2Finit.pp;h=d7229bcb3ffb7f1b411baf12695fab22af822be8;hb=8874d85ca7ad6802d6f580ec6838adf420670d6d;hp=53aadabb285a5e0ceb9e904f59a77dad22409cfd;hpb=8b67481caca89c370d864af42f1e667eda78f1cd;p=mirror%2Fdsa-puppet.git diff --git a/modules/exim/manifests/init.pp b/modules/exim/manifests/init.pp index 53aadabb2..d7229bcb3 100644 --- a/modules/exim/manifests/init.pp +++ b/modules/exim/manifests/init.pp @@ -1,4 +1,13 @@ class exim { + activate_munin_check { + "ps_exim4": script => "ps_"; + "exim_mailqueue":; + "exim_mailstats":; + "postfix_mailqueue": ensure => absent; + "postfix_mailstats": ensure => absent; + "postfix_mailvolume": ensure => absent; + } + package { exim4-daemon-heavy: ensure => installed } @@ -10,23 +19,44 @@ class exim { mode => 755, purge => true ; + "/etc/exim4/Git": + ensure => directory, + purge => true, + force => true, + recurse => true, + source => "puppet:///files/empty/" + ; + "/etc/exim4/conf.d": + ensure => directory, + purge => true, + force => true, + recurse => true, + source => "puppet:///files/empty/" + ; "/etc/exim4/ssl": ensure => directory, owner => root, group => Debian-exim, mode => 750, + require => Package["exim4-daemon-heavy"], purge => true ; + "/etc/mailname": + content => template("exim/mailname.erb"), + ; "/etc/exim4/exim4.conf": - source => [ "puppet:///exim/per-host/$fqdn/exim4.conf", - "puppet:///exim/common/exim4.conf" ], + content => template("exim/eximconf.erb"), require => Package["exim4-daemon-heavy"], notify => Exec["exim4 reload"] - ; + ; "/etc/exim4/manualroute": require => Package["exim4-daemon-heavy"], - source => [ "puppet:///exim/per-host/$fqdn/manualroute", - "puppet:///exim/common/manualroute" ] + content => template("exim/manualroute.erb") + ; + "/etc/exim4/host_blacklist": + require => Package["exim4-daemon-heavy"], + source => [ "puppet:///exim/per-host/$fqdn/host_blacklist", + "puppet:///exim/common/host_blacklist" ] ; "/etc/exim4/blacklist": require => Package["exim4-daemon-heavy"], @@ -50,8 +80,7 @@ class exim { ; "/etc/exim4/locals": require => Package["exim4-daemon-heavy"], - source => [ "puppet:///exim/per-host/$fqdn/locals", - "puppet:///exim/common/locals" ] + content => template("exim/locals.erb") ; "/etc/exim4/localusers": require => Package["exim4-daemon-heavy"], @@ -63,11 +92,6 @@ class exim { source => [ "puppet:///exim/per-host/$fqdn/rbllist", "puppet:///exim/common/rbllist" ] ; - "/etc/exim4/rcpthosts": - require => Package["exim4-daemon-heavy"], - source => [ "puppet:///exim/per-host/$fqdn/rcpthosts", - "puppet:///exim/common/rcpthosts" ] - ; "/etc/exim4/rhsbllist": require => Package["exim4-daemon-heavy"], source => [ "puppet:///exim/per-host/$fqdn/rhsbllist", @@ -75,14 +99,18 @@ class exim { ; "/etc/exim4/virtualdomains": require => Package["exim4-daemon-heavy"], - source => [ "puppet:///exim/per-host/$fqdn/virtualdomains", - "puppet:///exim/common/virtualdomains" ] + content => template("exim/virtualdomains.erb") ; "/etc/exim4/whitelist": require => Package["exim4-daemon-heavy"], source => [ "puppet:///exim/per-host/$fqdn/whitelist", "puppet:///exim/common/whitelist" ] ; + "/etc/exim4/submission-domains": + require => Package["exim4-daemon-heavy"], + source => [ "puppet:///exim/per-host/$fqdn/submission-domains", + "puppet:///exim/common/submission-domains" ] + ; "/etc/logrotate.d/exim4-base": require => Package["exim4-daemon-heavy"], source => [ "puppet:///exim/per-host/$fqdn/logrotate-exim4-base", @@ -93,17 +121,6 @@ class exim { source => [ "puppet:///exim/per-host/$fqdn/logrotate-exim4-paniclog", "puppet:///exim/common/logrotate-exim4-paniclog" ] ; - "/etc/exim4/local-settings.conf": - require => Package["exim4-daemon-heavy"], - source => [ "puppet:///exim/per-host/$fqdn/local-settings.conf", - "puppet:///exim/common/local-settings.conf" ] - notify => Exec["exim4 reload"] - ; - "/etc/exim4/local-auto.conf": - require => Package["exim4-daemon-heavy"], - content => template("exim-local-auto.erb"), - notify => Exec["exim4 reload"] - ; "/etc/exim4/ssl/thishost.crt": require => Package["exim4-daemon-heavy"], source => "puppet:///exim/certs/$fqdn.crt", @@ -132,15 +149,42 @@ class exim { group => Debian-exim, mode => 640 ; + "/var/log/exim4": + mode => 2750, + ensure => directory, + owner => Debian-exim, + group => maillog + ; } exec { "exim4 reload": path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", refreshonly => true, } -} -class eximmx inherits exim { - include clamav - include postgrey + case extractnodeinfo($nodeinfo, 'mail_port') { + /^(\d+)$/: { $mail_port = $1 } + default: { $mail_port = 'smtp' } + } + + @ferm::rule { "dsa-exim": + description => "Allow SMTP", + rule => "&SERVICE_RANGE(tcp, $mail_port, \$SMTP_SOURCES)" + } + @ferm::rule { "dsa-exim-v6": + description => "Allow SMTP", + domain => "ip6", + rule => "&SERVICE_RANGE(tcp, $mail_port, \$SMTP_V6_SOURCES)" + } + # 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, + # though. + @ferm::rule { "dsa-ident": + domain => "(ip ip6)", + description => "Allow ident access", + rule => "&SERVICE(tcp, 113)" + } } +# vim:set et: +# vim:set sts=4 ts=4: +# vim:set shiftwidth=4: