summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2011-08-30 15:12:40 -0400
committerMicah Anderson <micah@riseup.net>2011-08-30 15:12:40 -0400
commit8ebe49c6d20bd2fd7d59303d193fe941742bb1e7 (patch)
treec485b3a5faaef728bb87b0b54c7ee0967f628db8
parent603ed93dc24b3433e09ee564b06c02e19f5b9d23 (diff)
add mysql expire capability, provides a mysql-dict-expire.conf
-rw-r--r--files/expire/mysql-dict-expire.conf12
-rw-r--r--manifests/expire.pp1
-rw-r--r--manifests/expire/mysql.pp20
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;
+ }
+
+}