zerotier-one
ZeroTier
Этот Ansible роль добавляет репозиторий ZeroTier и устанавливает пакет zerotier-one
с помощью менеджера пакетов вашей системы. В зависимости от заданных переменных, данная роль также может добавить и авторизовать новых участников в (существующих) сетях ZeroTier и сообщить новому участнику присоединиться к сети.
Требования
Технически у данной роли нет требований. Если она будет запущена без установленных переменных, то выполнятся только задачи установки. Следующие переменные влияют на поведение роли:
zerotier_network_id: при установке эта переменная указывает хостам присоединиться к данной сети.
zerotier_api_accesstoken: при установке роль сможет управлять аутентификацией участников и конфигурацией с помощью API ZeroTier.
Переменные роли
zerotier_network_id
Тип: строка
Значение по умолчанию:
Описание: 16-символьный идентификатор сети, к которой должны присоединиться новые участники. Узел не присоединится ни к какой сети, если это значение не указано.
zerotier_member_register_short_hostname
Тип: булевая переменная
Значение по умолчанию: false
Описание: По умолчанию используется inventory_hostname
для именования участника в сети. Если установлено true
, будет использоваться inventory_hostname_short
.
zerotier_member_ip_assignments
Тип: список
Значение по умолчанию: []
Описание: Список IP-адресов для назначения этому участнику. Если оставить пустым, участнику будет автоматически назначен адрес в сети.
zerotier_member_description
Тип: строка
Значение по умолчанию: ""
Описание: Необязательное описание для участника.
zerotier_api_accesstoken
Тип: строка
Значение по умолчанию: ""
Описание: Токен доступа, необходимый для авторизации с API ZeroTier. Вы можете сгенерировать его в настройках вашего аккаунта на https://my.zerotier.com/. Если оставить пустым, то новый участник не будет автоматически авторизован.
zerotier_api_url
Тип: строка
Значение по умолчанию: https://my.zerotier.com
Описание: URL, по которому доступно API ZeroTier. Необходимо использовать HTTPS-протокол.
zerotier_api_delegate
Тип: строка
Значение по умолчанию: localhost
Описание: Опция делегирования задач для вызовов API ZeroTier. Это полезно в ситуациях, когда API-звонки могут осуществляться только с белого списка управляемого сервера, например.
Пример плейбука
- hosts: servers
vars:
zerotier_network_id: 1234567890qwerty
zerotier_api_accesstoken: "{{ vault_zerotier_accesstoken }}"
zerotier_register_short_hostname: true
roles:
- { role: m4rcu5nl.zerotier, become: true }
Пример инвентаря
[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='<AppName> веб-сервер'
[dbservers:vars]
zerotier_member_description='<AppName> узел кластера БД'
Install zerotier-one package and add new members to a zerotier network
ansible-galaxy install m4rcu5nl/ansible-role-zerotier