]> gitweb.fluxo.info Git - puppet-backupninja.git/commitdiff
enable the ability to override if the ssh directory is managed or not, in
authorMicah Anderson <micah@riseup.net>
Thu, 31 Jul 2008 14:03:16 +0000 (14:03 +0000)
committerMicah Anderson <micah@riseup.net>
Thu, 31 Jul 2008 14:03:16 +0000 (14:03 +0000)
situations where there is a system-wide /etc/ssh/authorized_keys directory,
this will likely not be managed by the backupninja module, and managing
it here will result in duplicate definitions

manifests/rdiff.pp
manifests/server.pp

index a4c4c058b0068156906d226db6cf6fd2b94db91b..d015d6db1b3dccf9240f2ae1b5efa67c431f5fe3 100644 (file)
@@ -23,8 +23,9 @@ define backupninja::rdiff(
                "/home/*/gtk-gnutella-downloads" ],
   $include = [ "/var/spool/cron/crontabs", "/var/backups", "/etc", "/root",
                "/home", "/usr/local/*bin", "/var/lib/dpkg/status*" ],
-  $vsinclude = false, $keep = 30, $sshoptions = false, $options = false, $ssh_dir = false,
-  $authorized_keys_file = false, $installuser = true, $installkey = true, $backuptag = false)
+  $vsinclude = false, $keep = 30, $sshoptions = false, $options = false, $manage_ssh_dir = true,
+  $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true,
+  $backuptag = false)
 {
   include backupninja::client
   case $type {
@@ -34,8 +35,9 @@ define backupninja::rdiff(
       backupninja::server::sandbox
       {
         "${user}-${name}": user => $user, host => $host, dir => $directory,
-        ssh_dir => $ssh_dir, authorized_keys_file => $authorized_keys_file,
-        installuser => $installuser, backuptag => $backuptag
+        manage_ssh_dir => $manage_ssh_dir, ssh_dir => $ssh_dir,
+        authorized_keys_file => $authorized_keys_file, installuser => $installuser,
+        backuptag => $backuptag
       }
       
       backupninja::client::key
index 39bb5c553fd7486166ecc9d0c7280e33979736e7..ae66991a0c14b3323a4d586d32c6fe1cffa086e8 100644 (file)
@@ -29,9 +29,9 @@ 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, $installuser = true, $dir = false, $ssh_dir = false,
-    $authorized_keys_file = false, $backupkeys = false, $uid = false, $gid = "backupninjas",
-    $backuptag = false)
+    $user = false, $host = false, $installuser = true, $dir = false, $manage_ssh_dir = true,
+    $ssh_dir = false, $authorized_keys_file = false, $backupkeys = false, $uid = false,
+    $gid = "backupninjas", $backuptag = false)
   {
     
     $real_user = $name ? {
@@ -71,12 +71,17 @@ class backupninja::server {
     }
     case $installuser {
       true: {
-        @@file { "${real_ssh_dir}":
-          ensure => directory,
-          mode => 700, owner => $user, group => 0,
-          require => File["$real_dir"],
-          tag => "$real_backuptag",
+        case $manage_ssh_dir {
+          true: {
+            @@file { "${real_ssh_dir}":
+              ensure => directory,
+              mode => 700, owner => $user, group => 0,
+              require => File["$real_dir"],
+              tag => "$real_backuptag",
+            }
+          }
         }
+      }
         @@file { "${real_ssh_dir}/${real_authorized_keys_file}":
           ensure => present,
           mode => 644, owner => 0, group => 0,