ansible-restic/tasks/main.yml
2025-08-12 18:43:17 +01:00

63 lines
1.7 KiB
YAML

---
- name: Check if restic is installed
ansible.builtin.stat:
path: "{{ restic_path }}"
register: restic_binary
- name: Include install.yml if restic is not installed or restic_install is true
ansible.builtin.include_tasks: install.yml
when: not restic_binary.stat.exists or restic_install
- name: Overwrite SSH config for backup server
ansible.builtin.template:
src: ssh_config.j2
dest: "{{ restic_user_home }}/.ssh/config"
owner: root
group: root
mode: "0600"
when: restic_ssh_enabled
- name: Add SSH private key
ansible.builtin.template:
src: ssh_private_key.j2
dest: "{{ restic_ssh_private_key_path }}"
mode: "0600"
when: restic_ssh_private_key is defined and restic_ssh_enabled
- name: Add restic_env in home folder
ansible.builtin.template:
src: restic_env.j2
dest: "{{ restic_user_home }}/.restic_env"
owner: root
group: root
mode: "0600"
- name: Add systemd service for restic
ansible.builtin.template:
src: restic-backup.service.j2
dest: /etc/systemd/system/restic-backup.service
mode: "0644"
vars:
restic_folders_combined: "{{ restic_default_folders + restic_folders }}"
notify: Reload systemd
- name: Add systemd service for restic failure
when: restic_failure_webhook_url is not none
ansible.builtin.template:
src: restic-failure.service.j2
dest: /etc/systemd/system/restic-failure.service
mode: "0644"
notify: Reload systemd
- name: Add systemd timer for restic
ansible.builtin.template:
src: restic-backup.timer.j2
dest: /etc/systemd/system/restic-backup.timer
mode: "0644"
notify: Reload systemd
- name: Enable and start restic timer
ansible.builtin.systemd:
name: restic-backup.timer
enabled: true
state: started