--- # Copyright (c) Ansible Project # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) # SPDX-License-Identifier: GPL-3.0-or-later - name: Include distribution specific variables include_vars: "{{ lookup('first_found', params) }}" vars: params: files: - "{{ ansible_facts.distribution }}.yml" - "{{ ansible_facts.os_family }}.yml" - default.yml paths: - "{{ role_path }}/vars" - name: Install package action: "{{ ansible_facts.pkg_mgr }}" args: name: "{{ passwordstore_packages }}" state: present when: ansible_facts.pkg_mgr in ['apt', 'dnf', 'yum', 'pkgng', 'community.general.pkgng'] - block: # OpenSUSE Leap>=15.0 don't include password-store in main repo - name: SUSE | Add security:privacy repo template: src: security-privacy.repo.j2 dest: /etc/zypp/repos.d/security:privacy.repo - name: SUSE | Install package package: name: password-store state: present update_cache: true disable_gpg_check: true when: ansible_facts.pkg_mgr in ['zypper', 'community.general.zypper'] # See https://github.com/gopasspw/gopass/issues/1849#issuecomment-802789285 - name: Install gopass on Debian when: ansible_facts.os_family == 'Debian' become: true block: - name: Fetch gopass repo keyring ansible.builtin.get_url: url: https://packages.gopass.pw/repos/gopass/gopass-archive-keyring.gpg dest: /usr/share/keyrings/gopass-archive-keyring.gpg - name: Add gopass repo ansible.builtin.apt_repository: repo: "deb [arch=amd64,arm64,armhf \ signed-by=/usr/share/keyrings/gopass-archive-keyring.gpg] \ https://packages.gopass.pw/repos/gopass stable main" state: present - name: Update apt-cache and install gopass package ansible.builtin.apt: name: gopass update_cache: true - name: Install on macOS when: ansible_facts.distribution == 'MacOSX' block: - name: MACOS | Find brew binary command: which brew register: brew_which - name: MACOS | Get owner of brew binary stat: path: "{{ brew_which.stdout }}" register: brew_stat - name: MACOS | Install package homebrew: name: - gnupg2 - pass - gopass state: present update_homebrew: false become: true become_user: "{{ brew_stat.stat.pw_name }}" # Newer versions of brew want to compile a package which takes a long time. Do not upgrade homebrew until a # proper solution can be found environment: HOMEBREW_NO_AUTO_UPDATE: "True"