First commit

This commit is contained in:
Adrien Reslinger 2021-01-14 01:35:27 +01:00
parent 8d425651a3
commit cdb2f095e6
Signed by: adrien
GPG key ID: DA7B27055C66D6DE
4 changed files with 88 additions and 0 deletions

61
tasks/main.yml Normal file
View file

@ -0,0 +1,61 @@
---
- 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 )