]> gitweb.fluxo.info Git - puppet-backupninja.git/commitdiff
change the backupninja::client::key definition to use the $user variable
authorMicah Anderson <micah@riseup.net>
Fri, 30 May 2008 17:43:51 +0000 (17:43 +0000)
committerMicah Anderson <micah@riseup.net>
Fri, 30 May 2008 17:43:51 +0000 (17:43 +0000)
change the $host variable to no longer use the $user variable, that way
multiple rdiff's can be instantiated for a particular host, with different
name variables
in order to do that, the class also has to have the $installkeys variable that
can be passed to backupninja::client::key so that the second rdiff instantiation would
set installkeys => false, otherwise there will be an attempt to duplicate the resource

manifests/client.pp
manifests/rdiff.pp
manifests/server.pp

index 67191d9993a3b6730734db522a04aebb3b7b3d4a..69422994dbadd3f220b21b2e01cb6c4d5ec48bde 100644 (file)
@@ -33,8 +33,16 @@ class backupninja::client {
   file { $configdir:
     ensure => directory
   }
-  define key ( $host=$user, $installkeys=false, $keyowner=false, $keygroup=false, $keystore=false, $keytype=false )
+  define key ( $user = false, $host = false, $installkeys=false, $keyowner=false, $keygroup=false, $keystore=false, $keytype=false )
   {
+    $real_user = $user ? {
+      false => $name,
+      default => $user
+    }
+    $real_host = $host ? {
+      false => $user,
+      default => $host
+    }
     $install_keys = $installkeys ? {
        false => "${backupninja::client::real_keymanage}",
        default => $installkeys,
@@ -64,7 +72,7 @@ class backupninja::client {
           mode => 700, owner => $key_owner, group => $key_group,
         }
         file { "${backupninja::client::real_keydestination}/id_${key_type}":
-          source => "${key_store}/${host}_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}"],
         }
index 02f72e67ea0b732fc2d36ef85b4fc1a134450812..aec4d965891dd8800a6f53176dccab0217972734 100644 (file)
@@ -25,14 +25,15 @@ define backupninja::rdiff($order = 90,
                            $include = [ "/var/spool/cron/crontabs", "/var/backups", "/etc", "/root", "/home", "/usr/local/*bin", "/var/lib/dpkg/status*" ],
                            $keep = 30,
                            $sshoptions = false,
-                           $options = false
+                           $options = false,
+                           $installkeys = true
                           ) {
        include backupninja::client
        case $type {
                'remote': {
                        case $host { false: { err("need to define a host for remote backups!") } }
-                       backupninja::server::sandbox { $user-$name: user => $user, host => $host, dir => $directory }
-                        backupninja::client::key { $user: }
+                       backupninja::server::sandbox { "${user}-${name}": user => $user, host => $host, dir => $directory }
+                        backupninja::client::key { "${user}-${name}": user => $user, host => $host, installkeys => $installkeys }
                }
        }
        file { "${backupninja::client::configdir}/${order}_${name}.rdiff":
index dbeeca09378cb12b62ab0d0201000f234dcecbd2..3952ae3a92b2db5de0d56fd99d84e2f9dff7c472 100644 (file)
@@ -40,26 +40,26 @@ class backupninja::server {
     }
     @@file { "$real_dir":
       ensure => directory,
-      mode => 750, owner => $name, group => 0,
+      mode => 750, owner => $user, group => 0,
       tag => "backupninja-$real_host",
     }
     @@file { "$real_dir/.ssh":
       ensure => directory,
-      mode => 700, owner => $name, group => 0,
+      mode => 700, owner => $user, group => 0,
       require => File["$real_dir"],
       tag => "backupninja-$real_host",
     }
     @@file { "$real_dir/.ssh/authorized_keys":
       ensure => present,
       mode => 644, owner => 0, group => 0,
-      source => "$real_backupkeys/${name}_id_rsa.pub",
+      source => "$real_backupkeys/${user}_id_rsa.pub",
       require => File["$real_dir/.ssh"],
       tag => "backupninja-$real_host",
     }
     
     case $uid {
       false: {
-        @@user { "$name":
+        @@user { "$user":
           ensure  => "present",
           gid     => "$gid",
           comment => "$name backup sandbox",
@@ -72,7 +72,7 @@ class backupninja::server {
         }
       }
       default: {
-        @@user { "$name":
+        @@user { "$user":
           ensure  => "present",
           uid     => "$uid",
           gid     => "$gid",