jason_riddle.tailscale

Tailscale的Ansible角色

CI

在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 uptailscale_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 certtailscale_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: "机器名.域名别名.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:
      - regexp: "^#?TS_PERMIT_CERT_UID"
        line: "TS_PERMIT_CERT_UID=\"caddy\""

  roles:
    - jason_riddle.tailscale

许可证

MIT

关于项目

Tailscale on Linux.

安装
ansible-galaxy install jason_riddle.tailscale
许可证
mit
下载
2.8k
拥有者