]> gitweb.fluxo.info Git - puppet-backupninja.git/commitdiff
change from installkeys to installkey
authorMicah Anderson <micah@riseup.net>
Fri, 30 May 2008 18:03:32 +0000 (18:03 +0000)
committerMicah Anderson <micah@riseup.net>
Fri, 30 May 2008 18:03:32 +0000 (18:03 +0000)
when you have two rdiff-backup calls, then the User is a Duplicate
definition, i think the only way to do it is to have a variable that
you can set to turn off user handling (which we make $installuser and
$usermanage be consistant with $installkey and $keymanage), which is
set true by default, but when you have a second rdiff call on a host,
you can set it to false

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

index 69422994dbadd3f220b21b2e01cb6c4d5ec48bde..841ae990eb628e47821c463053a0cfef02be61c1 100644 (file)
@@ -33,7 +33,7 @@ class backupninja::client {
   file { $configdir:
     ensure => directory
   }
-  define key ( $user = false, $host = false, $installkeys=false, $keyowner=false, $keygroup=false, $keystore=false, $keytype=false )
+  define key ( $user = false, $host = false, $installkey=false, $keyowner=false, $keygroup=false, $keystore=false, $keytype=false )
   {
     $real_user = $user ? {
       false => $name,
@@ -43,9 +43,9 @@ class backupninja::client {
       false => $user,
       default => $host
     }
-    $install_keys = $installkeys ? {
+    $install_key = $installkey ? {
        false => "${backupninja::client::real_keymanage}",
-       default => $installkeys,
+       default => $installkey,
     }
     $key_owner = $keyowner ? {
        false => "${backupninja::client::real_keyowner}",
@@ -64,8 +64,7 @@ class backupninja::client {
        default => $keytype,
     }
 
-
-    case $install_keys {
+    case $install_key {
       'doit': {
         file { "${backupninja::client::real_keydestination}":
           ensure => directory,
index aec4d965891dd8800a6f53176dccab0217972734..978b961096c581003cc08f0a9ab6310789da9df9 100644 (file)
@@ -26,14 +26,15 @@ define backupninja::rdiff($order = 90,
                            $keep = 30,
                            $sshoptions = false,
                            $options = false,
-                           $installkeys = true
+                           $installuser = true,
+                           $installkey = 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}-${name}": user => $user, host => $host, installkeys => $installkeys }
+                       backupninja::server::sandbox { "${user}-${name}": user => $user, host => $host, dir => $directory, installuser => $installuser }
+                        backupninja::client::key { "${user}-${name}": user => $user, host => $host, installkey => $installkey }
                }
        }
        file { "${backupninja::client::configdir}/${order}_${name}.rdiff":
index 3952ae3a92b2db5de0d56fd99d84e2f9dff7c472..c539399e4b8911ac7b95896ebd2ec3f8f071a864 100644 (file)
@@ -3,6 +3,10 @@ class backupninja::server {
     '' => "/backup",
     default => $backupdir,
   }
+  $real_usermanage = $usermanage ? {
+    '' => 'doit',
+    default => $usermanage
+  }
   $real_backupserver_tag = $backupserver_tag ? {
     '' => $fqdn,
     default => $backupserver_tag
@@ -20,7 +24,7 @@ class backupninja::server {
 
   # this define allows nodes to declare a remote backup sandbox, that have to
   # get created on the server
-  define sandbox($user = false, $host = false, $dir = false, $backupkeys = false, $uid = false, $gid = "backupninjas") {
+  define sandbox($user = false, $host = false, $installuser=false, $dir = false, $backupkeys = false, $uid = false, $gid = "backupninjas") {
     $real_user = $name ? {
       false => $name,
       default => $user,
@@ -30,6 +34,10 @@ class backupninja::server {
       false => $fqdn,
       default => $host,
     }
+    $install_user = $installuser ? {
+      false => "${backupninja::server::real_usermanage}",
+      default => $installuser,
+    }
     $real_backupkeys = $backupkeys ? {
       false => "$fileserver/keys/backupkeys",
       default => $backupkeys,
@@ -43,46 +51,50 @@ class backupninja::server {
       mode => 750, owner => $user, group => 0,
       tag => "backupninja-$real_host",
     }
-    @@file { "$real_dir/.ssh":
-      ensure => directory,
-      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/${user}_id_rsa.pub",
-      require => File["$real_dir/.ssh"],
-      tag => "backupninja-$real_host",
-    }
-    
-    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 => "backupninja-$real_host"
+    case $install_user {
+      'doit': {
+        @@file { "$real_dir/.ssh":
+          ensure => directory,
+          mode => 700, owner => $user, group => 0,
+          require => File["$real_dir"],
+          tag => "backupninja-$real_host",
         }
-      }
-      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 => "backupninja-$real_host"
+        @@file { "$real_dir/.ssh/authorized_keys":
+          ensure => present,
+          mode => 644, owner => 0, group => 0,
+          source => "$real_backupkeys/${user}_id_rsa.pub",
+          require => File["$real_dir/.ssh"],
+          tag => "backupninja-$real_host",
+        }
+    
+        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 => "backupninja-$real_host"
+            }
+          }
+          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 => "backupninja-$real_host"
+            }
+          }
         }
       }
     }