gotmax23.pass
Ansible Rola: pass
Rola Ansible, która instaluje password-store (pass), standardowego menedżera haseł Unix.
Ostrzeżenie Beta
Ta rola jest obecnie w wersji beta i nie jest przeznaczona do użycia w produkcji. Mogą wystąpić breaking changes pomiędzy wersjami, więc proszę upewnić się, że przeczytałeś notatki dotyczace wydania.
Wymagania
Jeśli używasz Enterprise Linux (CentOS, Rocky Linux, AlmaLinux, RHEL itp.), musisz zainstalować repozytorium EPEL. Możesz użyć roli robertdebock.epel
, aby to zrobić. Zobacz przykład playbooka poniżej.
Ta rola zależy od pewnych kolekcji, które nie są zawarte w ansible-core.
Przykład playbooka tej roli wymaga innej roli, aby przygotować system docelowy.
Aby zainstalować wymagania tej roli, stwórz plik requirements.yml
z następującą zawartością:
---
roles:
- name: robertdebock.epel
collections:
- name: community.general
Następnie, jeśli używasz ansible-base/ansible-core 2.10 lub nowszego, uruchom poniższe polecenie.
ansible-galaxy install -r requirements.yml
Jeśli wciąż używasz Ansible 2.9, uruchom zamiast tego następujące polecenia.
ansible-galaxy collection install -r requirements.yml
ansible-galaxy role install -r requirements.yml
Zmienne roli
Dostępne Metody Instalacji
Ta rola umożliwia wybór źródła, z którego chcesz zainstalować Pass. Możesz nadpisać domyślną metodę instalacji, ustawiając pass_install_method
na jedną z wartości opisanych poniżej.
pass_install_method=distro_package
Opis: Ta metoda instaluje Pass z repozytoriów dystrybucji. Ta wersja może być nieaktualna.
Obsługiwane dystrybucje: Wszystkie dystrybucje obsługiwane przez tę rolę
Domyślnie: Tak
pass_install_method=source
Opis: Ta metoda instaluje Pass z źródła.
Obsługiwane dystrybucje: Wszystkie dystrybucje obsługiwane przez tę rolę
Domyślnie: Nie
Oto zmienne tej roli i ich domyślne wartości, ustawione w defaults/main.yml
. Możesz je zmieniać, aby dostosować zachowanie tej roli.
---
# domyślny plik dla pass
# Zobacz sekcję `Dostępne Metody Instalacji` powyżej
pass_install_method: distro_package
# Opcje:
# - `present` zapewnia, że pass jest zainstalowany
# - `absent` zapewnia, że pass nie jest zainstalowany. Nie usuwa to
# zależności, które są zainstalowane, gdy `pass_install_method=source`, aby uniknąć
# usuwania pakietów, które zainstalowałeś przed uruchomieniem tej roli.
pass_state: "present"
# Pass ma możliwość kopiowania haseł do schowka systemowego za pomocą opcji `-c`
# polecenia `pass show`. Domyślnie ta rola instaluje `xclip`, wspomagacz schowka dla Xorga.
# Jeśli używasz Wayland, zmień tę wartość na `wl-clipboard`. Jeśli chcesz zainstalować zarówno `xclip`, jak i `wl-clipboard`,
# zmień tę wartość na `both`.
pass_clipboard_helper: xclip
##########
# Te zmienne mają zastosowanie tylko, gdy `pass_install_method=source`.
# Gdzie pobrać i rozpakować archiwum źródłowym Pass.
pass_download_path: /opt/pass
# Którą wersję Pass chcesz zainstalować.
# Gdy ustawione na "latest", ta rola określi najnowszą wersję
# i ją zainstaluje.
pass_version: latest
# pass_version: 1.7.4
# Parametry do przekazania do make. Proszę zapoznać się z [instrukcjami instalacji][1] i
# [Makefile][2] w repozytorium Git Passu, aby poznać wszystkie dostępne parametry.
pass_make_params:
# Możesz usunąć tę wartość, aby zainstalować Pass w domyślnym miejscu, /usr/bin.
# Jednak zalecam pozostawienie domyślnej wartości tej roli, która przestrzega Standardu
# Hierarchii Plików[3] i unika konfliktów z menedżerem pakietów systemu.
PREFIX: /usr/local # Zainstaluj pass w /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
Przykład Playbooka
---
- name: Instalacja Pass
hosts: all
become: true
tasks:
- name: Aktualizacja pamięci podręcznej apt
when: ansible_pkg_mgr == "apt"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
- name: Instalacja Repozytorium EPEL (będzie działać tylko na dystrybucjach opartych na EL)
ansible.builtin.include_role:
name: robertdebock.epel
- name: Instalacja Pass
ansible.builtin.include_role:
name: "gotmax23.pass"
Zgodność
Ta rola jest testowana w użyciu z najnowszą wersją ansible-core oraz najnowszymi wersjami kolekcji z Ansible Galaxy. Tylko ta wersja Ansible jest oficjalnie wspierana przez tę rolę. Zapewniamy wsparcie w miarę możliwości dla innych wersji.
Ta rola jest kompatybilna z następującymi dystrybucjami:
dystrybucja | wersje |
---|---|
Archlinux | dowolna |
Debian | buster, bullseye, bookworm |
EL | 8 |
Fedora | 34, 35, 36 |
opensuse | 15.3, tumbleweed |
Ubuntu | bionic, focal |
Licencja
Autor
Maxwell G (@gotmax23)
Ansible role that installs password-store (pass), the standard Unix password manager.
ansible-galaxy install gotmax23.pass