From 05efcc415ed19793e10d71e95a1d412e5d2095d1 Mon Sep 17 00:00:00 2001 From: drebs <drebs@riseup.net> Date: Mon, 13 Jul 2009 05:32:24 -0300 Subject: adding duplicity package as dependency for handler. --- manifests/dup.pp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/manifests/dup.pp b/manifests/dup.pp index 170e53a..05d4892 100644 --- a/manifests/dup.pp +++ b/manifests/dup.pp @@ -84,6 +84,10 @@ define backupninja::duplicity( $order = 90, $backuptag = false, # key options $installkey = true ) { + # needed packages + package { "duplicity": ensure => installed } + + # the client with configs for this machine include backupninja::client case $host { false: { err("need to define a host for remote backups!") } } -- cgit v1.2.3 From bc167339c62ad2e06c8cdcd298364f20afa04658 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto <rhatto@riseup.net> Date: Thu, 16 Jul 2009 18:23:05 -0300 Subject: Checking whether an exported resource is defined Checking whether an exported resource is already defined at backupninja::server::sandbox, otherwise puppet will try to redefined them each time a backup resource type is invoked with the same arguments (such as $directory), raising an error. --- manifests/server.pp | 84 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 37 deletions(-) diff --git a/manifests/server.pp b/manifests/server.pp index 213022b..fa85492 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -63,57 +63,67 @@ class backupninja::server { false => "backupninja-$real_host", default => $backuptag, } - - @@file { "$real_dir": - ensure => directory, - mode => 0750, owner => $user, group => 0, - tag => "$real_backuptag", + + if !defined(File["$real_dir"]) { + @@file { "$real_dir": + ensure => directory, + mode => 0750, owner => $user, group => 0, + tag => "$real_backuptag", + } } case $installuser { true: { case $manage_ssh_dir { true: { - @@file { "${real_ssh_dir}": - ensure => directory, - mode => 0700, owner => $user, group => 0, - require => File["$real_dir"], - tag => "$real_backuptag", + if !defined(File["$real_ssh_dir"]) { + @@file { "${real_ssh_dir}": + ensure => directory, + mode => 0700, owner => $user, group => 0, + require => File["$real_dir"], + tag => "$real_backuptag", + } } } } - @@file { "${real_ssh_dir}/${real_authorized_keys_file}": - ensure => present, - mode => 0644, owner => 0, group => 0, - source => "$real_backupkeys/${user}_id_${keytype}.pub", - require => File["${real_ssh_dir}"], - tag => "$real_backuptag", + if !defined(File["$real_ssh_dir"]) { + @@file { "${real_ssh_dir}/${real_authorized_keys_file}": + ensure => present, + mode => 0644, owner => 0, group => 0, + source => "$real_backupkeys/${user}_id_${keytype}.pub", + require => File["${real_ssh_dir}"], + tag => "$real_backuptag", + } } case $uid { false: { - @@user { "$user": - ensure => "present", - gid => "$gid", - comment => "$name backup sandbox", - home => "$real_dir", - managehome => true, - shell => "/bin/sh", - password => '*', - require => Group['backupninjas'], - tag => "$real_backuptag" + if !defined(File["$real_ssh_dir"]) { + @@user { "$user": + ensure => "present", + gid => "$gid", + comment => "$name backup sandbox", + home => "$real_dir", + managehome => true, + shell => "/bin/sh", + password => '*', + require => Group['backupninjas'], + tag => "$real_backuptag" + } } } default: { - @@user { "$user": - ensure => "present", - uid => "$uid", - gid => "$gid", - comment => "$name backup sandbox", - home => "$real_dir", - managehome => true, - shell => "/bin/sh", - password => '*', - require => Group['backupninjas'], - tag => "$real_backuptag" + if !defined(File["$real_ssh_dir"]) { + @@user { "$user": + ensure => "present", + uid => "$uid", + gid => "$gid", + comment => "$name backup sandbox", + home => "$real_dir", + managehome => true, + shell => "/bin/sh", + password => '*', + require => Group['backupninjas'], + tag => "$real_backuptag" + } } } } -- cgit v1.2.3 From c80b8348d7b3befb9cff496bb0443a0d05385b26 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto <rhatto@riseup.net> Date: Wed, 26 Aug 2009 21:07:40 -0300 Subject: Add rdiff::backup option to config dest user home folder --- manifests/rdiff.pp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/manifests/rdiff.pp b/manifests/rdiff.pp index e3964d0..ec89006 100644 --- a/manifests/rdiff.pp +++ b/manifests/rdiff.pp @@ -25,7 +25,7 @@ define backupninja::rdiff( "/home", "/usr/local/*bin", "/var/lib/dpkg/status*" ], $vsinclude = false, $keep = 30, $sshoptions = false, $options = false, $ssh_dir_manage = true, $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true, - $backuptag = false) + $backuptag = false, $home = false) { include backupninja::client case $type { @@ -34,7 +34,11 @@ define backupninja::rdiff( backupninja::server::sandbox { - "${user}-${name}": user => $user, host => $host, dir => $directory, + $real_home = $home ? { + false => $directory, + default => $home, + } + "${user}-${name}": user => $user, host => $host, dir => $real_home, manage_ssh_dir => $ssh_dir_manage, ssh_dir => $ssh_dir, authorized_keys_file => $authorized_keys_file, installuser => $installuser, backuptag => $backuptag -- cgit v1.2.3 From e0982845a5781c542ac3efa3b8c7d6b7f7db8087 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto <rhatto@riseup.net> Date: Wed, 26 Aug 2009 21:14:07 -0300 Subject: Oops --- manifests/rdiff.pp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/manifests/rdiff.pp b/manifests/rdiff.pp index ec89006..b1dd7d2 100644 --- a/manifests/rdiff.pp +++ b/manifests/rdiff.pp @@ -32,12 +32,13 @@ define backupninja::rdiff( 'remote': { case $host { false: { err("need to define a host for remote backups!") } } + $real_home = $home ? { + false => $directory, + default => $home, + } + backupninja::server::sandbox { - $real_home = $home ? { - false => $directory, - default => $home, - } "${user}-${name}": user => $user, host => $host, dir => $real_home, manage_ssh_dir => $ssh_dir_manage, ssh_dir => $ssh_dir, authorized_keys_file => $authorized_keys_file, installuser => $installuser, -- cgit v1.2.3 From 30237b7ed066509b53bc1f53ffe797d9041856db Mon Sep 17 00:00:00 2001 From: Silvio Rhatto <rhatto@riseup.net> Date: Wed, 26 Aug 2009 21:37:43 -0300 Subject: Fixing some definitions at backupninja::server::sandbox --- manifests/server.pp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/manifests/server.pp b/manifests/server.pp index fa85492..28b97d5 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -85,7 +85,7 @@ class backupninja::server { } } } - if !defined(File["$real_ssh_dir"]) { + if !defined(File["${real_ssh_dir}/${real_authorized_keys_file}"]) { @@file { "${real_ssh_dir}/${real_authorized_keys_file}": ensure => present, mode => 0644, owner => 0, group => 0, @@ -96,7 +96,7 @@ class backupninja::server { } case $uid { false: { - if !defined(File["$real_ssh_dir"]) { + if !defined(File["$real_user"]) { @@user { "$user": ensure => "present", gid => "$gid", @@ -111,8 +111,8 @@ class backupninja::server { } } default: { - if !defined(File["$real_ssh_dir"]) { - @@user { "$user": + if !defined(File["$real_user"]) { + @@user { "$real_user": ensure => "present", uid => "$uid", gid => "$gid", -- cgit v1.2.3 From 02d8a40959f4376742d6c813aa3e44e79c56c429 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto <rhatto@riseup.net> Date: Wed, 26 Aug 2009 21:54:25 -0300 Subject: Fixing some definitions at backupninja::server::sandbox (2) --- manifests/server.pp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manifests/server.pp b/manifests/server.pp index 28b97d5..790c931 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -96,8 +96,8 @@ class backupninja::server { } case $uid { false: { - if !defined(File["$real_user"]) { - @@user { "$user": + if !defined(User["$real_user"]) { + @@user { "$real_user": ensure => "present", gid => "$gid", comment => "$name backup sandbox", @@ -111,7 +111,7 @@ class backupninja::server { } } default: { - if !defined(File["$real_user"]) { + if !defined(User["$real_user"]) { @@user { "$real_user": ensure => "present", uid => "$uid", -- cgit v1.2.3 From 564244547ab684e9b63d48fcabbe4f6d377d022e Mon Sep 17 00:00:00 2001 From: Silvio Rhatto <rhatto@riseup.net> Date: Wed, 26 Aug 2009 22:29:24 -0300 Subject: Adding backupkeytype parameter at backupninja::rdiff --- manifests/rdiff.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/rdiff.pp b/manifests/rdiff.pp index b1dd7d2..a8956f3 100644 --- a/manifests/rdiff.pp +++ b/manifests/rdiff.pp @@ -25,7 +25,7 @@ define backupninja::rdiff( "/home", "/usr/local/*bin", "/var/lib/dpkg/status*" ], $vsinclude = false, $keep = 30, $sshoptions = false, $options = false, $ssh_dir_manage = true, $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true, - $backuptag = false, $home = false) + $backuptag = false, $home = false, $backupkeytype = false) { include backupninja::client case $type { @@ -42,7 +42,7 @@ define backupninja::rdiff( "${user}-${name}": user => $user, host => $host, dir => $real_home, manage_ssh_dir => $ssh_dir_manage, ssh_dir => $ssh_dir, authorized_keys_file => $authorized_keys_file, installuser => $installuser, - backuptag => $backuptag + backuptag => $backuptag, keytype => $backupkeytype, } backupninja::client::key -- cgit v1.2.3 From 618cddaaeb0a89d3f01f359ebcb80be9d95264da Mon Sep 17 00:00:00 2001 From: Silvio Rhatto <rhatto@riseup.net> Date: Wed, 26 Aug 2009 22:40:24 -0300 Subject: Setting the right default value for backupkeytype --- manifests/dup.pp | 2 +- manifests/rdiff.pp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/dup.pp b/manifests/dup.pp index 05d4892..f12fc0f 100644 --- a/manifests/dup.pp +++ b/manifests/dup.pp @@ -75,7 +75,7 @@ define backupninja::duplicity( $order = 90, $destuser = false, # configs to backupninja client $backupkeystore = false, - $backupkeytype = false, + $backupkeytype = '', # options to backupninja server sandbox $ssh_dir_manage = true, $ssh_dir = false, diff --git a/manifests/rdiff.pp b/manifests/rdiff.pp index a8956f3..579071b 100644 --- a/manifests/rdiff.pp +++ b/manifests/rdiff.pp @@ -25,7 +25,7 @@ define backupninja::rdiff( "/home", "/usr/local/*bin", "/var/lib/dpkg/status*" ], $vsinclude = false, $keep = 30, $sshoptions = false, $options = false, $ssh_dir_manage = true, $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true, - $backuptag = false, $home = false, $backupkeytype = false) + $backuptag = false, $home = false, $backupkeytype = '') { include backupninja::client case $type { -- cgit v1.2.3 From 6734c256525e1dd42ba3648db82083bcabca66ed Mon Sep 17 00:00:00 2001 From: Silvio Rhatto <rhatto@riseup.net> Date: Wed, 26 Aug 2009 22:48:57 -0300 Subject: Avoiding duplicate file definitions at backupninja::client::key --- manifests/client.pp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/manifests/client.pp b/manifests/client.pp index a3d2242..8368eb4 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -72,14 +72,18 @@ class backupninja::client { case $install_key { true: { - file { "${backupninja::client::real_keydestination}": - ensure => directory, - mode => 0700, owner => $key_owner, group => $key_group, + if !defined(File["${backupninja::client::real_keydestination}"]) { + file { "${backupninja::client::real_keydestination}": + ensure => directory, + mode => 0700, owner => $key_owner, group => $key_group, + } } - file { "${backupninja::client::real_keydestination}/id_${key_type}": - source => "${key_store}/${real_user}_id_${key_type}", - mode => 0400, owner => $key_owner, group => $key_group, - require => File["${backupninja::client::real_keydestination}"], + if !defined(File["${backupninja::client::real_keydestination/id_${key_type}"]) { + file { "${backupninja::client::real_keydestination}/id_${key_type}": + source => "${key_store}/${real_user}_id_${key_type}", + mode => 0400, owner => $key_owner, group => $key_group, + require => File["${backupninja::client::real_keydestination}"], + } } } } -- cgit v1.2.3