summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-02-23 18:08:37 -0500
committerJesse Luehrs <doy@tozt.net>2019-02-23 18:08:37 -0500
commitd49c0e7479603b63ea2f786cf8d1eb4a9e231fda (patch)
treea057300c912a63624a9829c2f894186164711184
parentec2c2edccd5a16b717d42696c82ddc09fc8f5a87 (diff)
downloadpuppet-tozt-d49c0e7479603b63ea2f786cf8d1eb4a9e231fda.tar.gz
puppet-tozt-d49c0e7479603b63ea2f786cf8d1eb4a9e231fda.zip
add duplicati configuration
-rw-r--r--modules/mail/manifests/backups.pp6
-rw-r--r--modules/mail/templates/duplicati-mail.json81
2 files changed, 87 insertions, 0 deletions
diff --git a/modules/mail/manifests/backups.pp b/modules/mail/manifests/backups.pp
index b6f9624..e1da7bc 100644
--- a/modules/mail/manifests/backups.pp
+++ b/modules/mail/manifests/backups.pp
@@ -2,4 +2,10 @@ class mail::backups {
class { "tarsnap":
source => "puppet:///modules/mail/acts.conf";
}
+
+ $encrypt_passphrase = secret::value('duplicati-encrypt')
+ $url = secret::value('duplicati-url')
+ duplicati::backup { 'mail':
+ content => template('mail/duplicati-mail.json');
+ }
}
diff --git a/modules/mail/templates/duplicati-mail.json b/modules/mail/templates/duplicati-mail.json
new file mode 100644
index 0000000..52772b2
--- /dev/null
+++ b/modules/mail/templates/duplicati-mail.json
@@ -0,0 +1,81 @@
+{
+ "CreatedByVersion": "2.0.4.4",
+ "Schedule": {
+ "ID": 1,
+ "Tags": [
+ "ID=1"
+ ],
+ "Time": "2018-11-19T18:00:00Z",
+ "Repeat": "1D",
+ "LastRun": "0001-01-01T00:00:00Z",
+ "Rule": "AllowedWeekDays=Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday",
+ "AllowedDays": [
+ "mon",
+ "tue",
+ "wed",
+ "thu",
+ "fri",
+ "sat",
+ "sun"
+ ]
+ },
+ "Backup": {
+ "ID": "1",
+ "Name": "tozt",
+ "Description": "",
+ "Tags": [],
+ "TargetURL": "<%= @url %>",
+ "DBPath": "/media/persistent/Duplicati/69858066716783826969.sqlite",
+ "Sources": [
+ "/media/persistent/",
+ "/home/",
+ "/etc/"
+ ],
+ "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": "<%= @encrypt_passphrase %>",
+ "Argument": null
+ },
+ {
+ "Filter": "",
+ "Name": "retention-policy",
+ "Value": "1W:1D,4W:1W,12M:1M",
+ "Argument": null
+ }
+ ],
+ "Filters": [
+ {
+ "Order": 0,
+ "Include": false,
+ "Expression": "/media/persistent/duplicati/"
+ }
+ ],
+ "Metadata": {},
+ "IsTemporary": false
+ },
+ "DisplayNames": {
+ "/media/persistent/": "persistent",
+ "/home/": "home",
+ "/etc/": "etc"
+ }
+}