From 53f68419ad51518aaadf0e57641ec10357ac5f80 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Fri, 29 Feb 2008 17:38:32 +0000 Subject: install anarcats backupninja module changes --- manifests/server.pp | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 manifests/server.pp (limited to 'manifests/server.pp') 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" + } + } + } + } +} -- cgit v1.2.3