file { $configdir:
ensure => directory
}
- define key ( $user = false, $host = false, $installkeys=false, $keyowner=false, $keygroup=false, $keystore=false, $keytype=false )
+ define key ( $user = false, $host = false, $installkey=false, $keyowner=false, $keygroup=false, $keystore=false, $keytype=false )
{
$real_user = $user ? {
false => $name,
false => $user,
default => $host
}
- $install_keys = $installkeys ? {
+ $install_key = $installkey ? {
false => "${backupninja::client::real_keymanage}",
- default => $installkeys,
+ default => $installkey,
}
$key_owner = $keyowner ? {
false => "${backupninja::client::real_keyowner}",
default => $keytype,
}
-
- case $install_keys {
+ case $install_key {
'doit': {
file { "${backupninja::client::real_keydestination}":
ensure => directory,
$keep = 30,
$sshoptions = false,
$options = false,
- $installkeys = true
+ $installuser = true,
+ $installkey = 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}-${name}": user => $user, host => $host, installkeys => $installkeys }
+ backupninja::server::sandbox { "${user}-${name}": user => $user, host => $host, dir => $directory, installuser => $installuser }
+ backupninja::client::key { "${user}-${name}": user => $user, host => $host, installkey => $installkey }
}
}
file { "${backupninja::client::configdir}/${order}_${name}.rdiff":
'' => "/backup",
default => $backupdir,
}
+ $real_usermanage = $usermanage ? {
+ '' => 'doit',
+ default => $usermanage
+ }
$real_backupserver_tag = $backupserver_tag ? {
'' => $fqdn,
default => $backupserver_tag
# this define allows nodes to declare a remote backup sandbox, that have to
# get created on the server
- define sandbox($user = false, $host = false, $dir = false, $backupkeys = false, $uid = false, $gid = "backupninjas") {
+ define sandbox($user = false, $host = false, $installuser=false, $dir = false, $backupkeys = false, $uid = false, $gid = "backupninjas") {
$real_user = $name ? {
false => $name,
default => $user,
false => $fqdn,
default => $host,
}
+ $install_user = $installuser ? {
+ false => "${backupninja::server::real_usermanage}",
+ default => $installuser,
+ }
$real_backupkeys = $backupkeys ? {
false => "$fileserver/keys/backupkeys",
default => $backupkeys,
mode => 750, owner => $user, group => 0,
tag => "backupninja-$real_host",
}
- @@file { "$real_dir/.ssh":
- ensure => directory,
- 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/${user}_id_rsa.pub",
- require => File["$real_dir/.ssh"],
- tag => "backupninja-$real_host",
- }
-
- case $uid {
- false: {
- @@user { "$user":
- ensure => "present",
- gid => "$gid",
- comment => "$name backup sandbox",
- home => "$real_dir",
- managehome => true,
- shell => "/bin/sh",
- password => '*',
- require => Group['backupninjas'],
- tag => "backupninja-$real_host"
+ case $install_user {
+ 'doit': {
+ @@file { "$real_dir/.ssh":
+ ensure => directory,
+ mode => 700, owner => $user, group => 0,
+ require => File["$real_dir"],
+ tag => "backupninja-$real_host",
}
- }
- default: {
- @@user { "$user":
- ensure => "present",
- uid => "$uid",
- gid => "$gid",
- comment => "$name backup sandbox",
- home => "$real_dir",
- managehome => true,
- shell => "/bin/sh",
- password => '*',
- require => Group['backupninjas'],
- tag => "backupninja-$real_host"
+ @@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",
+ }
+
+ case $uid {
+ false: {
+ @@user { "$user":
+ ensure => "present",
+ gid => "$gid",
+ comment => "$name backup sandbox",
+ home => "$real_dir",
+ managehome => true,
+ shell => "/bin/sh",
+ password => '*',
+ require => Group['backupninjas'],
+ tag => "backupninja-$real_host"
+ }
+ }
+ default: {
+ @@user { "$user":
+ ensure => "present",
+ uid => "$uid",
+ gid => "$gid",
+ comment => "$name backup sandbox",
+ home => "$real_dir",
+ managehome => true,
+ shell => "/bin/sh",
+ password => '*',
+ require => Group['backupninjas'],
+ tag => "backupninja-$real_host"
+ }
+ }
}
}
}