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/init.pp | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 manifests/init.pp (limited to 'manifests/init.pp') diff --git a/manifests/init.pp b/manifests/init.pp deleted file mode 100644 index fba8cc4..0000000 --- a/manifests/init.pp +++ /dev/null @@ -1,17 +0,0 @@ -import "client.pp" -import "config.pp" -import "dup.pp" -import "labelmount.pp" -import "maildir.pp" -import "mysql.pp" -import "pgsql.pp" -import "rdiff.pp" -import "server.pp" -import "sh.pp" -import "svn.pp" -import "sys.pp" - -class backupninja { - -} - -- 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/init.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 From 8d97365688f59a8990fa549d0a0cc227d1187e76 Mon Sep 17 00:00:00 2001 From: Jerome Charaoui Date: Fri, 17 Apr 2015 15:19:59 -0400 Subject: Merge backupninja:config class into base client class --- manifests/init.pp | 22 ++++++++++++++++++++++ templates/backupninja.conf.erb | 12 ++++++------ 2 files changed, 28 insertions(+), 6 deletions(-) (limited to 'manifests/init.pp') diff --git a/manifests/init.pp b/manifests/init.pp index 9faba5d..17f83df 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -13,6 +13,21 @@ class backupninja ( $keyowner = 0, $keygroup = 0, $keymanage = true, + $configfile = '/etc/backupninja.conf', + $loglvl = 4, + $when = 'everyday at 01:00', + $reportemail = 'root', + $reportsuccess = false, + $reportwarning = true, + $reporthost = undef, + $reportuser = undef, + $reportdirectory = undef, + $logfile = '/var/log/backupninja.log', + $configdir = '/etc/backup.d', + $scriptdir = '/usr/share/backupninja', + $libdir = '/usr/lib/backupninja', + $usecolors = true, + $vservers = false ) { # install client dependencies @@ -65,4 +80,11 @@ class backupninja ( } } + file { $configfile: + content => template('backupninja/backupninja.conf.erb'), + owner => root, + group => 0, + mode => '0644' + } + } diff --git a/templates/backupninja.conf.erb b/templates/backupninja.conf.erb index abc7c29..fe7affa 100644 --- a/templates/backupninja.conf.erb +++ b/templates/backupninja.conf.erb @@ -8,14 +8,14 @@ when = <%= send(:when) %> reportemail = <%= reportemail %> reportsuccess = <%= reportsuccess ? 'yes' : 'no' %> reportwarning = <%= reportwarning ? 'yes' : 'no' %> -<% if reporthost.is_a? String -%> -<%= 'reporthost = ' + reporthost %> +<% if @reporthost -%> +<%= 'reporthost = ' + @reporthost %> <% end -%> -<% if reportuser.is_a? String -%> -<%= 'reportuser = ' + reportuser %> +<% if @reportuser -%> +<%= 'reportuser = ' + @reportuser %> <% end -%> -<% if reportdirectory.is_a? String -%> -<%= 'reportdirectory = ' + reportdirectory %> +<% if @reportdirectory -%> +<%= 'reportdirectory = ' + @reportdirectory %> <% end -%> logfile = <%= logfile %> configdirectory = <%= configdir %> -- cgit v1.2.3