gotmax23.pass
Rol de Ansible: pass
Rol de Ansible que instala password-store (pass), el administrador de contraseñas estándar de Unix.
Advertencia Beta
Este rol está actualmente en beta y no está destinado para uso en producción. Pueden ocurrir cambios importantes entre versiones, así que asegúrate de leer las notas de la versión.
Requisitos
Si utilizas Enterprise Linux (CentOS, Rocky Linux, Alamlinux, RHEL, etc.), necesitas instalar el repositorio EPEL. Puedes usar el rol robertdebock.epel
para hacerlo. Consulta el ejemplo de playbook para un ejemplo completo.
Este rol depende de ciertas colecciones que no están incluidas en ansible-core.
El playbook de ejemplo de este rol requiere otro rol para preparar el sistema objetivo.
Para instalar los requisitos de este rol, crea un archivo requirements.yml
con el siguiente contenido:
---
roles:
- name: robertdebock.epel
collections:
- name: community.general
Luego, si estás usando ansible-base/ansible-core 2.10 o superior, ejecuta este comando:
ansible-galaxy install -r requirements.yml
Si todavía estás usando Ansible 2.9, ejecuta estos comandos, en su lugar:
ansible-galaxy collection install -r requirements.yml
ansible-galaxy role install -r requirements.yml
Variables del rol
Métodos de instalación disponibles
Este rol te permite elegir de qué fuente instalar Pass. Puedes sobrescribir el método de instalación predeterminado configurando pass_install_method
a uno de los valores descritos a continuación.
pass_install_method=distro_package
Descripción: Esto instala Pass desde los repositorios de la distribución. Esta versión puede estar desactualizada.
Distribuciones compatibles: Todas las distribuciones soportadas por este rol.
Predeterminado: Sí
pass_install_method=source
Descripción: Esto instala Pass desde el código fuente.
Distribuciones compatibles: Todas las distribuciones soportadas por este rol.
Predeterminado: No
Aquí están las variables de este rol y sus valores predeterminados, establecidos en defaults/main.yml
. Si lo deseas, puedes cambiarlas para personalizar el comportamiento de este rol.
---
# archivo de valores predeterminados para pass
# Por favor, consulta la sección `Métodos de instalación disponibles` arriba
pass_install_method: distro_package
# Opciones:
# - `present` asegura que pass esté instalado
# - `absent` asegura que pass no esté instalado. Esto no elimina
# las dependencias que se instalan cuando `pass_install_method=source` para evitar
# eliminar paquetes que instalaste antes de ejecutar este rol.
pass_state: "present"
# Pass tiene la capacidad de copiar contraseñas al portapapeles de tu sistema usando la opción `-c`
# del comando `pass show`. Por defecto, este rol instala `xclip`, el
# ayudante de portapapeles para Xorg. Si usas Wayland, cambia este valor a
# `wl-clipboard`. Si deseas instalar tanto `xclip` como `wl-clipboard`,
# cambia este valor a `both`.
pass_clipboard_helper: xclip
##########
# Estas variables solo aplican cuando `pass_install_method=source`.
# Dónde descargar y extraer el tarball fuente de Pass.
pass_download_path: /opt/pass
# Qué versión de Pass instalar.
# Cuando se establece en latest, este rol determinará la última versión
# y la instalará.
pass_version: latest
# pass_version: 1.7.4
# Parámetros para pasar a make. Por favor, consulta las [instrucciones de instalación][1] y
# [Makefile][2] en el repositorio de Git de Pass para todos los parámetros disponibles.
pass_make_params:
# Puedes eliminar este valor para instalar Pass en la ubicación predeterminada, /usr/bin.
# Sin embargo, recomiendo mantener el valor predeterminado de este rol que sigue el Estándar
# de Jerarquía de Sistema de Archivos[3] y evita conflictos con el gestor de paquetes del sistema.
PREFIX: /usr/local # Instalar pass en /usr/local/bin
[1]: https://git.zx2c4.com/password-store/tree/INSTALL
[2]: https://git.zx2c4.com/password-store/tree/Makefile
[3]: https://refspecs.linuxfoundation.org/fhs.shtml
Ejemplo de Playbook
---
- name: Instalar Pass
hosts: all
become: true
tasks:
- name: Actualizar caché de apt
when: ansible_pkg_mgr == "apt"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
- name: Instalar repositorio EPEL (se ejecutará solo en distribuciones basadas en EL)
ansible.builtin.include_role:
name: robertdebock.epel
- name: Instalar Pass
ansible.builtin.include_role:
name: "gotmax23.pass"
Compatibilidad
Este rol se prueba utilizando la última versión de ansible-core y la última versión de las colecciones de Ansible Galaxy. Esta es la única versión de Ansible que este rol soporta oficialmente. Se ofrece soporte con mejor esfuerzo para otras versiones.
Este rol es compatible con las siguientes distribuciones:
distro | versiones |
---|---|
Archlinux | cualquiera |
Debian | buster, bullseye, bookworm |
EL | 8 |
Fedora | 34, 35, 36 |
opensuse | 15.3, tumbleweed |
Ubuntu | bionic, focal |
Licencia
Autor
Maxwell G (@gotmax23)
Ansible role that installs password-store (pass), the standard Unix password manager.
ansible-galaxy install gotmax23.pass