diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-02-23 18:08:37 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-02-23 18:08:37 -0500 |
commit | d49c0e7479603b63ea2f786cf8d1eb4a9e231fda (patch) | |
tree | a057300c912a63624a9829c2f894186164711184 | |
parent | ec2c2edccd5a16b717d42696c82ddc09fc8f5a87 (diff) | |
download | puppet-tozt-d49c0e7479603b63ea2f786cf8d1eb4a9e231fda.tar.gz puppet-tozt-d49c0e7479603b63ea2f786cf8d1eb4a9e231fda.zip |
add duplicati configuration
-rw-r--r-- | modules/mail/manifests/backups.pp | 6 | ||||
-rw-r--r-- | modules/mail/templates/duplicati-mail.json | 81 |
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" + } +} |