Join network

Add members to private Zerotier network and authorize them. Lets members join the network afterwards.
pull/2/head
Marcus Meurs 2017-07-27 00:48:55 +02:00
parent 2b2280f2bc
commit c9b9eca84a
2 changed files with 42 additions and 0 deletions

33
tasks/join_network.yml Normal file
View File

@ -0,0 +1,33 @@
---
- block: # Join Zerotier network
- name: Get Zerotier NodeID
shell: /sbin/zerotier-cli info | awk '{print $3}'
register: nodeid
- name: Set NodeID as fact
set_fact:
zerotier_node_id: "{{ nodeid.stdout }}"
- name: Add and authorize members to network
uri:
url: "{{ zerotier_api_url }}/api/network/{{ zerotier_network_id }}/member/{{ zerotier_node_id }}"
method: POST
headers:
Authorization: bearer {{ zerotier_accesstoken }}
body:
name: "{{ inventory_hostname }}"
hidden: false
config:
authorized: true
body_format: json
register: apiresult
- name: Join Zerotier network
command: /sbin/zerotier-cli join {{ zerotier_network_id }}
args:
creates: /var/lib/zerotier-one/networks.d/{{ zerotier_network_id }}.conf
when:
- zerotier_accesstoken is defined
tags:
- configuration

View File

@ -1,3 +1,12 @@
--- ---
# tasks file for ansible-role-zerotier # tasks file for ansible-role-zerotier
- include: install.yml - include: install.yml
- name: Check for successfully joined networks
shell: zerotier-cli listnetworks | grep 'OK'| awk '{print $3}'
register: joinednetworks
- include: join_network.yml
when:
- 'zerotier_network_id not in joinednetworks.stdout'
- zerotier_accesstoken is defined