jason_riddle.tailscale
Tailscale用Ansibleロール
Linux上のTailscale。
機能:
- Tailscaleをインストール。
- ノードをTailnetに登録。
- HTTPS証明書を設定。
要件
特になし。
ロール変数
使用可能な変数は以下に示します (デフォルト値を参照: defaults/main.yml
):
tailscale_apt_gpg_key: "https://pkgs.tailscale.com/stable/{{ ansible_distribution|lower }}/{{ ansible_distribution_release|lower }}.gpg"
tailscale_apt_repository: "deb https://pkgs.tailscale.com/stable/{{ ansible_distribution|lower }} {{ ansible_distribution_release|lower }} main"
Tailscaleインストール用のAptリポジトリオプション。
__ts_yum_centos_repo_url: "https://pkgs.tailscale.com/stable/centos/{{ ansible_distribution_major_version }}/tailscale.repo"
__ts_yum_fedora_repo_url: "https://pkgs.tailscale.com/stable/fedora/tailscale.repo"
tailscale_yum_repository_url: "{{ (ansible_distribution == 'Fedora') | ternary(__ts_yum_fedora_repo_url, __ts_yum_centos_repo_url) }}"
Tailscaleインストール用のYumリポジトリオプション。
tailscale_service_name: "tailscaled"
tailscale_service_state: started
tailscale_service_enabled: true
tailscaledサービスの状態を制御します。
tailscale_up_node: false
tailscale_up_authkey: ""
tailscale_up_timeout: "30s"
tailscale_up_extra_args: ""
tailscale_up_no_log: true
tailscale up
を引数付きで実行します。tailscale_up_authkey
は設定する必要があります。
詳細: https://tailscale.com/kb/1080/cli/#up。
tailscale_cert_enabled: false
tailscale_cert_domain: ""
tailscale_cert_dir: "/usr/local/etc/ssl/certs"
tailscale_cert_filename: "{{ tailscale_cert_domain }}.crt"
tailscale_cert_private_key_dir: "/usr/local/etc/ssl/private"
tailscale_cert_private_key_filename: "{{ tailscale_cert_domain }}.key"
tailscale cert
を引数付きで実行します。tailscale_cert_domain
は設定する必要があります。
詳細: https://tailscale.com/kb/1153/enabling-https/。
依存関係
特になし。
例のプレイブック
Tailscaleをインストール。
- hosts: all
roles:
- jason_riddle.tailscale
ノードをTailnetに登録。
- hosts: all
vars:
tailscale_up_node: true
tailscale_up_authkey: "{{ lookup('env', 'TAILSCALE_AUTHKEY') }}"
# オプション: `tailscale up`コマンドに引数を指定します。
tailscale_up_extra_args: "--hostname={{ lookup('env', 'HOSTNAME') }}-{{ ansible_distribution|lower }}"
roles:
- jason_riddle.tailscale
HTTPS証明書を設定。
詳細: https://tailscale.com/kb/1153/enabling-https/。
- hosts: all
vars:
tailscale_cert_enabled: true
tailscale_cert_domain: "machine-name.domain-alias.ts.net"
tailscale_cert_dir: "/usr/local/etc/ssl/certs"
tailscale_cert_filename: "{{ tailscale_cert_domain }}.crt"
tailscale_cert_private_key_dir: "/usr/local/etc/ssl/private"
tailscale_cert_private_key_filename: "{{ tailscale_cert_domain }}.key"
tailscale_default_options_enabled: true
tailscale_default_options_settings:
# caddyユーザーが証明書を取得できるようにします。
- regexp: "^#?TS_PERMIT_CERT_UID"
line: "TS_PERMIT_CERT_UID=\"caddy\""
roles:
- jason_riddle.tailscale
ライセンス
MIT