From 1bf7ed061e334a6b622161d4827181e20c471f9b Mon Sep 17 00:00:00 2001 From: Antoine Beaupre Date: Thu, 11 Dec 2008 09:07:15 -0500 Subject: fix user initialisation. without this i was getting: Could not retrieve catalog: Puppet::Parser::AST::Resource failed with error ArgumentError: Duplicate definition: User[false] is already defined in file /etc/puppet/modules/backupninja/manifests/server.pp at line 103; cannot redefine at /etc/puppet/modules/backupninja/manifests/server.pp:103 on node alexandria.koumbit.net also add rsync and rdiff-backup on the backup server to make those methods work out of the box --- manifests/server.pp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'manifests') diff --git a/manifests/server.pp b/manifests/server.pp index e4298ef..bf7e788 100644 --- a/manifests/server.pp +++ b/manifests/server.pp @@ -26,6 +26,8 @@ class backupninja::server { User <<| tag == "backupninja-$real_backupserver_tag" |>> File <<| tag == "backupninja-$real_backupserver_tag" |>> + package { [ "rsync", "rdiff-backup" ]: ensure => installed } + # this define allows nodes to declare a remote backup sandbox, that have to # get created on the server define sandbox( @@ -34,7 +36,7 @@ class backupninja::server { $gid = "backupninjas", $backuptag = false) { - $real_user = $name ? { + $real_user = $user ? { false => $name, default => $user, '' => $name, @@ -66,7 +68,7 @@ class backupninja::server { @@file { "$real_dir": ensure => directory, - mode => 0750, owner => $user, group => 0, + mode => 0750, owner => $real_user, group => 0, tag => "$real_backuptag", } case $installuser { @@ -75,7 +77,7 @@ class backupninja::server { true: { @@file { "${real_ssh_dir}": ensure => directory, - mode => 0700, owner => $user, group => 0, + mode => 0700, owner => $real_user, group => 0, require => File["$real_dir"], tag => "$real_backuptag", } @@ -84,13 +86,13 @@ class backupninja::server { @@file { "${real_ssh_dir}/${real_authorized_keys_file}": ensure => present, mode => 0644, owner => 0, group => 0, - source => "$real_backupkeys/${user}_id_rsa.pub", + source => "$real_backupkeys/${real_user}_id_rsa.pub", require => File["${real_ssh_dir}"], tag => "$real_backuptag", } case $uid { false: { - @@user { "$user": + @@user { "$real_user": ensure => "present", gid => "$gid", comment => "$name backup sandbox", @@ -103,7 +105,7 @@ class backupninja::server { } } default: { - @@user { "$user": + @@user { "$real_user": ensure => "present", uid => "$uid", gid => "$gid", -- cgit v1.2.3