From 058ebe28086cd53f6fe86b794d6b658c95124ed7 Mon Sep 17 00:00:00 2001 From: Jerome Charaoui Date: Thu, 19 Mar 2015 17:05:32 -0400 Subject: fix autoload, first attempt --- manifests/client.pp | 106 ---------------------------------------------------- 1 file changed, 106 deletions(-) (limited to 'manifests/client.pp') diff --git a/manifests/client.pp b/manifests/client.pp index c41f6e7..f0531a0 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -1,49 +1,3 @@ -class backupninja::client::defaults { - $configdir = $cfg_override ? { - '' => "/etc/backup.d", - default => $cfg_override, - } - $real_keystore = $backupkeystore ? { - '' => "$fileserver/keys/backupkeys", - default => $backupkeystore, - } - $real_keytype = $backupkeytype ? { - '' => 'rsa', - false => 'rsa', - default => $backupkeytype, - } - $real_keydestination = $keydestination ? { - '' => '/root/.ssh', - default => $keydestination, - } - $real_keyowner = $keyowner ? { - '' => 0, - default => $keyowner, - } - $real_keygroup = $keygroup ? { - '' => 0, - default => $keygroup, - } - $real_keymanage = $keymanage ? { - '' => true, - default => $keymanage - } - $real_ssh_dir_manage = $ssh_dir_manage ? { - '' => true, - default => $ssh_dir_manage - } - if !defined(Package["backupninja"]) { - if $backupninja_ensure_version == '' { $backupninja_ensure_version = 'installed' } - package { 'backupninja': - ensure => $backupninja_ensure_version - } - } - file { $configdir: - ensure => directory, - mode => 750, owner => 0, group => 0; - } -} - class backupninja::client inherits backupninja::client::defaults { define key( $user = false, $host = false, $createkey=false, $installkey=false, @@ -117,63 +71,3 @@ class backupninja::client inherits backupninja::client::defaults { } } } - -class backupninja::client::maildir inherits backupninja::client::defaults { - - if !defined(Package["rsync"]) { - if $rsync_ensure_version == '' { $rsync_ensure_version = 'installed' } - package { 'rsync': - ensure => $rsync_ensure_version, - } - } -} - -class backupninja::client::rdiff_backup inherits backupninja::client::defaults { - - if !defined(Package["rdiff-backup"]) { - if $rdiff_backup_ensure_version == '' { $rdiff_backup_ensure_version = 'installed' } - package { 'rdiff-backup': - ensure => $rdiff_backup_ensure_version, - } - } -} - -class backupninja::client::duplicity inherits backupninja::client::defaults { - - if !defined(Package["duplicity"]) { - if $duplicity_ensure_version == '' { $duplicity_ensure_version = 'installed' } - package { 'duplicity': - ensure => $duplicity_ensure_version, - } - } -} - -class backupninja::client::sys inherits backupninja::client::defaults { - case $operatingsystem { - debian,ubuntu: { - if !defined(Package["debconf-utils"]) { - if $debconf_utils_ensure_version == '' { $debconf_utils_ensure_version = 'installed' } - package { 'debconf-utils': - ensure => $debconf_utils_ensure_version, - } - } - if !defined(Package["hwinfo"]) { - if $hwinfo_ensure_version == '' { $hwinfo_ensure_version = 'installed' } - package { 'hwinfo': - ensure => $hwinfo_ensure_version, - } - } - } - default: {} - } -} - -class backupninja::client::rsync inherits backupninja::client::defaults { - - if !defined(Package["rsync"]) { - if $rsync_ensure_version == '' { $rsync_ensure_version = 'installed' } - package { 'rsync': - ensure => $rsync_ensure_version, - } - } -} -- cgit v1.2.3 From 48711301ebfe809189a004f19ba347f221cbf8e9 Mon Sep 17 00:00:00 2001 From: Jerome Charaoui Date: Fri, 27 Mar 2015 15:29:17 -0400 Subject: implement parameters w/ defaults in client class, removing the need for client::defaults --- manifests/client.pp | 112 ++++++++++++++++++++----------------------- manifests/client/defaults.pp | 45 ----------------- manifests/duplicity.pp | 17 +++---- manifests/labelmount.pp | 9 ++-- manifests/maildir.pp | 4 +- manifests/mysql.pp | 5 +- manifests/pgsql.pp | 6 +-- manifests/rdiff.pp | 7 +-- manifests/rsync.pp | 6 +-- manifests/sh.pp | 5 +- manifests/svn.pp | 5 +- manifests/sys.pp | 5 +- 12 files changed, 81 insertions(+), 145 deletions(-) delete mode 100644 manifests/client/defaults.pp (limited to 'manifests/client.pp') diff --git a/manifests/client.pp b/manifests/client.pp index f0531a0..3239cde 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -1,73 +1,63 @@ -class backupninja::client inherits backupninja::client::defaults { +class backupninja::client ( + $ensure_backupninja_version = 'installed', + $configdir = '/etc/backup.d', + $keystore = "${::fileserver}/keys/backupkeys", + $keystorefspath = false, + $keytype = 'rsa', + $keydest = '/root/.ssh', + $keyowner = 0, + $keygroup = 0, + $keymanage = true, +) { + + # install client dependencies + ensure_resource('package', 'backupninja', {'ensure' => $ensure_backupninja_version}) + + # set up backupninja config directory + file { $configdir: + ensure => directory, + mode => 750, owner => 0, group => 0; + } + define key( - $user = false, $host = false, $createkey=false, $installkey=false, - $keyowner=false, $keygroup=false, $keystore=false, $keystorefspath='', - $keytype=false, - $keydest=false, $keydestname=false ) + $user = $name, + $createkey = false, + $keymanage = $backupninja::keymanage, + $keyowner = $backupninja::keyowner, + $keygroup = $backupninja::keygroup, + $keystore= $backupninja::keystore, + $keystorefspath = $backupninja::keystorefspath, + $keytype = $backupninja::keytype, + $keydest = $backupninja::keydest, + $keydestname = "id_${backupninja::keytpe}" ) { - $real_user = $user ? { - false => $name, - default => $user - } - $real_host = $host ? { - false => $user, - default => $host - } - $install_key = $installkey ? { - false => "${backupninja::client::defaults::real_keymanage}", - default => $installkey, - } - $key_owner = $keyowner ? { - false => "${backupninja::client::defaults::real_keyowner}", - default => $keyowner, - } - $key_group = $keygroup ? { - false => "${backupninja::client::defaults::real_keygroup}", - default => $keygroup, - } - $key_store = $keystore ? { - false => "${backupninja::client::defaults::real_keystore}", - default => $keystore, - } - $key_type = $keytype ? { - '' => "${backupninja::client::defaults::real_keytype}", - false => "${backupninja::client::defaults::real_keytype}", - default => $keytype, - } - $key_dest = $keydest ? { - false => "${backupninja::client::defaults::real_keydestination}", - default => $keydest, - } - $key_dest_name = $keydestname ? { - false => "id_$key_type", - default => $keydestname, - } - $key_dest_file = "${key_dest}/${key_dest_name}" + # generate the key if $createkey == true { if $keystorefspath == false { err("need to define a destination directory for sshkey creation!") } - $ssh_keys = ssh_keygen("${keystorefspath}/${key_dest_name}") + $ssh_keys = ssh_keygen("${keystorefspath}/${keydestname}") } - - case $install_key { - true: { - if !defined(File["$key_dest"]) { - file { "$key_dest": - ensure => directory, - mode => 0700, owner => $key_owner, group => $key_group, - } - } - if !defined(File["$key_dest_file"]) { - file { "$key_dest_file": - source => "${key_store}/${key_dest_name}", - mode => 0400, owner => $key_owner, group => $key_group, - require => File["$key_dest"], - } - } - } + # deploy/manage the key + if $keymanage == true { + $keydestfile = "${keydest}/${keydestname}" + ensure_resource('file', $keydest, { + 'ensure' => 'directory', + 'mode' => '0700', + 'owner' => $keyowner, + 'group' => $keygroup + }) + ensure_resource('file', $keydestfile, { + 'ensure' => 'present', + 'source' => "${keystore}/${keydestname}", + 'mode' => '0700', + 'owner' => $keyowner, + 'group' => $keygroup, + 'require' => 'File["$key_dest"]' + }) } } + } diff --git a/manifests/client/defaults.pp b/manifests/client/defaults.pp deleted file mode 100644 index 9dc8747..0000000 --- a/manifests/client/defaults.pp +++ /dev/null @@ -1,45 +0,0 @@ -class backupninja::client::defaults { - $configdir = $cfg_override ? { - '' => "/etc/backup.d", - default => $cfg_override, - } - $real_keystore = $backupkeystore ? { - '' => "$fileserver/keys/backupkeys", - default => $backupkeystore, - } - $real_keytype = $backupkeytype ? { - '' => 'rsa', - false => 'rsa', - default => $backupkeytype, - } - $real_keydestination = $keydestination ? { - '' => '/root/.ssh', - default => $keydestination, - } - $real_keyowner = $keyowner ? { - '' => 0, - default => $keyowner, - } - $real_keygroup = $keygroup ? { - '' => 0, - default => $keygroup, - } - $real_keymanage = $keymanage ? { - '' => true, - default => $keymanage - } - $real_ssh_dir_manage = $ssh_dir_manage ? { - '' => true, - default => $ssh_dir_manage - } - if !defined(Package["backupninja"]) { - if $backupninja_ensure_version == '' { $backupninja_ensure_version = 'installed' } - package { 'backupninja': - ensure => $backupninja_ensure_version - } - } - file { $configdir: - ensure => directory, - mode => 750, owner => 0, group => 0; - } -} diff --git a/manifests/duplicity.pp b/manifests/duplicity.pp index 8313eb9..fa68324 100644 --- a/manifests/duplicity.pp +++ b/manifests/duplicity.pp @@ -82,11 +82,11 @@ define backupninja::duplicity( $order = 90, $destuser = false, $desturl = false, # configs to backupninja client - $backupkeystore = false, - $backupkeystorefspath = '', - $backupkeytype = "rsa", - $backupkeydest = false, - $backupkeydestname = false, + $backupkeystore = $backupninja::keystore, + $backupkeystorefspath = $backupninja::keystorefspath, + $backupkeytype = $backupninja::keytype, + $backupkeydest = $backupninja::keydest, + $backupkeydestname = $backupninja::keydestname, # options to backupninja server sandbox $ssh_dir_manage = true, $ssh_dir = false, @@ -100,9 +100,6 @@ define backupninja::duplicity( $order = 90, # install client dependencies ensure_resource('package', 'duplicity', {'ensure' => $ensure_duplicity_version}) - # the client with configs for this machine - include backupninja::client::duplicity - case $desthost { false: { err("need to define a destination host for remote backups!") } } case $destdir { false: { err("need to define a destination directory for remote backups!") } } case $password { false: { err("a password is necessary either to unlock the GPG key, or for symmetric encryption!") } } @@ -135,13 +132,13 @@ define backupninja::duplicity( $order = 90, } # the backupninja rule for this duplicity backup - file { "${backupninja::client::defaults::configdir}/${order}_${name}.dup": + file { "${backupninja::configdir}/${order}_${name}.dup": ensure => $ensure, content => template('backupninja/dup.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } } diff --git a/manifests/labelmount.pp b/manifests/labelmount.pp index 6b1f772..8974cec 100644 --- a/manifests/labelmount.pp +++ b/manifests/labelmount.pp @@ -23,23 +23,22 @@ define backupninja::labelmount($order = 10, $label, $dest ) { - include backupninja::client::defaults - file { "${backupninja::client::defaults::configdir}/${order}_${name}.labelmount": + file { "${backupninja::configdir}/${order}_${name}.labelmount": ensure => $ensure, content => template('backupninja/labelmount.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } - file { "${backupninja::client::defaults::configdir}/99_${name}.umount": + file { "${backupninja::configdir}/99_${name}.umount": ensure => $ensure, content => template('backupninja/umount.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } # Copy over the handler scripts themselves, since they're not in the diff --git a/manifests/maildir.pp b/manifests/maildir.pp index c394a5c..a7bb1e5 100644 --- a/manifests/maildir.pp +++ b/manifests/maildir.pp @@ -32,12 +32,12 @@ define backupninja::maildir( case $destuser { false: { err("need to define a destination user for backups!") } } case $destid_file { false: { err("need to define a ssh key id file to use!") } } - file { "${backupninja::client::defaults::configdir}/${order}_${name}.maildir": + file { "${backupninja::configdir}/${order}_${name}.maildir": ensure => $ensure, content => template('backupninja/maildir.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } } diff --git a/manifests/mysql.pp b/manifests/mysql.pp index 8e33e8e..b8877c0 100644 --- a/manifests/mysql.pp +++ b/manifests/mysql.pp @@ -27,13 +27,12 @@ define backupninja::mysql( default => $configfile, } - include backupninja::client::defaults - file { "${backupninja::client::defaults::configdir}/${order}_${name}.mysql": + file { "${backupninja::configdir}/${order}_${name}.mysql": ensure => $ensure, content => template('backupninja/mysql.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } } diff --git a/manifests/pgsql.pp b/manifests/pgsql.pp index 07fab32..d4814be 100644 --- a/manifests/pgsql.pp +++ b/manifests/pgsql.pp @@ -16,14 +16,12 @@ define backupninja::pgsql( $order = 10, $ensure = present, $databases = 'all', $backupdir = "/var/backups/postgres", $compress = true, $vsname = false) { - - include backupninja::client::defaults - file { "${backupninja::client::defaults::configdir}/${order}_${name}.pgsql": + file { "${backupninja::configdir}/${order}_${name}.pgsql": ensure => $ensure, content => template('backupninja/pgsql.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } } diff --git a/manifests/rdiff.pp b/manifests/rdiff.pp index bd88859..ce8da19 100644 --- a/manifests/rdiff.pp +++ b/manifests/rdiff.pp @@ -26,7 +26,8 @@ define backupninja::rdiff( "/home", "/usr/local/*bin", "/var/lib/dpkg/status*" ], $vsinclude = false, $keep = 30, $sshoptions = false, $options = '--force', $ssh_dir_manage = true, $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true, $key = false, - $backuptag = false, $backupkeytype = "rsa", $backupkeystore = false, $extras = false, $nagios2_description = 'backups') + $backuptag = false, $backupkeytype = $backupninja::keytype, $backupkeystore = $backupninja::keystore, + $extras = false, $nagios2_description = 'backups') { # install client dependencies ensure_resource('package', 'rdiff-backup', {'ensure' => $ensure_rdiffbackup_version}) @@ -61,13 +62,13 @@ define backupninja::rdiff( } - file { "${backupninja::client::defaults::configdir}/${order}_${name}.rdiff": + file { "${backupninja::configdir}/${order}_${name}.rdiff": ensure => $ensure, content => template('backupninja/rdiff.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } } diff --git a/manifests/rsync.pp b/manifests/rsync.pp index 7398265..30dfdbb 100644 --- a/manifests/rsync.pp +++ b/manifests/rsync.pp @@ -6,7 +6,7 @@ define backupninja::rsync( $user = false, $home = false, $host = false, $ssh_dir_manage = true, $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true, $key = false, $backuptag = false, - $home = false, $backupkeytype = "rsa", $backupkeystore = false, $extras = false, + $home = false, $backupkeytype = $backupninja::keytype, $backupkeystore = $backupninja::keystore, $extras = false, $nagios2_description = 'backups', $subfolder = 'rsync', $log = false, $partition = false, $fscheck = false, $read_only = false, @@ -78,12 +78,12 @@ define backupninja::rsync( } } - file { "${backupninja::client::defaults::configdir}/${order}_${name}.rsync": + file { "${backupninja::configdir}/${order}_${name}.rsync": ensure => $ensure, content => template('backupninja/rsync.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } } diff --git a/manifests/sh.pp b/manifests/sh.pp index fa6aca5..4a60e5f 100644 --- a/manifests/sh.pp +++ b/manifests/sh.pp @@ -14,13 +14,12 @@ define backupninja::sh($order = 50, $ensure = present, $command_string ) { - include backupninja::client::defaults - file { "${backupninja::client::defaults::configdir}/${order}_${name}.sh": + file { "${backupninja::configdir}/${order}_${name}.sh": ensure => $ensure, content => template('backupninja/sh.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } } diff --git a/manifests/svn.pp b/manifests/svn.pp index 3ab59c9..1ab0597 100644 --- a/manifests/svn.pp +++ b/manifests/svn.pp @@ -17,13 +17,12 @@ define backupninja::svn($order = 20, $tmp = '/var/backups/svn.tmp', $vsname = false ) { - include backupninja::client::defaults - file { "${backupninja::client::defaults::configdir}/${order}_${name}.svn": + file { "${backupninja::configdir}/${order}_${name}.svn": ensure => $ensure, content => template('backupninja/svn.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } } diff --git a/manifests/sys.pp b/manifests/sys.pp index ceaab98..d2b4aa9 100644 --- a/manifests/sys.pp +++ b/manifests/sys.pp @@ -26,7 +26,6 @@ define backupninja::sys($order = 30, $doluks = false, $dolvm = false ) { - include backupninja::client::defaults # install client dependencies case $operatingsystem { @@ -37,12 +36,12 @@ define backupninja::sys($order = 30, default: {} } - file { "${backupninja::client::defaults::configdir}/${order}_${name}.sys": + file { "${backupninja::configdir}/${order}_${name}.sys": ensure => $ensure, content => template('backupninja/sys.conf.erb'), owner => root, group => root, mode => 0600, - require => File["${backupninja::client::defaults::configdir}"] + require => File["${backupninja::configdir}"] } } -- cgit v1.2.3 From 87ddb3e4260b47f0fc99f84d1818145af5be3e36 Mon Sep 17 00:00:00 2001 From: Jerome Charaoui Date: Fri, 27 Mar 2015 17:35:21 -0400 Subject: move ensure_* package dependency parameters to backupninja::client --- manifests/client.pp | 5 +++++ manifests/duplicity.pp | 3 +-- manifests/maildir.pp | 4 ++-- manifests/rdiff.pp | 4 ++-- manifests/rsync.pp | 4 ++-- manifests/sys.pp | 6 ++---- 6 files changed, 14 insertions(+), 12 deletions(-) (limited to 'manifests/client.pp') diff --git a/manifests/client.pp b/manifests/client.pp index 3239cde..9252dc6 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -1,5 +1,10 @@ class backupninja::client ( $ensure_backupninja_version = 'installed', + $ensure_rsync_version = 'installed', + $ensure_rdiffbackup_version = 'installed', + $ensure_debconfutils_version = 'installed', + $ensure_hwinfo_version = 'installed', + $ensure_duplicity_version = 'installed', $configdir = '/etc/backup.d', $keystore = "${::fileserver}/keys/backupkeys", $keystorefspath = false, diff --git a/manifests/duplicity.pp b/manifests/duplicity.pp index fa68324..8c48793 100644 --- a/manifests/duplicity.pp +++ b/manifests/duplicity.pp @@ -39,7 +39,6 @@ # testing debian repositories by the time of this writing. define backupninja::duplicity( $order = 90, $ensure = present, - $ensure_duplicity_version = 'installed', # options to the config file $options = false, $nicelevel = false, @@ -98,7 +97,7 @@ define backupninja::duplicity( $order = 90, $installkey = true ) { # install client dependencies - ensure_resource('package', 'duplicity', {'ensure' => $ensure_duplicity_version}) + ensure_resource('package', 'duplicity', {'ensure' => $backupninja::client::ensure_duplicity_version}) case $desthost { false: { err("need to define a destination host for remote backups!") } } case $destdir { false: { err("need to define a destination directory for remote backups!") } } diff --git a/manifests/maildir.pp b/manifests/maildir.pp index a7bb1e5..c39dcf2 100644 --- a/manifests/maildir.pp +++ b/manifests/maildir.pp @@ -17,14 +17,14 @@ # # define backupninja::maildir( - $order = 99, $ensure = present, $ensure_rsync_version = 'installed', + $order = 99, $ensure = present, $when = 'everyday at 21:00', $srcdir = false, $destdir = false, $desthost = false, $destuser = false, $destid_file = false, $remove = false, $multiconnection = yes, $keepdaily='4', $keepweekly='2', $keepmonthly='2') { # install client dependencies - ensure_resource('package', 'rsync', {'ensure' => $ensure_rsync_version}) + ensure_resource('package', 'rsync', {'ensure' => $backupninja::client::ensure_rsync_version}) case $srcdir { false: { err("need to define a source directory to backup!") } } case $destdir { false: { err("need to define a destination directory to backup!") } } diff --git a/manifests/rdiff.pp b/manifests/rdiff.pp index bf5dc42..8f349e6 100644 --- a/manifests/rdiff.pp +++ b/manifests/rdiff.pp @@ -16,7 +16,7 @@ # directories. # define backupninja::rdiff( - $order = 90, $ensure = present, $ensure_rdiffbackup_version = 'installed', + $order = 90, $ensure = present, $user = false, $home = "/home/${user}-${name}", $host = false, $type = 'local', $exclude = [ "/home/*/.gnupg", "/home/*/.local/share/Trash", "/home/*/.Trash", @@ -30,7 +30,7 @@ define backupninja::rdiff( $extras = false, $nagios_description = 'backups') { # install client dependencies - ensure_resource('package', 'rdiff-backup', {'ensure' => $ensure_rdiffbackup_version}) + ensure_resource('package', 'rdiff-backup', {'ensure' => $backupninja::client::ensure_rdiffbackup_version}) $directory = "$home/rdiff-backup/" diff --git a/manifests/rsync.pp b/manifests/rsync.pp index 612d1af..0f730a0 100644 --- a/manifests/rsync.pp +++ b/manifests/rsync.pp @@ -2,7 +2,7 @@ # Based on backupninja::rdiff define backupninja::rsync( - $order = 90, $ensure = present, $ensure_rsync_version = 'installed', + $order = 90, $ensure = present, $user = false, $home = false, $host = false, $ssh_dir_manage = true, $ssh_dir = false, $authorized_keys_file = false, $installuser = true, $installkey = true, $key = false, $backuptag = false, @@ -31,7 +31,7 @@ define backupninja::rsync( $rm = false, $cp = false, $touch = false, $mv = false, $fsck = false) { # install client dependencies - ensure_resource('package', 'rsync', {'ensure' => $ensure_rsync_version}) + ensure_resource('package', 'rsync', {'ensure' => $backupninja::client::ensure_rsync_version}) # Right now just local origin with remote destination is supported. $from = 'local' diff --git a/manifests/sys.pp b/manifests/sys.pp index d2b4aa9..6fca2f0 100644 --- a/manifests/sys.pp +++ b/manifests/sys.pp @@ -12,8 +12,6 @@ # define backupninja::sys($order = 30, $ensure = present, - $ensure_debconfutils_version = 'installed', - $ensure_hwinfo_version = 'installed', $parentdir = '/var/backups', $packages = true, $packagesfile = '/var/backups/dpkg-selections.txt', @@ -30,8 +28,8 @@ define backupninja::sys($order = 30, # install client dependencies case $operatingsystem { debian,ubuntu: { - ensure_resource('package', 'debconf-utils', {'ensure' => $ensure_debconfutils_version}) - ensure_resource('package', 'hwinfo', {'ensure' => $ensure_hwinfo_version}) + ensure_resource('package', 'debconf-utils', {'ensure' => $backupninja::client::ensure_debconfutils_version}) + ensure_resource('package', 'hwinfo', {'ensure' => $backupninja::client::ensure_hwinfo_version}) } default: {} } -- cgit v1.2.3 From d18c3e038a1018a86b6cd94b7076cd8bc7163271 Mon Sep 17 00:00:00 2001 From: Jerome Charaoui Date: Fri, 17 Apr 2015 14:46:49 -0400 Subject: Rename backupninja::client class to backupninja --- manifests/client.pp | 68 -------------------------------------------------- manifests/duplicity.pp | 4 +-- manifests/init.pp | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++ manifests/maildir.pp | 2 +- manifests/rdiff.pp | 4 +-- manifests/rsync.pp | 4 +-- manifests/sys.pp | 4 +-- 7 files changed, 77 insertions(+), 77 deletions(-) delete mode 100644 manifests/client.pp create mode 100644 manifests/init.pp (limited to 'manifests/client.pp') diff --git a/manifests/client.pp b/manifests/client.pp deleted file mode 100644 index 9252dc6..0000000 --- a/manifests/client.pp +++ /dev/null @@ -1,68 +0,0 @@ -class backupninja::client ( - $ensure_backupninja_version = 'installed', - $ensure_rsync_version = 'installed', - $ensure_rdiffbackup_version = 'installed', - $ensure_debconfutils_version = 'installed', - $ensure_hwinfo_version = 'installed', - $ensure_duplicity_version = 'installed', - $configdir = '/etc/backup.d', - $keystore = "${::fileserver}/keys/backupkeys", - $keystorefspath = false, - $keytype = 'rsa', - $keydest = '/root/.ssh', - $keyowner = 0, - $keygroup = 0, - $keymanage = true, -) { - - # install client dependencies - ensure_resource('package', 'backupninja', {'ensure' => $ensure_backupninja_version}) - - # set up backupninja config directory - file { $configdir: - ensure => directory, - mode => 750, owner => 0, group => 0; - } - - define key( - $user = $name, - $createkey = false, - $keymanage = $backupninja::keymanage, - $keyowner = $backupninja::keyowner, - $keygroup = $backupninja::keygroup, - $keystore= $backupninja::keystore, - $keystorefspath = $backupninja::keystorefspath, - $keytype = $backupninja::keytype, - $keydest = $backupninja::keydest, - $keydestname = "id_${backupninja::keytpe}" ) - { - - # generate the key - if $createkey == true { - if $keystorefspath == false { - err("need to define a destination directory for sshkey creation!") - } - $ssh_keys = ssh_keygen("${keystorefspath}/${keydestname}") - } - - # deploy/manage the key - if $keymanage == true { - $keydestfile = "${keydest}/${keydestname}" - ensure_resource('file', $keydest, { - 'ensure' => 'directory', - 'mode' => '0700', - 'owner' => $keyowner, - 'group' => $keygroup - }) - ensure_resource('file', $keydestfile, { - 'ensure' => 'present', - 'source' => "${keystore}/${keydestname}", - 'mode' => '0700', - 'owner' => $keyowner, - 'group' => $keygroup, - 'require' => 'File["$key_dest"]' - }) - } - } - -} diff --git a/manifests/duplicity.pp b/manifests/duplicity.pp index 8c48793..058945d 100644 --- a/manifests/duplicity.pp +++ b/manifests/duplicity.pp @@ -97,7 +97,7 @@ define backupninja::duplicity( $order = 90, $installkey = true ) { # install client dependencies - ensure_resource('package', 'duplicity', {'ensure' => $backupninja::client::ensure_duplicity_version}) + ensure_resource('package', 'duplicity', {'ensure' => $backupninja::ensure_duplicity_version}) case $desthost { false: { err("need to define a destination host for remote backups!") } } case $destdir { false: { err("need to define a destination directory for remote backups!") } } @@ -118,7 +118,7 @@ define backupninja::duplicity( $order = 90, } # the client's ssh key - backupninja::client::key { "${destuser}-${name}": + backupninja::key { "${destuser}-${name}": user => $destuser, host => $desthost, createkey => $createkey, diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..9faba5d --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,68 @@ +class backupninja ( + $ensure_backupninja_version = 'installed', + $ensure_rsync_version = 'installed', + $ensure_rdiffbackup_version = 'installed', + $ensure_debconfutils_version = 'installed', + $ensure_hwinfo_version = 'installed', + $ensure_duplicity_version = 'installed', + $configdir = '/etc/backup.d', + $keystore = "${::fileserver}/keys/backupkeys", + $keystorefspath = false, + $keytype = 'rsa', + $keydest = '/root/.ssh', + $keyowner = 0, + $keygroup = 0, + $keymanage = true, +) { + + # install client dependencies + ensure_resource('package', 'backupninja', {'ensure' => $ensure_backupninja_version}) + + # set up backupninja config directory + file { $configdir: + ensure => directory, + mode => 750, owner => 0, group => 0; + } + + define key( + $user = $name, + $createkey = false, + $keymanage = $backupninja::keymanage, + $keyowner = $backupninja::keyowner, + $keygroup = $backupninja::keygroup, + $keystore= $backupninja::keystore, + $keystorefspath = $backupninja::keystorefspath, + $keytype = $backupninja::keytype, + $keydest = $backupninja::keydest, + $keydestname = "id_${backupninja::keytpe}" ) + { + + # generate the key + if $createkey == true { + if $keystorefspath == false { + err("need to define a destination directory for sshkey creation!") + } + $ssh_keys = ssh_keygen("${keystorefspath}/${keydestname}") + } + + # deploy/manage the key + if $keymanage == true { + $keydestfile = "${keydest}/${keydestname}" + ensure_resource('file', $keydest, { + 'ensure' => 'directory', + 'mode' => '0700', + 'owner' => $keyowner, + 'group' => $keygroup + }) + ensure_resource('file', $keydestfile, { + 'ensure' => 'present', + 'source' => "${keystore}/${keydestname}", + 'mode' => '0700', + 'owner' => $keyowner, + 'group' => $keygroup, + 'require' => 'File["$key_dest"]' + }) + } + } + +} diff --git a/manifests/maildir.pp b/manifests/maildir.pp index c39dcf2..2454b82 100644 --- a/manifests/maildir.pp +++ b/manifests/maildir.pp @@ -24,7 +24,7 @@ define backupninja::maildir( $keepmonthly='2') { # install client dependencies - ensure_resource('package', 'rsync', {'ensure' => $backupninja::client::ensure_rsync_version}) + ensure_resource('package', 'rsync', {'ensure' => $backupninja::ensure_rsync_version}) case $srcdir { false: { err("need to define a source directory to backup!") } } case $destdir { false: { err("need to define a destination directory to backup!") } } diff --git a/manifests/rdiff.pp b/manifests/rdiff.pp index 8f349e6..6a602ea 100644 --- a/manifests/rdiff.pp +++ b/manifests/rdiff.pp @@ -30,7 +30,7 @@ define backupninja::rdiff( $extras = false, $nagios_description = 'backups') { # install client dependencies - ensure_resource('package', 'rdiff-backup', {'ensure' => $backupninja::client::ensure_rdiffbackup_version}) + ensure_resource('package', 'rdiff-backup', {'ensure' => $backupninja::ensure_rdiffbackup_version}) $directory = "$home/rdiff-backup/" @@ -51,7 +51,7 @@ define backupninja::rdiff( nagios_description => $nagios_description } - backupninja::client::key + backupninja::key { "${user}-${name}": user => $user, host => $host, installkey => $installkey, diff --git a/manifests/rsync.pp b/manifests/rsync.pp index 0f730a0..160fad7 100644 --- a/manifests/rsync.pp +++ b/manifests/rsync.pp @@ -31,7 +31,7 @@ define backupninja::rsync( $rm = false, $cp = false, $touch = false, $mv = false, $fsck = false) { # install client dependencies - ensure_resource('package', 'rsync', {'ensure' => $backupninja::client::ensure_rsync_version}) + ensure_resource('package', 'rsync', {'ensure' => $backupninja::ensure_rsync_version}) # Right now just local origin with remote destination is supported. $from = 'local' @@ -68,7 +68,7 @@ define backupninja::rsync( nagios_description => $nagios_description } - backupninja::client::key { "${user}-${name}": + backupninja::key { "${user}-${name}": user => $user, host => $host, installkey => $installkey, diff --git a/manifests/sys.pp b/manifests/sys.pp index 6fca2f0..946a525 100644 --- a/manifests/sys.pp +++ b/manifests/sys.pp @@ -28,8 +28,8 @@ define backupninja::sys($order = 30, # install client dependencies case $operatingsystem { debian,ubuntu: { - ensure_resource('package', 'debconf-utils', {'ensure' => $backupninja::client::ensure_debconfutils_version}) - ensure_resource('package', 'hwinfo', {'ensure' => $backupninja::client::ensure_hwinfo_version}) + ensure_resource('package', 'debconf-utils', {'ensure' => $backupninja::ensure_debconfutils_version}) + ensure_resource('package', 'hwinfo', {'ensure' => $backupninja::ensure_hwinfo_version}) } default: {} } -- cgit v1.2.3