jason_riddle.tailscale

Rôle Ansible pour Tailscale

CI

Tailscale sur Linux.

Fonctionnalités :

  • Installer Tailscale.
  • Enregistrer un nœud sur Tailnet.
  • Fournir des certificats HTTPS.

Exigences

Aucune.

Variables de Rôle

Les variables disponibles sont énumérées ci-dessous, avec les valeurs par défaut (voir 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"

Options du dépôt Apt pour l'installation de Tailscale.

__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) }}"

Options du dépôt Yum pour l'installation de Tailscale.

tailscale_service_name: "tailscaled"
tailscale_service_state: démarré
tailscale_service_enabled: vrai

Contrôle de l'état du service tailscaled.

tailscale_up_node: faux
tailscale_up_authkey: ""
tailscale_up_timeout: "30s"
tailscale_up_extra_args: ""
tailscale_up_no_log: vrai

Exécute tailscale up avec des arguments. tailscale_up_authkey doit être renseigné.

Voir https://tailscale.com/kb/1080/cli/#up.

tailscale_cert_enabled: faux
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"

Exécute tailscale cert avec des arguments. tailscale_cert_domain doit être renseigné.

Voir https://tailscale.com/kb/1153/enabling-https/.

Dépendances

Aucune.

Exemple de Playbook

Installer Tailscale.

- hosts: all

  roles:
    - jason_riddle.tailscale

Enregistrer un nœud sur Tailnet.

- hosts: all

  vars:
    tailscale_up_node: vrai
    tailscale_up_authkey: "{{ lookup('env', 'TAILSCALE_AUTHKEY') }}"
    # Optionnel : spécifier des arguments pour la commande `tailscale up`.
    tailscale_up_extra_args: "--hostname={{ lookup('env', 'HOSTNAME') }}-{{ ansible_distribution|lower }}"

  roles:
    - jason_riddle.tailscale

Fournir des certificats HTTPS.

Voir https://tailscale.com/kb/1153/enabling-https/.

- hosts: all

  vars:
    tailscale_cert_enabled: vrai
    tailscale_cert_domain: "nom-machine.domaine-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: vrai
    tailscale_default_options_settings:
      # Autoriser l'utilisateur caddy à récupérer le certificat.
      # Voir https://tailscale.com/kb/1190/caddy-certificates/#provide-non-root-users-with-access-to-fetch-certificate.
      - regexp: "^#?TS_PERMIT_CERT_UID"
        line: "TS_PERMIT_CERT_UID=\"caddy\""

  roles:
    - jason_riddle.tailscale

Licence

MIT

À propos du projet

Tailscale on Linux.

Installer
ansible-galaxy install jason_riddle.tailscale
Licence
mit
Téléchargements
2.8k
Propriétaire