--- - name: "Borg | Copy borgmatic configuration" ansible.builtin.template: src: config.yaml.j2 dest: "/etc/borgmatic/{{ borgmatic_config_name }}" mode: "0600" - name: "Borg | Install borgmatic bach completions" ansible.builtin.command: cmd: "borgmatic --bash-completion > /usr/share/bash-completion/completions/borgmatic" creates: /usr/share/bash-completion/completions/borgmatic - name: "Borg | Add borgmatic 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 }} >/dev/null" - name: "Borg | Init borg repository" ansible.builtin.expect: command: "borgmatic init -e {{ borg_repo_key }}" responses: ^.*want to continue connecting.*$: "yes" - name: "Borg | Create key export directory" ansible.builtin.file: path: "{{ borg_key_export_path }}" state: directory mode: "0750" - name: "Borg | Export repo key" ansible.builtin.command: cmd: "borg key export {{ item.path }} {{ item.label }}_{{ inventory_hostname }}" chdir: "{{ borg_key_export_path }}" loop: "{{ borg_repository }}" - name: "Borg | Export repo key" ansible.builtin.command: cmd: "borg key export ssh://{{ borgbase_repo.repo_id }}@{{ borgbackup_ssh_host }}/./repo borgbase" chdir: "{{ borg_key_export_path }}" loop: "{{ borg_repository }}" when: borgbase is defined and borgbase - name: "Borg | Save repo key to localhost" ansible.posix.synchronize: mode: pull src: "{{ borg_key_export_path }}" dest: "~/"