gotmax23.pass
Ansible Rôle : pass
Rôle Ansible qui installe password-store (pass), le gestionnaire de mots de passe standard Unix.
Avertissement Beta
Ce rôle est actuellement en version bêta et n'est pas destiné à un usage en production. Des changements importants peuvent survenir entre les versions, veuillez donc lire les notes de version.
Conditions requises
Si vous utilisez Enterprise Linux (CentOS, Rocky Linux, Alamlinux, RHEL, etc.), vous devez installer le dépôt EPEL. Vous pouvez utiliser le rôle robertdebock.epel
à cet effet. Consultez le exemple de playbook pour un exemple complet.
Ce rôle dépend de certaines collections qui ne sont pas incluses dans ansible-core.
Le playbook d'exemple de ce rôle nécessite un autre rôle pour préparer le système cible.
Pour installer les exigences de ce rôle, créez un fichier requirements.yml
avec le contenu suivant :
---
roles:
- name: robertdebock.epel
collections:
- name: community.general
Ensuite, si vous utilisez ansible-base/ansible-core 2.10 ou une version ultérieure, exécutez la commande suivante.
ansible-galaxy install -r requirements.yml
Si vous utilisez toujours Ansible 2.9, exécutez plutôt ces commandes.
ansible-galaxy collection install -r requirements.yml
ansible-galaxy role install -r requirements.yml
Variables du rôle
Méthodes d'installation disponibles
Ce rôle vous permet de choisir la source à partir de laquelle installer Pass. Vous pouvez remplacer la méthode d'installation par défaut en définissant pass_install_method
sur l'une des valeurs décrites ci-dessous.
pass_install_method=distro_package
Description : Installe Pass à partir des dépôts de la distribution. Cette version peut être obsolète.
Distributions prises en charge : Toutes les distributions prises en charge par ce rôle
Par défaut : Oui
pass_install_method=source
Description : Installe Pass à partir du code source.
Distributions prises en charge : Toutes les distributions prises en charge par ce rôle
Par défaut : Non
Voici les variables de ce rôle et leurs valeurs par défaut, telles qu'elles sont définies dans defaults/main.yml
. Si vous le souhaitez, vous pouvez les modifier pour personnaliser le comportement de ce rôle.
---
# fichier par défaut pour pass
# Veuillez consulter la section `Méthodes d'installation disponibles` ci-dessus
pass_install_method: distro_package
# Options :
# - `present` s'assure que pass est installé
# - `absent` s'assure que pass n'est pas installé. Cela ne supprime pas
# les dépendances qui sont installées lorsque `pass_install_method=source` pour éviter
# de supprimer des paquets que vous avez installés avant d'exécuter ce rôle.
pass_state: "present"
# Pass a la capacité de copier des mots de passe dans le presse-papiers de votre système en utilisant l'option `-c`
# de la commande `pass show`. Par défaut, ce rôle installe `xclip`, l'outil de gestion du presse-papiers pour Xorg.
# Si vous utilisez Wayland, changez cette valeur en `wl-clipboard`. Si vous souhaitez installer à la fois `xclip` et `wl-clipboard`,
# changez cette valeur en `both`.
pass_clipboard_helper: xclip
##########
# Ces variables ne s'appliquent que lorsque `pass_install_method=source`.
# Où télécharger et extraire le fichier source de Pass.
pass_download_path: /opt/pass
# Quelle version de Pass installer.
# Lorsqu'elle est définie sur latest, ce rôle déterminera la dernière version
# et l'installera.
pass_version: latest
# pass_version: 1.7.4
# Paramètres à passer à make. Veuillez consulter les [instructions d'installation][1] et
# le [Makefile][2] dans le dépôt Git de Pass pour tous les paramètres disponibles.
pass_make_params:
# Vous pouvez supprimer cette valeur pour installer Pass à l'emplacement par défaut, /usr/bin.
# Cependant, je recommande de garder la valeur par défaut de ce rôle qui suit la norme
# de hiérarchie des fichiers [3] et évite les conflits avec le gestionnaire de paquets système.
PREFIX: /usr/local # Installer pass dans /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
Exemple de Playbook
---
- name: Installer Pass
hosts: all
become: true
tasks:
- name: Mettre à jour le cache apt
when: ansible_pkg_mgr == "apt"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
- name: Installer le dépôt EPEL (ne s'exécutera que sur les distros basées sur EL)
ansible.builtin.include_role:
name: robertdebock.epel
- name: Installer Pass
ansible.builtin.include_role:
name: "gotmax23.pass"
Compatibilité
Ce rôle est testé en utilisant la dernière version d'ansible-core et la dernière version des collections d'Ansible Galaxy. C'est la seule version d'Ansible que ce rôle supporte officiellement. Un support de bonne foi est fourni pour d'autres versions.
Ce rôle est compatible avec les distributions suivantes :
distribution | versions |
---|---|
Archlinux | toutes |
Debian | buster, bullseye, bookworm |
EL | 8 |
Fedora | 34, 35, 36 |
opensuse | 15.3, tumbleweed |
Ubuntu | bionic, focal |
Licence
Auteur
Maxwell G (@gotmax23)
Ansible role that installs password-store (pass), the standard Unix password manager.
ansible-galaxy install gotmax23.pass