diff options
author | Micah Anderson <micah@riseup.net> | 2011-08-30 15:12:40 -0400 |
---|---|---|
committer | Micah Anderson <micah@riseup.net> | 2011-08-30 15:12:40 -0400 |
commit | 8ebe49c6d20bd2fd7d59303d193fe941742bb1e7 (patch) | |
tree | c485b3a5faaef728bb87b0b54c7ee0967f628db8 | |
parent | 603ed93dc24b3433e09ee564b06c02e19f5b9d23 (diff) |
add mysql expire capability, provides a mysql-dict-expire.conf
-rw-r--r-- | files/expire/mysql-dict-expire.conf | 12 | ||||
-rw-r--r-- | manifests/expire.pp | 1 | ||||
-rw-r--r-- | manifests/expire/mysql.pp | 20 |
3 files changed, 33 insertions, 0 deletions
diff --git a/files/expire/mysql-dict-expire.conf b/files/expire/mysql-dict-expire.conf new file mode 100644 index 0000000..ecf3cc8 --- /dev/null +++ b/files/expire/mysql-dict-expire.conf @@ -0,0 +1,12 @@ +connect = host=localhost dbname=mails user=sqluser password=sqlpass + +map { + pattern = shared/expire/$user/$mailbox + table = expires + value_field = expire_stamp + + fields { + username = $user + mailbox = $mailbox + } +}
\ No newline at end of file diff --git a/manifests/expire.pp b/manifests/expire.pp index 9d53bb4..9bc120a 100644 --- a/manifests/expire.pp +++ b/manifests/expire.pp @@ -44,6 +44,7 @@ class dovecot::expire { case $dovecot_expire_type { 'legacy': { info("no need to include anything for legacy mode") } 'mixed': { include ::dovecot::expire::sqlite } + 'mysql': { include ::dovecot::expire::mysql } default: { include ::dovecot::expire::sqlite } } } diff --git a/manifests/expire/mysql.pp b/manifests/expire/mysql.pp new file mode 100644 index 0000000..f356d8e --- /dev/null +++ b/manifests/expire/mysql.pp @@ -0,0 +1,20 @@ +class dovecot::expire::mysql { + + file { 'dovecot-dict-expire.conf': + source => [ "puppet:///modules/site-dovecot/expire/${fqdn}/mysql-dict-expire.conf", + "puppet:///modules/site-dovecot/expire/mysql-dict-expire.conf", + "puppet:///modules/dovecot/expire/${operatingsystem}/mysql-dict-expire.conf", + "puppet:///modules/dovecot/expire/mysql-dict-expire.conf", + path => $operatingsystem ? { + 'debian' => '/etc/dovecot/dovecot-dict-expire.conf', + default => '/etc/dovecot-dict-expire.conf' + }, + require => $operatingsystem ? { + 'debian' => Package['dovecot-common'], + default => Package['dovecot-mysql'], + }, + notify => Service['dovecot'], + owner => root, group => 0, mode => 0600; + } + +} |