homeserver/roles/mgrote.restic/tasks/main.yml

118 lines
2.7 KiB
YAML

---
- name: ensure group exists
become: true
ansible.builtin.group:
name: "{{ restic_group }}"
state: present
- name: install restic-packages
become: yes
ansible.builtin.package:
name:
- restic
state: present
- name: create "{{ restic_conf_dir }}"
become: yes
ansible.builtin.file:
path: "{{ restic_conf_dir }}"
state: directory
owner: "{{ restic_user }}"
group: "{{ restic_group }}"
mode: 0755
- name: template smb.cred
become: yes
ansible.builtin.template:
src: "smb.cred.j2"
dest: "{{ restic_conf_dir }}/smb.cred"
owner: "{{ restic_user }}"
group: "{{ restic_group }}"
mode: 0600
no_log: true
- name: templates excludes
become: yes
ansible.builtin.blockinfile:
path: "{{ restic_conf_dir }}/excludes"
create: yes
block: "{{ restic_exclude }}"
mode: 0644
owner: "{{ restic_user }}"
group: "{{ restic_group }}"
- name: template restic.env
become: yes
ansible.builtin.template:
src: "restic.env.j2"
dest: "{{ restic_conf_dir }}/restic.env"
owner: root
group: root
mode: 0600
no_log: true
- name: template restic.mount
become: yes
ansible.builtin.template:
src: media-restic.mount.j2
dest: /etc/systemd/system/media-restic.mount # media-restic == /media/restic
owner: root
group: root
mode: 0644
notify:
- systemctl daemon-reload
- systemctl enable units
- name: template restic.automount
become: yes
ansible.builtin.template:
src: media-restic.automount.j2
dest: /etc/systemd/system/media-restic.automount
owner: root
group: root
mode: 0644
notify:
- systemctl daemon-reload
- systemctl enable units
- systemctl start units
- name: template restic.service
become: yes
ansible.builtin.template:
src: restic.service.j2
dest: /etc/systemd/system/restic.service
owner: root
group: root
mode: 0644
notify:
- systemctl daemon-reload
- name: template restic.timer
become: yes
ansible.builtin.template:
src: restic.timer.j2
dest: /etc/systemd/system/restic.timer
owner: root
group: root
mode: 0644
notify:
- systemctl daemon-reload
- name: template restic_mail.service
become: yes
ansible.builtin.template:
src: "restic_mail.service.j2"
dest: /etc/systemd/system/restic_mail.service
owner: root
group: root
mode: 0644
notify:
- systemctl daemon-reload
- name: systemctl start restic.timer
become: yes
ansible.builtin.systemd:
name: restic.timer
state: started
enabled: yes