summaryrefslogtreecommitdiff
path: root/playbooks/roles/borg
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth.hunt@simponic.xyz>2024-05-04 13:19:48 -0700
committerElizabeth Hunt <elizabeth.hunt@simponic.xyz>2024-05-04 13:19:48 -0700
commit904657c27c5d927fd2117c1e91305c4a1b17d76b (patch)
tree6b28f1efae207ca8b1f818e6cd62e9ed915a9172 /playbooks/roles/borg
parentbbad09e2b15eeca86f83a9d2a97449baf71e326f (diff)
downloadmmt-infra-904657c27c5d927fd2117c1e91305c4a1b17d76b.tar.gz
mmt-infra-904657c27c5d927fd2117c1e91305c4a1b17d76b.zip
borg
Diffstat (limited to 'playbooks/roles/borg')
-rw-r--r--playbooks/roles/borg/tasks/main.yml28
-rw-r--r--playbooks/roles/borg/templates/borg_ssh_key.j21
2 files changed, 29 insertions, 0 deletions
diff --git a/playbooks/roles/borg/tasks/main.yml b/playbooks/roles/borg/tasks/main.yml
new file mode 100644
index 0000000..fd3be99
--- /dev/null
+++ b/playbooks/roles/borg/tasks/main.yml
@@ -0,0 +1,28 @@
+- name: copy key
+ template:
+ src: ../templates/borg_ssh_key.j2
+ dest: /root/borg_ssh_key
+ owner: root
+ group: root
+ mode: 0600
+
+- name: push borg
+ import_role:
+ name: borgbase.ansible_role_borgbackup
+ vars:
+ borg_encryption_passphrase: "{{ borg_password }}"
+ borg_repository: "{{ borg_repo }}"
+ borg_user: "{{ borg_my_user }}"
+ borg_group: "{{ borg_my_group }}"
+ borgmatic_timer: cron
+ borg_ssh_command: "ssh -o StrictHostKeyChecking=no -i {{ borg_ssh_key }}"
+ borg_source_directories:
+ "{{ base_files + (extra_files[inventory_hostname] | default([])) }}"
+ borg_retention_policy:
+ keep_hourly: 3
+ keep_daily: 7
+ keep_weekly: 4
+ keep_monthly: 6
+ borgmatic_hooks:
+ after_backup:
+ - "curl -d '{{ inventory_hostname }}' {{ backup_topic }}"
diff --git a/playbooks/roles/borg/templates/borg_ssh_key.j2 b/playbooks/roles/borg/templates/borg_ssh_key.j2
new file mode 100644
index 0000000..70d4cc9
--- /dev/null
+++ b/playbooks/roles/borg/templates/borg_ssh_key.j2
@@ -0,0 +1 @@
+{{ borg_secret_key | b64decode }}