From cbcacb7da154f1be8105ef69466744889b2b6c45 Mon Sep 17 00:00:00 2001 From: Matt Taggart Date: Wed, 15 Jul 2009 13:05:21 -0700 Subject: create subclasses for maildir and rdiff-backup. If you are using these features of backupninja, you'll want to switch to doing "include backupninja::client::maildir" for the machines that need it and this will pull in backupninja::client, so you don't need to include that anymore if you were explicitly doing so for those machines (although it shouldn't hurt). Right now what using these new subclasses will get you is dependencies on needed packages, but in the future there might be more. --- manifests/client.pp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/manifests/client.pp b/manifests/client.pp index 66dbd1c..999108c 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -86,4 +86,28 @@ class backupninja::client { } } +class backupninja::client::maildir inherits backupninja::client { + case $rsync_ensure_version { + '': { $rsync_ensure_version = "present" } + } + if !defined(Package["rsync"]) { + if $rsync_ensure_version == '' { $rsync_ensure_version = 'installed' } + package { 'rsync': + ensure => $rsync_ensure_version, + } + } +} + +class backupninja::client::rdiff-backup inherits backupninja::client { + case $rdiff-backup_ensure_version { + '': { $rdiff-backup_ensure_version = "present" } + } + + if !defined(Package["rdiff-backup"]) { + if $rdiff-backup_ensure_version == '' { $rdiff-backup_ensure_version = 'installed' } + package { 'rdiff-backup': + ensure => $rdiff-backup_ensure_version, + } + } +} -- cgit v1.2.3 From 00d3218d1ced516b6cb555155a631c0071d46d80 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Wed, 15 Jul 2009 17:10:21 -0400 Subject: remove redundant case statements which tested to see if the package ensure version variables were set changed the $rdiff-backup_ensure_version variable to $rdiff_backup_ensure_version as dashes are not allowed in variable names --- manifests/client.pp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index 999108c..d799014 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -87,9 +87,6 @@ class backupninja::client { } class backupninja::client::maildir inherits backupninja::client { - case $rsync_ensure_version { - '': { $rsync_ensure_version = "present" } - } if !defined(Package["rsync"]) { if $rsync_ensure_version == '' { $rsync_ensure_version = 'installed' } @@ -100,14 +97,11 @@ class backupninja::client::maildir inherits backupninja::client { } class backupninja::client::rdiff-backup inherits backupninja::client { - case $rdiff-backup_ensure_version { - '': { $rdiff-backup_ensure_version = "present" } - } if !defined(Package["rdiff-backup"]) { - if $rdiff-backup_ensure_version == '' { $rdiff-backup_ensure_version = 'installed' } + if $rdiff_backup_ensure_version == '' { $rdiff_backup_ensure_version = 'installed' } package { 'rdiff-backup': - ensure => $rdiff-backup_ensure_version, + ensure => $rdiff_backup_ensure_version, } } } -- cgit v1.2.3 From d5acd326fc1454874a59b83a17e2621be7245ea9 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Wed, 15 Jul 2009 17:13:44 -0400 Subject: fix rdiff-backup class name, "You can use Aa-Zz, 0-9 and underscores in variables, resources and class names." which means no dashes in class names either --- manifests/client.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/client.pp b/manifests/client.pp index d799014..a3d2242 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -96,7 +96,7 @@ class backupninja::client::maildir inherits backupninja::client { } } -class backupninja::client::rdiff-backup inherits backupninja::client { +class backupninja::client::rdiff_backup inherits backupninja::client { if !defined(Package["rdiff-backup"]) { if $rdiff_backup_ensure_version == '' { $rdiff_backup_ensure_version = 'installed' } -- cgit v1.2.3 From 0b9d05cf596fab6b8fe4b03e21e6f8cb802238fe Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Wed, 15 Jul 2009 17:17:05 -0400 Subject: add some details to the README about the package installation options --- README | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README b/README index bf4eb49..4fc5c34 100644 --- a/README +++ b/README @@ -20,6 +20,7 @@ backupninja::mysql { all_databases: sqldump => true } +include backupninja::client::rdiff_backup backupninja::rdiff { backup_all: directory => '/media/backupdisk', include => ['/var/backups', '/home', '/var/lib/dpkg/status'], @@ -35,6 +36,16 @@ 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) + +If you need to specify a specific version of the rdiff-backup, or rsync package, 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" + 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. -- cgit v1.2.3