diff options
Diffstat (limited to 'modules/partofme')
-rw-r--r-- | modules/partofme/files/rclone-cron | 3 | ||||
-rw-r--r-- | modules/partofme/manifests/backups.pp | 19 | ||||
-rw-r--r-- | modules/partofme/templates/rclone.conf | 4 |
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 %> |