From a7c710bda474a08a8902978069bcc3227ba5f223 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Thu, 27 Aug 2009 15:43:52 -0400 Subject: * add duplicity package management class to the client class * update the README to be more clear about how this works, provide more examples and included details about the addition of the backupninja::client::duplicity class --- README | 34 ++++++++++++++++++++++++---------- manifests/client.pp | 11 +++++++++++ 2 files changed, 35 insertions(+), 10 deletions(-) diff --git a/README b/README index 4fc5c34..3b73200 100644 --- a/README +++ b/README @@ -36,19 +36,33 @@ A remote rdiff backup handler: user => "backup-$hostname", } -If you include the backupninja::client::rdiff_backup class, you will -get the rdiff-backup package installed automatically, this also works -for the backupninja::client::maildir class (installs needed rsync package) +To manage the installed backup software, using puppet package +management, you can include the backupninja::client::$backupprogram +class (where $backupprogram is one of: rdiff_backup, maildir, +duplicity). This will get the $backupprogram package installed +automatically, you do not need to include this class, if you wish to +manage the package version some other way, for example: -If you need to specify a specific version of the rdiff-backup, or rsync package, you can do so -by specifying the variables: +include backupninja::client::rdiff_backup +include backupninja::client::maildir +include backupninja::client::duplicity + +When this class is included, it will make sure that the correct +version that is associated with puppet's 'installed' (or 'present') +parameter is installed. If you need to specify a specific version of +the rdiff-backup, rsync or duplicity packages, you can do so by +specifying the variables: $rdiff_backup_ensure_version = "1.2.5-1~bpo40+1" $rsync_ensure_version = "3.0.6-1~bpo50+1" +$duplicity_ensure_version = "0.6.04-1~bpo50+1" + +If you do not specify these variables the default 'installed/present' +version will be installed when you include this class. -If you configure a backupninja::server, it will collect those users and create -them. We have yet to create proper authorized_keys management to make that -process completely automatic. +If you configure a backupninja::server, it will collect those users +and create them. We have yet to create proper authorized_keys +management to make that process completely automatic. -At the moment, not all the backupninja handlers are available, they are relatively -easy to add however. \ No newline at end of file +At the moment, not all the backupninja handlers are available, they +are relatively easy to add however. \ No newline at end of file diff --git a/manifests/client.pp b/manifests/client.pp index a3d2242..ef449f5 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -105,3 +105,14 @@ class backupninja::client::rdiff_backup inherits backupninja::client { } } } + +class backupninja::client::duplicity inherits backupninja::client { + + if !defined(Package["duplicity"]) { + if $duplicity_ensure_version == '' { $duplicity_ensure_version = 'installed' } + package { 'duplicity': + ensure => $duplicity_ensure_version, + } + } +} + -- cgit v1.2.3