summaryrefslogtreecommitdiffstats
path: root/modules/partofme
diff options
context:
space:
mode:
Diffstat (limited to 'modules/partofme')
-rw-r--r--modules/partofme/files/rclone-cron3
-rw-r--r--modules/partofme/manifests/backups.pp19
-rw-r--r--modules/partofme/templates/rclone.conf4
3 files changed, 26 insertions, 0 deletions
diff --git a/modules/partofme/files/rclone-cron b/modules/partofme/files/rclone-cron
new file mode 100644
index 0000000..96627d3
--- /dev/null
+++ b/modules/partofme/files/rclone-cron
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+rclone --config /etc/rclone.conf sync /media/persistent b2:doy-rclone/partofme --exclude '/duplicati/**'
diff --git a/modules/partofme/manifests/backups.pp b/modules/partofme/manifests/backups.pp
index 45f9976..e06d57c 100644
--- a/modules/partofme/manifests/backups.pp
+++ b/modules/partofme/manifests/backups.pp
@@ -54,4 +54,23 @@ class partofme::backups {
class { 'borgmatic':
host => 'localhost';
}
+
+ package { 'rclone':
+ ensure => installed;
+ }
+
+ $b2_account = secret::value('b2-account')
+ $b2_key = secret::value('b2-key')
+ file { '/etc/rclone.conf':
+ content => template('partofme/rclone.conf');
+ }
+
+ cron::job { 'rclone':
+ frequency => "daily",
+ source => 'puppet:///modules/partofme/rclone-cron',
+ require => [
+ Package['rclone'],
+ File['/etc/rclone.conf'],
+ ];
+ }
}
diff --git a/modules/partofme/templates/rclone.conf b/modules/partofme/templates/rclone.conf
new file mode 100644
index 0000000..efba716
--- /dev/null
+++ b/modules/partofme/templates/rclone.conf
@@ -0,0 +1,4 @@
+[b2]
+type = b2
+account = <%= @b2_account %>
+key = <%= @b2_key %>