WIP: Export borg repo key

This commit is contained in:
phil 2023-04-08 23:02:47 +02:00
parent d7222d3897
commit 00f0b60613
3 changed files with 35 additions and 21 deletions

View file

@ -4,6 +4,7 @@ borg_exclude_patterns: []
borg_one_file_system: true borg_one_file_system: true
borg_exclude_from: [] borg_exclude_from: []
borg_encryption_passcommand: false borg_encryption_passcommand: false
borg_key_export_path: "~/{{ borg_repository }}.key"
borg_lock_wait_time: 5 borg_lock_wait_time: 5
borg_ssh_key_file_path: "/root/.ssh/{{ borg_ssh_key_name }}" borg_ssh_key_file_path: "/root/.ssh/{{ borg_ssh_key_name }}"
borg_ssh_key_name: borgbackup borg_ssh_key_name: borgbackup

31
tasks/borgmatic.yml Normal file
View file

@ -0,0 +1,31 @@
---
- name: "Borgamtic | Copy configuration"
ansible.builtin.template:
src: config.yaml.j2
dest: "/etc/borgmatic/{{ borgmatic_config_name }}"
mode: "0600"
- name: "Borgmatic | Add cron job"
ansible.builtin.cron:
name: "{{ borgmatic_timer_cron_name }}"
hour: "{{ borgmatic_timer_hour }}"
minute: "{{ borgmatic_timer_minute }}"
user: "{{ borg_user }}"
cron_file: "{{ borgmatic_timer_cron_name }}"
job: "borgmatic -c /etc/borgmatic/{{ borgmatic_config_name }}"
- name: "Borgmatic | Init borg repository"
ansible.builtin.expect:
command: "borgmatic init -e {{ borg_repo_key }}"
responses:
^.*want to continue connecting.*$: "yes"
- name: "Borgmatic | Create backup"
ansible.builtin.command:
cmd: "borgmatic -c /etc/borgmatic/{{ borgmatic_config_name }}"
- name: "Borgmatic | Export repo key"
ansible.builtin.command:
cmd: "borg key export {{ item }} > {{ borg_key_export_path }}"
loop: "{{ borg_repository }}"
delegate_to: localhost

View file

@ -12,24 +12,6 @@
when: borgbase is defined and borgbase when: borgbase is defined and borgbase
tags: borgbase tags: borgbase
- name: Copy borgmatic configuration - name: Setup borgmatic
ansible.builtin.template: ansible.builtin.import_tasks: borgmatic.yml
src: config.yaml.j2 tags: borgmatic
dest: "/etc/borgmatic/{{ borgmatic_config_name }}"
mode: "0600"
- name: Add single Cron job for borgmatic
ansible.builtin.cron:
name: "{{ borgmatic_timer_cron_name }}"
hour: "{{ borgmatic_timer_hour }}"
minute: "{{ borgmatic_timer_minute }}"
user: "{{ borg_user }}"
cron_file: "{{ borgmatic_timer_cron_name }}"
job: "borgmatic -c /etc/borgmatic/{{ borgmatic_config_name }}"
- name: Init repo
ansible.builtin.expect:
command: "borgmatic init -e {{ borg_repo_key }}"
responses:
^.*want to continue connecting.*$: "yes"