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,
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}"],
}
$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":
}
@@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",
}
}
default: {
- @@user { "$name":
+ @@user { "$user":
ensure => "present",
uid => "$uid",
gid => "$gid",