m4rcu5nl.zerotier-one
ZeroTier
Ta rola Ansible dodaje repozytorium ZeroTier i instaluje pakiet zerotier-one
za pomocą menedżera pakietów systemu. W zależności od dostarczonych zmiennych, ta rola może także dodawać i autoryzować nowych członków do (istniejących) sieci ZeroTier oraz informować nowego członka, aby dołączył do sieci.
Wymagania
Technicznie rzecz biorąc, ta rola nie ma wymagań. Jeśli zostanie uruchomiona bez ustawienia jakichkolwiek zmiennych, wykona tylko zadania instalacyjne. Poniższe zmienne mają wpływ na działanie roli:
zerotier_network_id: gdy jest ustawiona, hosty zostaną poinformowane o dołączeniu do tej sieci.
zerotier_api_accesstoken: gdy jest ustawiona, rola może obsługiwać autoryzację członków i konfigurację za pomocą API ZeroTier.
Zmienne roli
zerotier_network_id
Typ: ciąg
Wartość domyślna:
Opis: 16-znakowy identyfikator sieci, do której powinni dołączyć nowi członkowie. Węzeł nie dołączy do żadnej sieci, jeśli zostanie pominięty.
zerotier_member_register_short_hostname
Typ: boolean
Wartość domyślna: false
Opis: Domyślnie używany będzie inventory_hostname
do nazwania członka w sieci. Jeśli ustawione na true
, użyty zostanie inventory_hostname_short
.
zerotier_member_ip_assignments
Typ: lista
Wartość domyślna: []
Opis: Lista adresów IP do przypisania temu członkowi. Członek otrzyma automatycznie adres w sieci, jeśli zostanie pominięte.
zerotier_member_description
Typ: ciąg
Wartość domyślna: ""
Opis: Opcjonalny opis dla członka.
zerotier_api_accesstoken
Typ: ciąg
Wartość domyślna: ""
Opis: Token dostępu potrzebny do autoryzacji w API ZeroTier. Możesz go wygenerować w ustawieniach swojego konta pod adresem https://my.zerotier.com/. Jeśli zostanie pominięty, nowo dołączony członek nie będzie automatycznie autoryzowany.
zerotier_api_url
Typ: ciąg
Wartość domyślna: https://my.zerotier.com
Opis: Adres URL, pod którym znajduje się API Zerotier. Musi korzystać z protokołu HTTPS.
zerotier_api_delegate
Typ: ciąg
Wartość domyślna: localhost
Opis: Opcja delegowania zadań dla wywołań API Zerotier. Jest to przydatne w sytuacji, gdy wywołania API mogą być realizowane tylko z zaufanego serwera zarządzającego.
Przykład Playbooka
- hosts: servers
vars:
zerotier_network_id: 1234567890qwerty
zerotier_api_accesstoken: "{{ vault_zerotier_accesstoken }}"
zerotier_register_short_hostname: true
roles:
- { role: m4rcu5nl.zerotier, become: true }
Przykład Inwentarza
[servers]
web1.example.com zerotier_member_ip_assignments='["192.168.195.1", "192.168.195.2"]'
web2.example.com zerotier_member_ip_assignments='["192.168.195.3", "192.168.195.4"]'
db1.example.com zerotier_member_ip_assignments='["192.168.195.10"]'
db2.example.com zerotier_member_ip_assignments='["192.168.195.11"]'
db3.example.com zerotier_member_ip_assignments='["192.168.195.12"]'
[webservers]
web1.example.com
web2.example.com
[dbservers]
db1.example.com
db2.example.com
db3.example.com
[webservers:vars]
zerotier_member_description='<NazwaAplikacji> serwer WWW'
[dbservers:vars]
zerotier_member_description='<NazwaAplikacji> węzeł klastra bazy danych'
Install zerotier-one package and add new members to a zerotier network
ansible-galaxy install m4rcu5nl.zerotier-one