kazauwa.headscale
HeadscaleのAnsibleロール
Linux上でHeadscaleをインストールおよび管理するロールです。
必要条件
- Ansible >= 7
インストール
ansible-galaxy install kazauwa.headscale
ロール変数
headscale_version
- デフォルト:
0.22.3
- 説明: インストールするHeadscaleのバージョン。利用可能なバージョンのリストは公式リリースページで確認できます。デフォルトは最新の利用可能なバージョンです。
- デフォルト:
headscale_arch
- デフォルト:
amd64
- 説明: headscaleバイナリのターゲットアーキテクチャ。
- デフォルト:
headscale_os
- デフォルト:
linux
- 説明: headscaleバイナリのターゲットOS。
- デフォルト:
headscale_user_name
- デフォルト:
headscale
- 説明: Headscaleバイナリを実行するためのサービスユーザーの名前。
- デフォルト:
headscale_user_group
- デフォルト:
headscale
- 説明: Headscaleバイナリを実行するためのサービスユーザーのグループ。
- デフォルト:
headscale_user_uid
- デフォルト:
800
- 説明: Headscaleバイナリを実行するためのサービスユーザーのUID。
- デフォルト:
headscale_user_gid
- デフォルト:
800
- 説明: Headscaleバイナリを実行するためのサービスユーザーのGID。
- デフォルト:
headscale_binary_path
- デフォルト:
/usr/local/bin/headscale
- 説明: headscaleバイナリをインストールするパス。
- デフォルト:
headscale_config_dir
- デフォルト:
/etc/headscale
- 説明: headscaleの設定ファイルのパス。
- デフォルト:
headscale_var_data_dir
- デフォルト:
/var/lib/headscale
- 説明: headscaleデータのパス。
- デフォルト:
headscale_pid_dir
- デフォルト:
/var/run/headscale
- 説明: headscaleのソケットのパス。
- デフォルト:
headscale_config
- デフォルト:
{}
- 説明: yaml形式のheadscale設定。初めにデフォルト設定を参考にすると良いでしょう。
- デフォルト:
headscale_config_template
- デフォルト:
""
- 説明: Jinja2形式のheadscale設定テンプレートのパス。存在する場合、
headscale_config
を上書きします。
- デフォルト:
headscale_acl
- デフォルト:
{}
- 説明: yaml形式のACLポリシー。この機能の使い方について、ドキュメントを必ず確認してください。
- デフォルト:
headscale_users
- デフォルト:
[]
- 説明: 作成するユーザーのリスト。例: tagOwnersと一緒に使用するためのものです。
- デフォルト:
headscale_enable_routes
- デフォルト:
[]
- 説明: 有効にする広告ルートを持つノードのリスト。headscaleノードの整数ID、カンマ区切りのルートのリスト、および実行中に出力するオプションのコメントを受け入れます。autoApproversが設定されていないときに使用します。
- 例:
{'id': 14, 'routes': '10.0.0.0/24,10.2.3.4/32', 'comment': 'Gateway to prod'}
- デフォルト:
headscale_exit_nodes
- デフォルト:
[]
- 説明: 出口ノードとして機能するノードのリスト。headscaleノードの整数IDと実行中に出力するオプションのコメントを受け入れます。autoApproversが設定されていないときに使用します。
- 例:
{'id': 14, 'comment': 'eu-fra-01'}
- デフォルト:
依存関係
なし。
例プレイブック
- hosts: all
roles:
- kazauwa.headscale
vars:
headscale_version: '0.22.3'
ライセンス
MIT