#!/usr/bin/env ansible-playbook # vim:ft=ansible: --- # Install restic if we can - name: install restic block: - name: install restic through apt ansible.builtin.apt: name=restic state=present when: ansible_pkg_mgr == "apt" - name: install restic through rpm-ostree community.general.rpm_ostree_pkg: name=restic state=present when: ansible_os_family == "RedHat" and ansible_pkg_mgr == "atomic_container" # The script - name: template out backup script ansible.builtin.template: src={{ backup_script }}.sh dest=/opt/backup.sh mode=0700 owner=root group=root # Some restic-specific stuff - name: template out restic password file ansible.builtin.template: src={{ backup_script }}-password dest=/opt/restic-password mode=0700 owner=root group=root - name: template out restic wrapper ansible.builtin.template: src=restic-wrapper.sh dest=/opt/restic-wrapper mode=0700 owner=root group=root # An analyzer for... reasons? - name: template out analyze script ansible.builtin.template: src={{ backup_script }}-analyze.sh dest=/opt/analyze.sh mode=0700 owner=root group=root # This restore script doesn't even work??? - name: template out restore script ansible.builtin.template: src={{ restore_script }}.sh dest=/opt/restore.sh mode=0700 owner=root group=root # And service/timer definitions - name: configure systemd service ansible.builtin.template: src=backup.service dest=/etc/systemd/system/backup.service mode=0644 - name: configure systemd timer ansible.builtin.template: src=backup.timer dest=/etc/systemd/system/backup.timer mode=0644 notify: restart backup timer - name: enable timer ansible.builtin.systemd: name=backup.timer state=started enabled=yes daemon_reload=yes