X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fexim%2Fmanifests%2Fvdomain.pp;h=ef3c0183bc172172600c2e35f7ff288785e9a66b;hb=3d1e20d9385fd27268e268d7d022b86ac6c905c5;hp=de2144254ff15b40baff69f698f09f11ce8dfff9;hpb=cdc5eddb2cb3f9905e90c3093a61e0bf5ecc1195;p=mirror%2Fdsa-puppet.git diff --git a/modules/exim/manifests/vdomain.pp b/modules/exim/manifests/vdomain.pp index de2144254..ef3c0183b 100644 --- a/modules/exim/manifests/vdomain.pp +++ b/modules/exim/manifests/vdomain.pp @@ -1,35 +1,41 @@ +# add an exim virtualdomain entry on this host +# +# @param mail_user User to run the virtual email domain's pipe jobs and deliveries as +# @param mail_group Group to run the virtual email domain's pipe jobs and deliveries as +# @param owner User to own the directories and files +# @param group Group to own the directories and files +# @param domain email domain (defaults to $name) +# @param maildir Mail directory, usually and defaults to /srv/$name/mail define exim::vdomain ( - $alias_file, - $user, - $group, - $maildir="/srv/${name}", - $domain=$name, + String $domain = $name, + String $maildir = "/srv/${name}/mail", + String $owner = 'root', + String $group = 'root', + String $mail_user = $owner, + String $mail_group = $group, ) { - include exim::vdomain::setup + file { $maildir: + ensure => directory, + mode => '2755', + owner => $owner, + group => $group, + } - file { $maildir: - ensure => directory, - mode => '0755', - owner => root, - group => root - } + file { [ + "${maildir}/aliases", + "${maildir}/callout_users", + "${maildir}/grey_users", + "${maildir}/neversenders", + "${maildir}/rbllist", + "${maildir}/rhsbllist", + ] : + mode => '0644', + owner => $owner, + group => $group, + } - file { "${maildir}/mail": - ensure => directory, - mode => '0755', - owner => root, - group => root - } - - file { "${maildir}/mail/aliases": - source => $alias_file, - mode => '0644', - owner => root, - group => root - } - - concat::fragment { "virtualdomain_${domain}": - target => '/etc/exim4/virtualdomains', - content => "${domain}: user=${user} group=${group} directory=${maildir}/mail\n", - } + concat::fragment { "virtualdomain_${domain}": + target => '/etc/exim4/virtualdomains', + content => "${domain}: user=${mail_user} group=${mail_group} directory=${maildir}\n", + } }