diff options
author | Micah Anderson <micah@riseup.net> | 2008-02-29 17:38:32 +0000 |
---|---|---|
committer | Micah Anderson <micah@riseup.net> | 2008-02-29 17:38:32 +0000 |
commit | 53f68419ad51518aaadf0e57641ec10357ac5f80 (patch) | |
tree | 2f86753ac33fea429b0ee02926bba8dfbe2a4df2 /manifests/server.pp | |
parent | 4a59f0dbfbb67964379815a656e318b83702f723 (diff) | |
download | puppet-backupninja-53f68419ad51518aaadf0e57641ec10357ac5f80.tar.gz puppet-backupninja-53f68419ad51518aaadf0e57641ec10357ac5f80.tar.bz2 |
install anarcats backupninja module changes
Diffstat (limited to 'manifests/server.pp')
-rw-r--r-- | manifests/server.pp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/manifests/server.pp b/manifests/server.pp new file mode 100644 index 0000000..40b2dca --- /dev/null +++ b/manifests/server.pp @@ -0,0 +1,53 @@ +class backupninja::server { + $backupdir = $backupdir_override ? { + '' => "/backup", + default => $backupdir_override, + } + group { "backupninjas": + ensure => "present", + gid => 700 + } + file { "$backupdir": + ensure => "directory", + mode => 750, owner => root, group => "backupninjas" + } + User <<| tag == "backupninja-$fqdn" |>> + + # this define allows nodes to declare a remote backup sandbox, that have to + # get created on the server + define sandbox($host, $dir = false, $uid = false, $gid = "backupninjas") { + $real_dir = $dir ? { + false => "${backupninja::server::backupdir}/$fqdn", + default => $dir, + } + case $uid { + false: { + @@user { "$name": + ensure => "present", + gid => "$gid", + comment => "$name backup sandbox", + home => "$real_dir", + managehome => true, + shell => "/bin/sh", + password => '*', + require => [ Group['backupninjas'], File["/backup"] ], + tag => "backupninja-$host" + } + } + default: { + @@user { "$name": + ensure => "present", + uid => "$uid", + gid => "$gid", + comment => "$name backup sandbox", + home => "$real_dir", + managehome => true, + shell => "/bin/sh", + password => '*', + require => [ Group['backupninjas'], File["/backup"] ], + tag => "backupninja-$host" + } + } + } + } +} |