-
Maxime Bombar authored6c54221a
main.yml 1.25 KiB
---
- name: Pin borgmatic
template:
src: "apt/{{ item }}.j2"
dest: "/etc/apt/{{ item }}"
loop:
- sources.list.d/bullseye.list
- preferences.d/borgmatic-bullseye
when: ansible_lsb.release | int <= 10
- name: Install borgbackup
apt:
update_cache: true
name:
- borgbackup
- borgmatic
state: present
register: apt_result
retries: 3
until: apt_result is succeeded
- name: Ensures /etc/borgmatic exists
file:
path: /etc/borgmatic
state: directory
mode: 0700
owner: root
- name: Deploy ssh private key
template:
src: "borgmatic/id_ed25519_borg.j2"
dest: "/etc/borgmatic/id_ed25519_borg"
mode: 0600
owner: root
- name: Deploy borgmatic config
template:
src: "borgmatic/config.yaml.j2"
dest: "/etc/borgmatic/config.yaml"
mode: 0600
owner: root
group: root
- name: Init borg repository
command:
cmd: /usr/bin/borgmatic init -e repokey
register: borg_init
changed_when: '"does not exist" in borg_init.stderr'
- name: Deploy borg cron
template:
src: "cron.d/borg.j2"
dest: "/etc/cron.d/borg"
notify: restart cron
- name: Indicate role in motd
template:
src: update-motd.d/04-service.j2
dest: /etc/update-motd.d/04-borgbackup
mode: 0755