--- - name: Install gopass tags: - gopass block: - name: Include vars for {{ ansible_os_family }} include_vars: "{{ ansible_os_family }}.yml" - name: Install gopass packages dependencies package: name: "{{ gopass_packages }}" state: present update_cache: yes - name: Check if gopass is already installed stat: path: /usr/local/bin/gopass register: gopass check_mode: no - name: Check local version installed shell: set -o pipefail && gopass --version | sed 's|gopass \([^ ,+]*\).*|\1|' register: gopass_locver changed_when: false check_mode: no when: - gopass.stat.exists - name: Check online version shell: set -o pipefail && curl -s https://github.com/gopasspw/gopass/releases/latest | sed 's|.*tag/v\(.*\)".*|\1|' register: gopass_ver changed_when: false check_mode: no - name: Download gopass block: - name: Install the gopass rpm from a remote repo for yum distro yum: name: "https://github.com/gopasspw/gopass/releases/download/v{{ gopass_ver.stdout }}/gopass_{{ gopass_ver.stdout }}_{{ ansible_system }}_{{ ansible_machine }}.rpm" state: present disable_gpg_check: yes when: - ansible_pkg_mgr == "yum" - name: Install the gopass rpm from a remote repo for dnf distro dnf: # name: "https://github.com/gopasspw/gopass/releases/download/v{{ gopass_ver.stdout }}/gopass_{{ gopass_ver.stdout }}_{{ ansible_system | lower }}_{{ ansible_machine }}.rpm" name: "https://github.com/gopasspw/gopass/releases/download/v{{ gopass_ver.stdout }}/gopass_{{ gopass_ver.stdout }}_{{ ansible_system | lower }}_amd64.rpm" state: present disable_gpg_check: yes when: - ansible_pkg_mgr == "dnf" - name: Install the gopass deb package from the internet for deb distro apt: deb: "https://github.com/gopasspw/gopass/releases/download/v{{ gopass_ver.stdout }}/gopass_{{ gopass_ver.stdout }}_{{ ansible_system }}_{{ ansible_machine }}.deb" state: present when: - ansible_pkg_mgr == "apt" when: - not gopass.stat.exists or ( gopass_locver.stdout != gopass_ver.stdout )