- name: Check if restic is insalled stat: path: /usr/local/bin/restic register: restic_path - block: - name: Download restic binary get_url: url: https://github.com/restic/restic/releases/download/v0.14.0/restic_0.14.0_linux_amd64.bz2 dest: /usr/local/bin/restic.bz2 mode: 0644 - name: Unpack restic binary command: bunzip2 /usr/local/bin/restic.bz2 when: not restic_path.stat.exists - name: Ensure restic is executable file: path: /usr/local/bin/restic mode: 0755 - name: Create scaleway key file template: src: ./filesystem/{{ ansible_hostname }}/etc/scaleway.keys.j2 dest: /etc/scaleway.keys mode: 0600 - name: Create restic password file template: src: ./filesystem/{{ ansible_hostname }}/etc/restic.password.j2 dest: /etc/restic.password mode: 0600 - name: Create a cache directory for restic file: path: /var/cache/restic state: directory mode: 0755 - name: Install the restic backup script template: src: ./filesystem/{{ ansible_hostname }}/usr/local/sbin/restic-service-data.j2 dest: /usr/local/sbin/restic-service-data mode: 0755 - name: Install the restic backup service file template: src: ./filesystem/{{ ansible_hostname }}/etc/systemd/system/restic-service-data.service.j2 dest: /etc/systemd/system/restic-service-data.service mode: 0644 register: systemd_restic_service_data_service_file - name: Install the restic backup timer file copy: src: ./filesystem/{{ ansible_hostname }}/etc/systemd/system/restic-service-data.timer dest: /etc/systemd/system/restic-service-data.timer mode: 0644 register: systemd_restic_service_data_timer_file - name: SystemD daemon reload systemd: daemon_reload: true when: systemd_restic_service_data_service_file is changed or systemd_restic_service_data_timer_file is changed - name: Enable restic backup systemd: name: restic-service-data.timer enabled: yes state: started