]> gitweb.fluxo.info Git - puppet-backupninja.git/commitdiff
Merge commit 'micah/master'
authorAntoine Beaupre <anarcat@koumbit.org>
Thu, 24 Sep 2009 16:16:03 +0000 (12:16 -0400)
committerAntoine Beaupre <anarcat@koumbit.org>
Thu, 24 Sep 2009 16:16:03 +0000 (12:16 -0400)
Conflicts:

manifests/mysql.pp
manifests/rdiff.pp
manifests/server.pp

1  2 
manifests/maildir.pp
manifests/mysql.pp
manifests/rdiff.pp
manifests/server.pp
templates/rdiff.conf.erb

index 624e5d15e3841979ff009ad6c283cc216cfc5377,d8716543df7faad8d335bfb1d2774de7c616943b..1427af1b6ea0948e6f7b38111cc0ab2955e59887
@@@ -36,7 -36,6 +36,7 @@@ define backupninja::maildir
      owner => root,
      group => root,
      mode => 0600,
-     require => File["${backupninja::client::configdir}"]
+     require => File["${backupninja::client::defaults::configdir}"]
    }
 +  package { rsync: ensure => installed }
  }
index 6241519fd473a98e95ddaf94bf0ff273f38354ce,e6cfe901442a0b27315269c9a3f8d8a04c886a10..83d8f8f2b0daf8432f11fd531f4a79f7f1bdb414
  define backupninja::mysql(
    $order = 10, $ensure = present, $user = false, $dbusername = false, $dbpassword = false,
    $dbhost = 'localhost', $databases = 'all', $backupdir = false, $hotcopy = false,
 -  $sqldump = false, $compress = false, $configfile = '/etc/mysql/debian.cnf',
 +  $sqldump = false, $compress = false, $configfile = true,
    $vsname = false)
  {
-   include backupninja::client
-   file { "${backupninja::client::configdir}/${order}_${name}.mysql":
 +  
 +  $real_configfile = $configfile ? {
 +    true => "/etc/mysql/debian.cnf",
 +    default => $configfile,
 +  }
 +
+   include backupninja::client::defaults
+   file { "${backupninja::client::defaults::configdir}/${order}_${name}.mysql":
      ensure => $ensure,
      content => template('backupninja/mysql.conf.erb'),
      owner => root,
index 8e0e7696d31087b3f080bbfb19cde3e59760b87d,b32a26243b2dae57c7de93f4a3f12278805779e9..1d171b2dbb04b27c40b7d0b943bc50ece1d1201a
@@@ -23,29 -23,31 +23,35 @@@ 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_manage = true,
 -  $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true,
 -  $backuptag = false, $home = false, $backupkeytype = "rsa", $backupkeystore = false)
 +  $vsinclude = false, $keep = 30, $sshoptions = false, $options = '--force', $ssh_dir_manage = true,
 +  $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true, $key = false,
-   $backuptag = false, $extras = false)
++  $backuptag = false, $home = false, $backupkeytype = "rsa", $backupkeystore = false, $extras = false)
  {
-   include backupninja::client
 +  $real_backuptag = $backuptag ? {
 +      false => "backupninja-$host",
 +      default => $backuptag
 +  }
 +
 +  $directory = "$home/rdiff-backup/"
 -  case $directory { false: { err("need to define a directory for where the backups should go!") } }
 -  
+   include backupninja::client::defaults
    case $type {
      'remote': {
        case $host { false: { err("need to define a host for remote backups!") } }
        
+       $real_home = $home ? {
+         false => $directory,
+         default => $home,
+       }
        backupninja::server::sandbox
        {
 -        "${user}-${name}": user => $user, host => $host, dir => $real_home,
 -        manage_ssh_dir => $ssh_dir_manage, ssh_dir => $ssh_dir,
 +        "${user}-${name}": user => $user, host => $fqdn, dir => $home,
 +        manage_ssh_dir => $ssh_dir_manage, ssh_dir => $ssh_dir, key => $key,
          authorized_keys_file => $authorized_keys_file, installuser => $installuser,
-         backuptag => $real_backuptag
 -        backuptag => $backuptag, keytype => $backupkeytype, backupkeys => $backupkeystore,
++        backuptag => $real_backuptag, keytype => $backupkeytype, backupkeys => $backupkeystore,
        }
-       
+      
        backupninja::client::key
        {
          "${user}-${name}": user => $user, host => $host,
      owner => root,
      group => root,
      mode => 0600,
-     require => File["${backupninja::client::configdir}"]
+     require => File["${backupninja::client::defaults::configdir}"]
    }
 +  include backupninja::rdiff-installed
 +}
 +
 +class backupninja::rdiff-installed {
 +  case $lsbdistcodename {
 +    "etch": { $version = "1.2.5-1~bpo40+1" }
 +    default: { $version = "installed" }
 +  }
 +  package { "rdiff-backup": ensure => $version }
  }
    
index 77fc33d5c9a95f5a8cee2862aac904705178971f,790c93134bafe261c3da038e16ed5d8706973cac..52cb11c1982f47059da4bc7ab39184593e110f56
@@@ -48,11 -30,11 +48,11 @@@ class backupninja::server 
    # get created on the server
    define sandbox(
      $user = false, $host = false, $installuser = true, $dir = false, $manage_ssh_dir = true,
-     $ssh_dir = false, $authorized_keys_file = false, $key = false, $key_type = 'ssh-dss', $backupkeys = false, $uid = false,
 -    $ssh_dir = false, $authorized_keys_file = false, $backupkeys = false, $keytype = "rsa",
 -    $uid = false, $gid = "backupninjas", $backuptag = false)
++    $ssh_dir = false, $authorized_keys_file = false, $key = false, $keytype = 'dss', $backupkeys = false, $uid = false,
 +    $gid = "backupninjas", $backuptag = false)
    {
      
 -    $real_user = $name ? {
 +    $real_user = $user ? {
        false => $name,
        default => $user,
        '' => $name,
        default => $authorized_keys_file,
      }
      $real_backuptag = $backuptag ? {
-       false => "backupninja-$fqdn",
+       false => "backupninja-$real_host",
        default => $backuptag,
      }
 -     
 +      
 +    # configure a passive service check for backups
 +    nagios2::passive_service { "backups-$real_host": nagios2_host_name => $real_host, nagios2_description => 'backups', servicegroups => "backups" }
 +
-     @@file { "$real_dir":
-       ensure => directory,
-       mode => 0750, owner => $real_user, group => 0,
-       tag => "$real_backuptag",
+     if !defined(File["$real_dir"]) {
+       @@file { "$real_dir":
+         ensure => directory,
 -        mode => 0750, owner => $user, group => 0,
++        mode => 0750, owner => $real_user, group => 0,
+         tag => "$real_backuptag",
+       }
      }
      case $installuser {
        true: {
          case $manage_ssh_dir {
            true: {
-             @@file { "${real_ssh_dir}":
-               ensure => directory,
-               mode => 0700, owner => $real_user, group => 0,
-               require => [User[$real_user], 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"],
++                mode => 0700, owner => $real_user, group => 0,
++                require => [User[$real_user], File["$real_dir"]],
+                 tag => "$real_backuptag",
+               }
              }
            }
          } 
 -        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,
 -            source => "$real_backupkeys/${user}_id_${keytype}.pub",
 -            require => File["${real_ssh_dir}"],
 -            tag => "$real_backuptag",
 +      case $key {
 +        false: {
-             @@file { "${real_ssh_dir}/${real_authorized_keys_file}":
-               ensure => present,
-               mode => 0644, owner => 0, group => 0,
-               source => "$real_backupkeys/${real_user}_id_rsa.pub",
-               require => File["${real_ssh_dir}"],
-               tag => "$real_backuptag",
++            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,
++                source => "$real_backupkeys/${real_user}_id_${keytype}.pub",
++                require => File["${real_ssh_dir}"],
++                tag => "$real_backuptag",
++              }
 +            }
 +        }
 +        default: {
 +          @@ssh_authorized_key{ $real_user:
 +            type => $key_type,
 +              key => $key,
 +            user => $real_user,
 +            target => "${real_ssh_dir}/${real_authorized_keys_file}",
 +                    tag => "$real_backuptag",
 +            require => User[$real_user],
 +            }
            }
 -        }
 +      }
          case $uid {
            false: {
-             @@user { "$real_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(User["$real_user"]) {
+               @@user { "$real_user":
+                 ensure  => "present",
+                 gid     => "$gid",
+                 comment => "$name backup sandbox",
+                 home    => "$real_dir",
+                 managehome => true,
+                 shell   => "/bin/sh",
+                 password => '*',
 -                require => Group['backupninjas'],
++              require => Group['backupninjas'],
+                 tag => "$real_backuptag"
+               }
              }
            }
            default: {
-             @@user { "$real_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(User["$real_user"]) {
++            if !defined(User["$real_user"]) {
+               @@user { "$real_user":
+                 ensure  => "present",
+                 uid     => "$uid",
+                 gid     => "$gid",
+                 comment => "$name backup sandbox",
+                 home    => "$real_dir",
+                 managehome => true,
+                 shell   => "/bin/sh",
+                 password => '*',
 -                require => Group['backupninjas'],
++              require => Group['backupninjas'],
+                 tag => "$real_backuptag"
+               }
              }
            }
          }
Simple merge