]> gitweb.fluxo.info Git - puppet-backupninja.git/commitdiff
Trying a different approach to realize exported resources
authorSilvio Rhatto <rhatto@riseup.net>
Sat, 5 Jun 2010 19:49:46 +0000 (16:49 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sat, 5 Jun 2010 19:49:46 +0000 (16:49 -0300)
manifests/server.pp

index ea7d32715cfc2d00ddb84f1838859e71efc711ea..40e90048bda371a41e4c6d4ec696e410e5f10525 100644 (file)
@@ -1,3 +1,9 @@
+define backupninja_server_realize($host) {
+  User               <<| tag == "backupninja-$host" |>>
+  File               <<| tag == "backupninja-$host" |>>
+  Ssh_authorized_key <<| tag == "backupninja-$host" |>>
+}
+
 class backupninja::server {
 
   $real_backupdir = $backupdir ? {
@@ -46,9 +52,8 @@ class backupninja::server {
     }
   }
 
-  User <<| tag == "backupninja-$real_backupserver_tag" |>>
-  File <<| tag == "backupninja-$real_backupserver_tag" |>>
-  Ssh_authorized_key <<| tag == "backupninja-$real_backupserver_tag" |>>
+  # collect all resources from hosted backups
+  Backupninja_server_realize <| tag == "$real_backupserver_tag" |>
 
   if !defined(Package["rsync"]) {
     if $rsync_ensure_version == '' { $rsync_ensure_version = 'installed' }
@@ -91,7 +96,7 @@ class backupninja::server {
       default => $authorized_keys_file,
     }
     $real_backuptag = $backuptag ? {
-      false => "backupninja-$real_host",
+      false => "backupninja-$fqdn",
       default => $backuptag,
     }
 
@@ -105,6 +110,11 @@ class backupninja::server {
       nagios2::passive_service { "backups-${name}": nagios2_host_name => $real_host, nagios2_description => $real_nagios2_description, servicegroups => "backups" }
     }
     
+    @@backupninja_server_realize { "${fqdn}-${real_host}":
+      host => $fqdn,
+      tag  => $real_host,
+    }
+
     if !defined(File["$real_dir"]) {
       @@file { "$real_dir":
         ensure => directory,
@@ -112,11 +122,6 @@ class backupninja::server {
         tag => "$real_backuptag",
       }
     }
-    else {
-      File["$real_dir"] {
-        tag +> "$real_backuptag",
-      }
-    }
     case $installuser {
       true: {
         case $manage_ssh_dir {
@@ -129,11 +134,6 @@ class backupninja::server {
                 tag => "$real_backuptag",
               }
             }
-            else {
-              File["$real_ssh_dir"] {
-                tag +> "$real_backuptag",
-              }
-            }
           }
         } 
        case $key {
@@ -147,11 +147,6 @@ class backupninja::server {
                 tag => "$real_backuptag",
               }
             }
-            else {
-              File["${real_ssh_dir}/${real_authorized_keys_file}"] {
-                tag +> "$real_backuptag",
-              }
-            }
          }
          default: {
               if !defined(Ssh_autorized_key["$real_user"]) {
@@ -164,11 +159,6 @@ class backupninja::server {
                   require => User[$real_user],
                 }
               }
-              else {
-               Ssh_authorized_key["$real_user"] {
-                  tag +> "$real_backuptag",
-                }
-              }
      }
        }
         case $uid {
@@ -186,11 +176,6 @@ class backupninja::server {
                 tag => "$real_backuptag"
               }
             }
-            else {
-              User["$real_user"] {
-                tag +> "$real_backuptag",
-              }
-            }
           }
           default: {
             if !defined(User["$real_user"]) {
@@ -207,11 +192,6 @@ class backupninja::server {
                 tag => "$real_backuptag"
               }
             }
-            else {
-              User["$real_user"] {
-                tag +> "$real_backuptag",
-              }
-            }
           }
         }
       }