From 8ebe49c6d20bd2fd7d59303d193fe941742bb1e7 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Tue, 30 Aug 2011 15:12:40 -0400 Subject: add mysql expire capability, provides a mysql-dict-expire.conf --- files/expire/mysql-dict-expire.conf | 12 ++++++++++++ manifests/expire.pp | 1 + manifests/expire/mysql.pp | 20 ++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 files/expire/mysql-dict-expire.conf create mode 100644 manifests/expire/mysql.pp 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; + } + +} -- cgit v1.2.3