]> gitweb.fluxo.info Git - puppet-backupninja.git/commitdiff
make new maildir piece to backupninja module
authorMicah Anderson <micah@riseup.net>
Tue, 8 Jul 2008 18:43:40 +0000 (18:43 +0000)
committerMicah Anderson <micah@riseup.net>
Tue, 8 Jul 2008 18:43:40 +0000 (18:43 +0000)
manifests/maildir.pp [new file with mode: 0644]
templates/maildir.conf.erb [new file with mode: 0644]

diff --git a/manifests/maildir.pp b/manifests/maildir.pp
new file mode 100644 (file)
index 0000000..b7f36f7
--- /dev/null
@@ -0,0 +1,38 @@
+# maildir handler, as part of a backupninja run.
+#
+# The maildir handler slowly creates a backup of each user's
+# maildir to a remote server. It is designed to be run with
+# low overhead in terms of CPU and bandwidth, so it runs pretty
+# slow. Hardlinking is used to save storage space. The actual
+# maildir is stored within each snapshot directory.
+#
+# Valid attributes for this type are:
+#
+#   order: The prefix to give to the handler config filename, to set
+#      order in which the actions are executed during the backup run.
+#
+#   ensure: Allows you to delete an entry if you don't want it any more
+#      (but be sure to keep the configdir, name, and order the same, so
+#      that we can find the correct file to remove).
+#
+# 
+define backupninja::maildir($order = 40,
+                           $ensure = present,
+                           $srcdir = '/maildir',
+                           $destdir = '/crypt/maildir',
+                           $desthost = false,
+                           $destuser = false,
+                           $destid_file = '/root/.ssh/id_rsa',
+                           $remove = no,
+                           $multiconnection = yes
+                          ) {
+                          include backupninja::client
+       file { "${backupninja::client::configdir}/${order}_${name}.maildir":
+               ensure => $ensure,
+               content => template('backupninja/maildir.conf.erb'),
+               owner => root,
+               group => root,
+               mode => 0600,
+               require => File["${backupninja::client::configdir}"]
+       }
+}
diff --git a/templates/maildir.conf.erb b/templates/maildir.conf.erb
new file mode 100644 (file)
index 0000000..370596a
--- /dev/null
@@ -0,0 +1,14 @@
+# This configuration file was auto-generated by the Puppet configuration
+# management system.  Any changes you make to this file will be overwritten
+# the next time Puppet runs.  Please make configuration changes to this
+# service in Puppet.
+
+<% %w{srcdir destdir desthost destuser destid_file}.each do |v|
+       if send(v)
+               -%><%= v + ' = ' + send(v) + "\n" %><%
+       end
+end -%>
+
+remove = <%= remove ? 'yes' : 'no' %>
+multiconnection = <%= multiconnection ? 'yes' : 'no' %>
+