gotmax23.pass
Ansible Role: pass
Ansible役割で、標準的なUnixパスワードマネージャーであるpassword-store(pass)をインストールします。
ベータ警告
この役割は現在ベータ版であり、本番環境での使用を想定していません。リリース間で破壊的な変更が発生することがありますので、リリースノートを必ずご確認ください。
必要条件
Enterprise Linux(CentOS、Rocky Linux、Alamlinux、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には、`pass show`コマンドの`-c`オプションを使用して、パスワードをシステムのクリップボードにコピーする機能があります。デフォルトでは、この役割はXorg用のクリップボードヘルパーである`xclip`をインストールします。Waylandを使用している場合は、この値を`wl-clipboard`に変更してください。`xclip`と`wl-clipboard`の両方をインストールしたい場合は、この値を`both`に変更してください。
pass_clipboard_helper: xclip
##########
# これらの変数は`pass_install_method=source`の時のみ適用されます。
# Passのソースtarballをダウンロードして抽出する場所。
pass_download_path: /opt/pass
# インストールするPassのバージョン。
# latestに設定された場合、この役割は最新のバージョンを特定してそれをインストールします。
pass_version: latest
# pass_version: 1.7.4
# makeに渡すパラメータ。すべての利用可能なパラメータについては、PassのGitリポジトリ内の[インストール手順][1]と[Makefile][2]を参照してください。
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: Install Pass
hosts: all
become: true
tasks:
- name: Update apt cache
when: ansible_pkg_mgr == "apt"
ansible.builtin.apt:
update_cache: true
cache_valid_time: 3600
- name: Install EPEL Repo (EL系のディストリビューション専用)
ansible.builtin.include_role:
name: robertdebock.epel
- name: Install 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 |
ライセンス
作者
Maxwell G (@gotmax23)
Ansible role that installs password-store (pass), the standard Unix password manager.
ansible-galaxy install gotmax23.pass