From f80945b89753bd9a75d2898beb80587185e39abc Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Sat, 17 May 2008 23:31:41 +0000 Subject: add a sys backupninja module piece --- manifests/sys.pp | 33 +++++++++++++++++++++++++++++++++ templates/sys.conf.erb | 16 ++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 manifests/sys.pp create mode 100644 templates/sys.conf.erb diff --git a/manifests/sys.pp b/manifests/sys.pp new file mode 100644 index 0000000..4829a15 --- /dev/null +++ b/manifests/sys.pp @@ -0,0 +1,33 @@ +# sys handler, 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). +# +# +define backupninja::sys($order = 30, + $ensure = present, + $parentdir = '/var/backups', + $packages = yes, + $packagesfile = '/var/backups/dpkg-selections.txt', + $partitions = yes, + $partitionsfile = '/var/backups/partitions.__star__.txt', + $dosfdisk = yes, + $hardware = yes, + $hardwarefile = '/var/backups/hardware.txt', + $dohwinfo = yes, + ) { + file { "${backupninja::client::configdir}/${order}_${name}.sys": + ensure => $ensure, + content => template('backupninja/sys.conf.erb'), + owner => root, + group => root, + mode => 0600, + require => File["${backupninja::client::configdir}"] + } +} diff --git a/templates/sys.conf.erb b/templates/sys.conf.erb new file mode 100644 index 0000000..b0ae623 --- /dev/null +++ b/templates/sys.conf.erb @@ -0,0 +1,16 @@ +# 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{parentdir packagesfile partitionsfile hardwarefile}.each do |v| + if send(v) + -%><%= v + ' = ' + send(v) + "\n" %><% + end +end -%> + +packages = <%= packages ? 'yes' : 'no' %> +partitions = <%= partitions ? 'yes' : 'no' %> +dosfdisk = <%= dosfdisk ? 'yes' : 'no' %> +hardware = <%= hardware ? 'yes' : 'no' %> +dohwinfo = <%= dohwinfo ? 'yes' : 'no' %> -- cgit v1.2.3