pass
Ansible Роль: pass
Ansible роль, которая устанавливает password-store (pass), стандартный менеджер паролей Unix.
Предупреждение о бета-версии
Эта роль в настоящее время находится в бета-версии и не предназначена для использования в производственной среде. Возможны изменения, нарушающие обратную совместимость между выпусками, поэтому обязательно прочитайте примечания к релизу.
Требования
Если вы используете Enterprise Linux (CentOS, Rocky Linux, AlmaLinux, RHEL и т.д.), вам нужно установить репозиторий EPEL. Вы можете использовать robertdebock.epel
для этого. См. пример плейбука для полного примера.
Эта роль зависит от некоторых коллекций, которые не включены в ansible-core.
Плейбук этой роли требует другой роли для подготовки целевой системы.
Чтобы установить необходимые зависимости этой роли, создайте файл requirements.yml
со следующим содержимым:
---
roles:
- name: robertdebock.epel
collections:
- name: community.general
Затем, если вы используете ansible-base/ansible-core 2.10 или позже, выполните эту команду.
ansible-galaxy install -r requirements.yml
Если вы все еще используете Ansible 2.9, выполните вместо этого эти команды.
ansible-galaxy collection install -r requirements.yml
ansible-galaxy role install -r requirements.yml
Переменные роли
Доступные методы установки
Эта роль позволяет вам выбирать, из какого источника устанавливать Pass. Вы можете переопределить метод установки по умолчанию, установив pass_install_method
в одно из значений, указанных ниже.
pass_install_method=distro_package
Описание: Устанавливает Pass из репозиториев дистрибутива. Эта версия может быть устаревшей.
Поддерживаемые дистрибутивы: Все дистрибутивы, поддерживаемые этой ролью.
По умолчанию: Да
pass_install_method=source
Описание: Устанавливает Pass из исходных кодов.
Поддерживаемые дистрибутивы: Все дистрибутивы, поддерживаемые этой ролью.
По умолчанию: Нет
Вот переменные этой роли и их значения по умолчанию, установленные в defaults/main.yml
. При желании вы можете изменить их, чтобы настроить поведение этой роли.
---
# файл по умолчанию для pass
# Пожалуйста, смотрите раздел `Доступные методы установки`
pass_install_method: distro_package
# Опции:
# - `present` гарантирует, что pass установлен
# - `absent` гарантирует, что pass не установлен. Это не удаляет
# зависимости, которые были установлены, когда `pass_install_method=source`, чтобы избежать
# удаления пакетов, которые вы установили до запуска этой роли.
pass_state: "present"
# Pass может копировать пароли в буфер обмена вашей системы с помощью опции `-c`
# команды `pass show`. По умолчанию эта роль устанавливает `xclip`, помощник для буфера обмена для Xorg.
# Если вы используете Wayland, измените это значение на
# `wl-clipboard`. Если вы хотите установить и `xclip`, и `wl-clipboard`,
# измените это значение на `both`.
pass_clipboard_helper: xclip
##########
# Эти переменные применяются только при `pass_install_method=source`.
# Куда загружать и извлекать исходный архив Pass.
pass_download_path: /opt/pass
# Какую версию Pass установить.
# При установке значения latest, эта роль определит последнюю версию
# и установит ее.
pass_version: latest
# pass_version: 1.7.4
# Параметры для передачи в make. Пожалуйста, смотрите [инструкции по установке][1] и
# [Makefile][2] в репозитории Pass для всех доступных параметров.
pass_make_params:
# Вы можете удалить это значение, чтобы установить Pass в стандартное место, /usr/bin.
# Тем не менее, я рекомендую оставить значение по умолчанию этой роли, которое соответствует Стандарту
# Иерархии Файловой Системы[3] и избегает конфликта с системным менеджером пакетов.
PREFIX: /usr/local # Устанавливаем pass в /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
Пример плейбука
---
- name: Установить Pass
hosts: all
become: true
tasks:
- name: Обновить кеш apt
when: ansible_pkg_mgr == "apt"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
- name: Установить EPEL репозиторий (будет выполняться только на EL-дистрибутивах)
ansible.builtin.include_role:
name: robertdebock.epel
- name: Установить Pass
ansible.builtin.include_role:
name: "gotmax23.pass"
Совместимость
Эта роль тестируется с использованием последней версии ansible-core и последней версии коллекций из Ansible Galaxy. Это единственная версия Ansible, которую эта роль официально поддерживает. Поддержка для других версий предоставляется на основе лучшего усилия.
Эта роль совместима со следующими дистрибутивами:
дистрибутив | версии |
---|---|
Archlinux | любой |
Debian | buster, bullseye, bookworm |
EL | 8 |
Fedora | 34, 35, 36 |
opensuse | 15.3, tumbleweed |
Ubuntu | bionic, focal |
Лицензия
Автор
Максвелл Г (@gotmax23)
Ansible role that installs password-store (pass), the standard Unix password manager.
ansible-galaxy install gotmax23/ansible-role-pass