Join network
Add members to private Zerotier network and authorize them. Lets members join the network afterwards.pull/2/head
parent
2b2280f2bc
commit
c9b9eca84a
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue