m4rcu5nl.zerotier-one
ZeroTier
Diese Ansible-Rolle fügt das ZeroTier-Repository hinzu und installiert das Paket zerotier-one
mit dem Paketmanager Ihres Systems. Abhängig von den bereitgestellten Variablen kann diese Rolle auch neue Mitglieder zu (bestehenden) ZeroTier-Netzwerken hinzufügen und autorisieren sowie das neue Mitglied auffordern, dem Netzwerk beizutreten.
Anforderungen
Technisch hat diese Rolle keine Anforderungen. Wenn sie ohne gesetzte Variablen ausgeführt wird, führt sie nur die Installationsaufgaben aus. Die folgenden Variablen beeinflussen das Verhalten der Rolle:
zerotier_network_id: Wenn gesetzt, werden die Hosts angewiesen, diesem Netzwerk beizutreten.
zerotier_api_accesstoken: Wenn gesetzt, kann die Rolle die Mitgliederauthentifizierung und -konfiguration mit der ZeroTier-API verwalten.
Rollenspezifische Variablen
zerotier_network_id
Typ: Zeichenkette
Standardwert:
Beschreibung: Die 16-stellige Netzwerk-ID des Netzwerks, dem die neuen Mitglieder beitreten sollen. Der Knoten tritt keinem Netzwerk bei, wenn dies weggelassen wird.
zerotier_member_register_short_hostname
Typ: boolean
Standardwert: false
Beschreibung: Standardmäßig wird inventory_hostname
verwendet, um ein Mitglied in einem Netzwerk zu benennen. Wenn auf true
gesetzt, wird stattdessen inventory_hostname_short
verwendet.
zerotier_member_ip_assignments
Typ: Liste
Standardwert: []
Beschreibung: Eine Liste von IP-Adressen, die diesem Mitglied zugewiesen werden sollen. Das Mitglied erhält automatisch eine Adresse im Netzwerk, wenn dies weggelassen wird.
zerotier_member_description
Typ: Zeichenkette
Standardwert: ""
Beschreibung: Optionale Beschreibung für ein Mitglied.
zerotier_api_accesstoken
Typ: Zeichenkette
Standardwert: ""
Beschreibung: Das Zugangstoken, das benötigt wird, um sich bei der ZeroTier-API zu authentifizieren. Sie können eines in Ihren Kontoeinstellungen unter https://my.zerotier.com/ generieren. Wenn dies weggelassen wird, wird das neu beigetretene Mitglied nicht automatisch autorisiert.
zerotier_api_url
Typ: Zeichenkette
Standardwert: https://my.zerotier.com
Beschreibung: Die URL, an der die ZeroTier-API erreichbar ist. Muss das HTTPS-Protokoll verwenden.
zerotier_api_delegate
Typ: Zeichenkette
Standardwert: localhost
Beschreibung: Möglichkeit, Aufgaben für API-Aufrufe von ZeroTier zu delegieren. Dies ist nützlich in Situationen, in denen API-Aufrufe nur von einem auf die Whitelist gesetzten Verwaltungserver ausgeführt werden können.
Beispiel-Playbook
- hosts: servers
vars:
zerotier_network_id: 1234567890qwerty
zerotier_api_accesstoken: "{{ vault_zerotier_accesstoken }}"
zerotier_register_short_hostname: true
roles:
- { role: m4rcu5nl.zerotier, become: true }
Beispiel-Inventar
[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> Webserver'
[dbservers:vars]
zerotier_member_description='<AppName> Datenbank-Cluster-Knoten'
Install zerotier-one package and add new members to a zerotier network
ansible-galaxy install m4rcu5nl.zerotier-one