summaryrefslogtreecommitdiffstats
path: root/modules/partofme
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2018-11-18 19:59:12 -0500
committerJesse Luehrs <doy@tozt.net>2018-11-18 19:59:12 -0500
commitbda1c9e918420f3c662c5f136e561e682a8088ce (patch)
treecb7cb01753063b3c8901876a685307dc99029a71 /modules/partofme
parentf7dbe54564e3f5fd8d35dd0467625099b269b7d7 (diff)
downloadpuppet-tozt-bda1c9e918420f3c662c5f136e561e682a8088ce.tar.gz
puppet-tozt-bda1c9e918420f3c662c5f136e561e682a8088ce.zip
add configuration for my cloud backups
Diffstat (limited to 'modules/partofme')
-rw-r--r--modules/partofme/manifests/backups.pp6
-rw-r--r--modules/partofme/templates/duplicati-partofme-cloud.json75
2 files changed, 81 insertions, 0 deletions
diff --git a/modules/partofme/manifests/backups.pp b/modules/partofme/manifests/backups.pp
index 948a9b8..20ccd63 100644
--- a/modules/partofme/manifests/backups.pp
+++ b/modules/partofme/manifests/backups.pp
@@ -7,6 +7,12 @@ class partofme::backups {
content => template('partofme/duplicati-partofme.json');
}
+ $cloud_encrypt_passphrase = secret::value('duplicati-cloud')
+ $cloud_url = secret::value('duplicati-cloud-url')
+ duplicati::backup { "partofme-cloud":
+ content => template('partofme/duplicati-partofme-cloud.json');
+ }
+
file { '/usr/local/bin/sftp-only':
content => 'exec false',
mode => '0755';
diff --git a/modules/partofme/templates/duplicati-partofme-cloud.json b/modules/partofme/templates/duplicati-partofme-cloud.json
new file mode 100644
index 0000000..64d2921
--- /dev/null
+++ b/modules/partofme/templates/duplicati-partofme-cloud.json
@@ -0,0 +1,75 @@
+{
+ "CreatedByVersion": "2.0.4.4",
+ "Schedule": {
+ "ID": 2,
+ "Tags": [
+ "ID=5"
+ ],
+ "Time": "2018-11-19T18:00:00Z",
+ "Repeat": "1D",
+ "LastRun": "0001-01-01T05:00:00Z",
+ "Rule": "AllowedWeekDays=Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday",
+ "AllowedDays": [
+ "mon",
+ "tue",
+ "wed",
+ "thu",
+ "fri",
+ "sat",
+ "sun"
+ ]
+ },
+ "Backup": {
+ "ID": "5",
+ "Name": "partofme-cloud",
+ "Description": "",
+ "Tags": [],
+ "TargetURL": "<%= @cloud_url %>",
+ "DBPath": "/root/.config/Duplicati/80677580908767887373.sqlite",
+ "Sources": [
+ "/media/persistent/crypt/",
+ "/media/persistent/media/",
+ "/media/persistent/systems/"
+ ],
+ "Settings": [
+ {
+ "Filter": "",
+ "Name": "encryption-module",
+ "Value": "aes",
+ "Argument": null
+ },
+ {
+ "Filter": "",
+ "Name": "compression-module",
+ "Value": "zip",
+ "Argument": null
+ },
+ {
+ "Filter": "",
+ "Name": "dblock-size",
+ "Value": "50mb",
+ "Argument": null
+ },
+ {
+ "Filter": "",
+ "Name": "passphrase",
+ "Value": "<%= @cloud_encrypt_passphrase %>",
+ "Argument": null
+ },
+ {
+ "Filter": "",
+ "Name": "retention-policy",
+ "Value": "1W:1D,4W:1W,12M:1M",
+ "Argument": null
+ }
+ ],
+ "Filters": [],
+ "Metadata": {},
+ "IsTemporary": false
+ },
+ "DisplayNames": {
+ "/media/persistent/crypt/": "crypt",
+ "/media/persistent/media/": "media",
+ "/media/persistent/systems/": "systems"
+ }
+}