aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamie McClelland <jm@mayfirst.org>2011-03-15 21:14:24 -0400
committerJamie McClelland <jm@mayfirst.org>2011-03-15 21:23:54 -0400
commit1a06b02741983aef4c1b0342726f368a6f1de7db (patch)
tree0dd4f6444cac0f989ea91ed537094bf52f4acae4
parent54d77c688d6193da2d8f96f6e1937ecb13225d97 (diff)
downloadpuppet-backupninja-1a06b02741983aef4c1b0342726f368a6f1de7db.tar.gz
puppet-backupninja-1a06b02741983aef4c1b0342726f368a6f1de7db.tar.bz2
provide pgsql support
-rw-r--r--manifests/init.pp1
-rw-r--r--manifests/pgsql.pp29
-rw-r--r--templates/pgsql.conf.erb11
3 files changed, 41 insertions, 0 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index 23b4268..fba8cc4 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -4,6 +4,7 @@ import "dup.pp"
import "labelmount.pp"
import "maildir.pp"
import "mysql.pp"
+import "pgsql.pp"
import "rdiff.pp"
import "server.pp"
import "sh.pp"
diff --git a/manifests/pgsql.pp b/manifests/pgsql.pp
new file mode 100644
index 0000000..19fd46b
--- /dev/null
+++ b/manifests/pgsql.pp
@@ -0,0 +1,29 @@
+# Safe PGSQL dumps, as part of a backupninja run.
+#
+# 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).
+#
+# backupdir, compress, configfile: As defined in the
+# backupninja documentation, with the caveat that hotcopy, sqldump,
+# and compress take true/false rather than yes/no.
+#
+define backupninja::pgsql(
+ $order = 10, $ensure = present, $databases = 'all', $backupdir = "/var/backup/postgres", $compress = true, $vsname = false)
+{
+
+ include backupninja::client::defaults
+ file { "${backupninja::client::defaults::configdir}/${order}_${name}.pgsql":
+ ensure => $ensure,
+ content => template('backupninja/pgsql.conf.erb'),
+ owner => root,
+ group => root,
+ mode => 0600,
+ require => File["${backupninja::client::defaults::configdir}"]
+ }
+}
diff --git a/templates/pgsql.conf.erb b/templates/pgsql.conf.erb
new file mode 100644
index 0000000..7781ef4
--- /dev/null
+++ b/templates/pgsql.conf.erb
@@ -0,0 +1,11 @@
+<% if vsname %>
+vsname = <%= vsname %>
+<% end %>
+<% if backupdir %>
+backupdir = <%= backupdir %>
+<% end %>
+<% if databases %>
+databases = <%= databases %>
+<% end %>
+compress = <%= compress ? 'yes' : 'no' %>
+