diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2018-05-19 08:17:47 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2018-05-19 08:17:47 -0300 |
commit | cfe68b9c2da2ff48171e2bbdb8988b92f7f41ee1 (patch) | |
tree | aa8f650ccb6a7d33b793bb6451d8447da481f176 /manifests | |
parent | ef69b77ccada9e983cd8e79ed92c90a84a8ff9fe (diff) | |
download | puppet-backup-cfe68b9c2da2ff48171e2bbdb8988b92f7f41ee1.tar.gz puppet-backup-cfe68b9c2da2ff48171e2bbdb8988b92f7f41ee1.tar.bz2 |
Adds borg action and misc changes
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/borg.pp | 31 | ||||
-rw-r--r-- | manifests/duplicity.pp | 2 | ||||
-rw-r--r-- | manifests/init.pp | 1 | ||||
-rw-r--r-- | manifests/params.pp | 2 | ||||
-rw-r--r-- | manifests/utils.pp | 5 |
5 files changed, 37 insertions, 4 deletions
diff --git a/manifests/borg.pp b/manifests/borg.pp new file mode 100644 index 0000000..4d08908 --- /dev/null +++ b/manifests/borg.pp @@ -0,0 +1,31 @@ +define backup::borg( + $port = '22', + $ensure = present, + $keepdaily = '7', + $keepweekly = '4', + $keepmonthly = '3', + $user = $::hostname, + $host = "${title}.${::domain}", + $encryption = 'repokey', + $order = 95, + $periodic_check = absent, + $password, +) { + file { "${backupninja::configdir}/${order}_borg-${host}.sh": + ensure => $ensure, + content => template('backup/borg.sh.erb'), + owner => root, + group => root, + mode => '0600', + require => File["${backupninja::configdir}"], + } + + cron { "borg_check-$title.$domain": + command => "/bin/bash ${backupninja::configdir}/${order}_borg-${host}.sh --check", + user => root, + hour => "0", + minute => "0", + weekday => "0", + ensure => $periodic_check, + } +} diff --git a/manifests/duplicity.pp b/manifests/duplicity.pp index e84e050..c7801a3 100644 --- a/manifests/duplicity.pp +++ b/manifests/duplicity.pp @@ -32,7 +32,7 @@ define backup::duplicity( # the backupninja rule for this duplicity backup file { "${backupninja::configdir}/${order}_duplicity-${title}.sh": ensure => $ensure, - content => template('backup/duplicity.conf.erb'), + content => template('backup/duplicity.sh.erb'), owner => root, group => root, mode => '0600', diff --git a/manifests/init.pp b/manifests/init.pp index 421800f..a4492ca 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -46,6 +46,7 @@ class backup( } package { "duplicity": ensure => installed, } + package { "borgbackup": ensure => installed, } package { "debconf-utils": ensure => installed, } # See http://www.rfc3092.net/2013/09/missing-modules-for-paramiko-and-gio-in-duplicity-foo/ diff --git a/manifests/params.pp b/manifests/params.pp index caeff04..4efed5b 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -6,7 +6,7 @@ class backup::params { # for data that's going to be encrypted and signed $include_unencrypted = [ "/etc", "/var", "/home", ] - $exclude_unencrypted = [ "$backupdir_remote", "$backupdir/duplicity", "$backupdir/restore", "/var/cache", "/var/log", "/var/vservers", "/var/chroot", "/root/.cache", "/var/lib/dpkg", "/var/lib/apt", "/var/lib/aptitude/", "/var/sites/backups", "/var/data/crypt", "/data/backups", "/data/cache" ] + $exclude_unencrypted = [ "$backupdir_remote", "$backupdir/duplicity", "$backupdir/borg", "$backupdir/restore", "/var/cache", "/var/log", "/var/vservers", "/var/chroot", "/root/.cache", "/var/lib/dpkg", "/var/lib/apt", "/var/lib/aptitude/", "/var/sites/backups", "/var/data/crypt", "/var/data/backups", "/var/data/cache" ] # for data that were previously encrypted and signed $include_encrypted = [ "$backupdir/duplicity", ] diff --git a/manifests/utils.pp b/manifests/utils.pp index b13c878..7cc358f 100644 --- a/manifests/utils.pp +++ b/manifests/utils.pp @@ -1,5 +1,6 @@ class backup::utils { - package { [ 'bup', 'attic', 'obnam' ]: - ensure => present, + # Not in use + package { [ 'bup', 'attic', 'obnam', 'restic' ]: + ensure => absent, } } |