X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fexim%2Fmanifests%2Fvdomain.pp;h=ef3c0183bc172172600c2e35f7ff288785e9a66b;hb=f8b10b0e0516ad8e0e0f2cf1ed7ab9fb73922b97;hp=3a50cb331751793982c70ea2ff0f889cbbcc539a;hpb=34017d07929662aa40a511cf9993cbf33a70ace7;p=mirror%2Fdsa-puppet.git diff --git a/modules/exim/manifests/vdomain.pp b/modules/exim/manifests/vdomain.pp index 3a50cb331..ef3c0183b 100644 --- a/modules/exim/manifests/vdomain.pp +++ b/modules/exim/manifests/vdomain.pp @@ -1,28 +1,41 @@ -class exim::vdomain ( - $alias_file, - $user, - $group, - $maildir, - $domain=$name, +# 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 ( + 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}/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}\n", - } + concat::fragment { "virtualdomain_${domain}": + target => '/etc/exim4/virtualdomains', + content => "${domain}: user=${mail_user} group=${mail_group} directory=${maildir}\n", + } }