summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2010-08-08 17:51:29 -0300
committerSilvio Rhatto <rhatto@riseup.net>2010-08-08 17:51:29 -0300
commit681787bc89c90be80806c70f7d6cbb2c15fbc82d (patch)
tree7c875a36c579cbd474d5a3abd0096aa491d6300e /manifests
parent4dab103414b87ef8daf6df195bcd9feba41205ea (diff)
downloadpuppet-mail-681787bc89c90be80806c70f7d6cbb2c15fbc82d.tar.gz
puppet-mail-681787bc89c90be80806c70f7d6cbb2c15fbc82d.tar.bz2
Using dovecot as LDA
Diffstat (limited to 'manifests')
-rw-r--r--manifests/dovecot.pp2
-rw-r--r--manifests/system.pp51
2 files changed, 37 insertions, 16 deletions
diff --git a/manifests/dovecot.pp b/manifests/dovecot.pp
index 4eca941..0ced8e1 100644
--- a/manifests/dovecot.pp
+++ b/manifests/dovecot.pp
@@ -8,7 +8,7 @@ class mail::dovecot {
file { "/etc/dovecot/dovecot.conf":
ensure => present,
owner => root,
- group => root,
+ group => vmail,
mode => 0644,
source => "puppet://$server/modules/mail/dovecot/dovecot.conf",
notify => Service['dovecot'],
diff --git a/manifests/system.pp b/manifests/system.pp
index 29bac39..4f8f20c 100644
--- a/manifests/system.pp
+++ b/manifests/system.pp
@@ -1,7 +1,8 @@
class mail::system {
- $postfix_smtp_listen = "all"
- $postfix_use_amavisd = "yes"
- $postfix_mydestination = '$myhostname, localhost.$mydomain, localhost'
+ $postfix_smtp_listen = "all"
+ $postfix_use_amavisd = "yes"
+ $postfix_use_dovecot_lda = "yes"
+ $postfix_mydestination = '$myhostname, localhost.$mydomain, localhost'
case $postfix_mynetworks {
'': { $postfix_mynetworks = "127.0.0.0/8" }
@@ -46,14 +47,19 @@ class mail::system {
# Postfix configuration
postfix::config {
- "mydomain": value => "$domain";
- "myhostname": value => "$fqdn";
- "mydestination": value => "$postfix_mydestination";
- "mynetworks": value => "$postfix_mynetworks";
- "relay_domains": value => "$domain";
- "transport_maps": value => "hash:/etc/postfix/transport";
- "mailbox_command": value => '/usr/bin/maildrop -d ${USER}';
- "virtual_mailbox_base": value => '/var/mail/virtual';
+ "mydomain": value => "$domain";
+ "myhostname": value => "$fqdn";
+ "mydestination": value => "$postfix_mydestination";
+ "mynetworks": value => "$postfix_mynetworks";
+ "relay_domains": value => "$domain";
+ "transport_maps": value => "hash:/etc/postfix/transport";
+ "mailbox_command": value => '/usr/bin/maildrop -d ${USER}';
+ "virtual_mailbox_base": value => '/var/mail/virtual';
+ "virtual_uid_maps": value => 'static:5000';
+ "virtual_gid_maps": value => 'static:5000';
+ "virtual_transport": value => 'dovecot';
+ "dovecot_destination_recipient_limit": value => '1';
+ "recipient_delimiter": value => '+';
}
postfix::hash { "/etc/postfix/virtual":
@@ -70,9 +76,24 @@ class mail::system {
# Virtual mailboxes
file { '/var/mail/virtual':
- ensure => directory,
- owner => root,
- group => mail,
- mode => 0770,
+ ensure => directory,
+ owner => vmail,
+ group => vmail,
+ mode => 0750,
+ require => User['vmail'],
+ }
+
+ group { "vmail":
+ ensure => present,
+ gid => 5000,
+ }
+
+ user { "vmail":
+ ensure => present,
+ uid => 5000,
+ gid => "vmail",
+ password => "*",
+ home => '/var/mail/virtual',
+ require => Group['vmail'],
}
}