aboutsummaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2018-05-19 08:17:47 -0300
committerSilvio Rhatto <rhatto@riseup.net>2018-05-19 08:17:47 -0300
commitcfe68b9c2da2ff48171e2bbdb8988b92f7f41ee1 (patch)
treeaa8f650ccb6a7d33b793bb6451d8447da481f176 /manifests
parentef69b77ccada9e983cd8e79ed92c90a84a8ff9fe (diff)
downloadpuppet-backup-cfe68b9c2da2ff48171e2bbdb8988b92f7f41ee1.tar.gz
puppet-backup-cfe68b9c2da2ff48171e2bbdb8988b92f7f41ee1.tar.bz2
Adds borg action and misc changes
Diffstat (limited to 'manifests')
-rw-r--r--manifests/borg.pp31
-rw-r--r--manifests/duplicity.pp2
-rw-r--r--manifests/init.pp1
-rw-r--r--manifests/params.pp2
-rw-r--r--manifests/utils.pp5
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,
}
}