All Projects → m4rcu5nl → ansible-role-zerotier

m4rcu5nl / ansible-role-zerotier

Licence: GPL-3.0 license
Ansible role to install Zerotier-One and join a Zerotier network

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to ansible-role-zerotier

ansible-role-aptly
Install aptly debian respository manager and enable the REST API
Stars: ✭ 37 (-42.19%)
Mutual labels:  ansible-role, ansible-galaxy
RHEL7-CIS
Ansible RHEL 7 - CIS Benchmark Hardening Script
Stars: ✭ 28 (-56.25%)
Mutual labels:  ansible-role, ansible-galaxy
cis ubuntu 2004
💻 Ansible Role for applying CIS Benchmark for Ubuntu Linux 20.04 LTS (hardening).
Stars: ✭ 30 (-53.12%)
Mutual labels:  ansible-role, ansible-galaxy
ansible-kafka
Ansible role for installing and configuring Apache Kafka on RedHat and Debian platforms.
Stars: ✭ 56 (-12.5%)
Mutual labels:  ansible-role, ansible-galaxy
ansible role proxmox
Ansible role to provision containers in Proxmox VE virtualization
Stars: ✭ 42 (-34.37%)
Mutual labels:  ansible-role, ansible-galaxy
ansible-role-do-agent
Cross-distro installation of the DigitalOcean monitoring agent
Stars: ✭ 22 (-65.62%)
Mutual labels:  ansible-role, ansible-galaxy
ansible-role-bastille
An ansible role that helps configure a server as a BastilleBSD host
Stars: ✭ 15 (-76.56%)
Mutual labels:  ansible-role, ansible-galaxy
ansible-role-mysql
An Ansible role that installs MySQL or MariaDB
Stars: ✭ 20 (-68.75%)
Mutual labels:  ansible-role
ansible-role-virtualenv
Ansible role to create and update a Python virtualenv.
Stars: ✭ 22 (-65.62%)
Mutual labels:  ansible-role
ansible-role-hidden-service
Ansible role to install & maintain Tor Hidden Services
Stars: ✭ 28 (-56.25%)
Mutual labels:  ansible-role
ansible-openwrt
Ansible collection to configure your OpenWrt devices more quickly and automatically (without Python)
Stars: ✭ 34 (-46.87%)
Mutual labels:  ansible-role
sensu-go-ansible
Official Ansible module for Sensu Go
Stars: ✭ 30 (-53.12%)
Mutual labels:  ansible-galaxy
ansible-teamcity-server
Ansible role for automatic setup of TeamCity Server
Stars: ✭ 19 (-70.31%)
Mutual labels:  ansible-galaxy
ansible-galaxy-tools
An Ansible role for automated installation of tools from a Tool Shed into Galaxy.
Stars: ✭ 14 (-78.12%)
Mutual labels:  ansible-role
ansible-role-create-users
Manage users on Linux using Ansible
Stars: ✭ 73 (+14.06%)
Mutual labels:  ansible-role
ansible-galaxy-pyenv
Ansible Galaxy role for pyenv
Stars: ✭ 56 (-12.5%)
Mutual labels:  ansible-role
ansible-role-dotnet-core
Ansible Role - .NET Core for Ubuntu/RHEL/CentOS https://galaxy.ansible.com/ocha/dotnet-core
Stars: ✭ 24 (-62.5%)
Mutual labels:  ansible-role
jira role
Ansible role to install Atlassian JIRA
Stars: ✭ 13 (-79.69%)
Mutual labels:  ansible-role
linux-system-roles.github.io
Linux System Roles website
Stars: ✭ 18 (-71.87%)
Mutual labels:  ansible-galaxy
ansible-docker
Enter description of Ansible role
Stars: ✭ 14 (-78.12%)
Mutual labels:  ansible-role

Build Status GitHub issues

ZeroTier

This Ansible role adds the ZeroTier repository and installs the zerotier-one package using your system's package manager. Depending on the provided variables this role can also add and authorize new members to (existing) ZeroTier networks, and tell the new member to join the network.

Requirements

Technically this role has no requirements. If it's ran without any variables set it will only run the installation tasks. The following variables impact the role's behavior:

zerotier_network_id: when set hosts are told to join this network.
zerotier_api_accesstoken: when set the role can handle member authentication and configuration using the ZeroTier API.

Role Variables

zerotier_network_id

Type: string
Default value:
Description: The 16 character network ID of the network the new members should join. The node will not join any network if omitted.

zerotier_member_register_short_hostname

Type: boolean
Default value: false
Description: By default inventory_hostname will be used to name a member in a network. If set to true, inventory_hostname_short will be used instead.

zerotier_member_ip_assignments

Type: list
Default value: []
Description: A list of IP addresses to assign this member. The member will be automatically assigned an address on the network if left out.

zerotier_member_description

Type: string
Default value: ""
Description: Optional description for a member.

zerotier_api_accesstoken

Type: string
Default value: ""
Description: The access token needed to authorize with the ZeroTier API. You can generate one in your account settings at https://my.zerotier.com/. If this is left out then the newly joined member will not be automatically authorized.

zerotier_api_url

Type: string
Default value: https://my.zerotier.com
Description: The url where the Zerotier API lives. Must use HTTPS protocol.

zerotier_api_delegate

Type: string
Default value: localhost
Description: Option to delegate tasks for Zerotier API calls. This is useful in a situation where API calls can only be made from a white-listed management server, for example.

Example 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 }

Example Inventory

    [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> db cluster node'
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].