ansible_role_restic/tasks/install.yml
2019-08-14 16:59:32 +02:00

35 lines
No EOL
1.3 KiB
YAML

---
- name: Set restic_url
set_fact:
restic_url: 'https://github.com/restic/restic/releases/download/v{{ restic_version }}/restic_{{ restic_version }}_{{ ansible_system | lower }}_{{ _platform_map[ansible_architecture] | default(ansible_architecture) }}.bz2'
when: restic_url == ''
- name: Download client binary
get_url:
url: '{{ restic_url }}'
dest: '{{ restic_download_path }}/restic.bz2'
force: true
register: get_url_restic
# TODO: This needs to become independent of the shell module to actually work
# on every system. We could use a distribution specific aproach, but this would
# conflict with the current structure in tasks/distribution/
- name: Decompress the binary
shell: "bzip2 -dc {{ get_url_restic.dest }} > {{ restic_download_path }}/bin/restic-{{ restic_version }}"
args:
creates: '{{ restic_download_path }}/bin/restic-{{ restic_version }}'
- name: Ensure permissions are correct
file:
path: '{{ restic_download_path }}/bin/restic-{{ restic_version }}'
mode: '0755'
owner: '{{ restic_dir_owner }}'
group: '{{ restic_dir_group }}'
- name: Create symbolic link to the correct version
file:
src: '{{ restic_download_path }}/bin/restic-{{ restic_version }}'
path: '{{ restic_install_path }}/restic'
state: link
force: true