$sshoptions = false,
$options = false,
$installuser = true,
- $installkey = true
+ $installkey = true,
+ $backuptag = false
) {
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, installuser => $installuser }
+ backupninja::server::sandbox { "${user}-${name}": user => $user, host => $host, dir => $directory, installuser => $installuser, backuptag => $backuptag }
backupninja::client::key { "${user}-${name}": user => $user, host => $host, installkey => $installkey }
}
}
# 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, $backupkeys = false, $uid = false, $gid = "backupninjas") {
+ define sandbox($user = false, $host = false, $installuser = true, $dir = false, $backupkeys = false, $uid = false, $gid = "backupninjas", $backuptag = false) {
$real_user = $name ? {
false => $name,
default => $user,
false => "${backupninja::server::real_backupdir}/$fqdn",
default => $dir,
}
+ $real_backuptag = $backuptag ? {
+ false => "backupninja-$real_host",
+ default => $backuptag,
+ }
+
@@file { "$real_dir":
ensure => directory,
mode => 750, owner => $user, group => 0,
- tag => "backupninja-$real_host",
+ tag => "$real_backuptag",
}
case $installuser {
true: {
ensure => directory,
mode => 700, owner => $user, group => 0,
require => File["$real_dir"],
- tag => "backupninja-$real_host",
+ tag => "$real_backuptag",
}
@@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",
+ tag => "$real_backuptag",
}
case $uid {
shell => "/bin/sh",
password => '*',
require => Group['backupninjas'],
- tag => "backupninja-$real_host"
+ tag => "$real_backuptag"
}
}
default: {
shell => "/bin/sh",
password => '*',
require => Group['backupninjas'],
- tag => "backupninja-$real_host"
+ tag => "$real_backuptag"
}
}
}