Compare commits
11 Commits
v0.1-beta.
...
v0.2-beta.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f82ab21515 | ||
|
|
03786a8f7d | ||
|
|
3b0cdf725f | ||
|
|
5ab3e67331 | ||
|
|
097a4f055b | ||
|
|
62682def92 | ||
|
|
c90f7556c2 | ||
|
|
9b6296e678 | ||
|
|
51d2085c02 | ||
|
|
e70be64ef7 | ||
|
|
769e901ca1 |
@@ -3,7 +3,7 @@
|
||||
Zerotier
|
||||
=========
|
||||
|
||||
This Ansible role installs the zerotier-one package from Zerotier's yum repo, adds and authorizes new members to (existing) Zerotier network and tells the new members to join the network.
|
||||
This Ansible role installs the zerotier-one package, adds and authorizes new members to (existing) Zerotier network and tells the new members to join the network.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
@@ -26,11 +26,11 @@ The 16 character network ID of the network the new members should join.
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
|
||||
```yaml
|
||||
- hosts: servers
|
||||
vars:
|
||||
zerotier_network_id: 1234567890qwerty
|
||||
zerotier_accesstoken: "{{ vault_zerotier_accesstoken }}"
|
||||
roles:
|
||||
- { role: m4rcu5nl.zerotier }
|
||||
|
||||
```
|
||||
|
||||
@@ -36,6 +36,9 @@ galaxy_info:
|
||||
- name: EL
|
||||
versions:
|
||||
- 7
|
||||
- name: Debian
|
||||
versions:
|
||||
- all
|
||||
# - name: Fedora
|
||||
# versions:
|
||||
# - all
|
||||
@@ -49,7 +52,6 @@ galaxy_info:
|
||||
|
||||
galaxy_tags:
|
||||
- zerotier-one
|
||||
- CentOS 7
|
||||
# List tags for your role here, one per line. A tag is a keyword that describes
|
||||
# and categorizes the role. Users find roles by searching for tags. Be sure to
|
||||
# remove the '[]' above, if you add tags to this list.
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
---
|
||||
|
||||
# Redhat variants
|
||||
- block: # Add zerotier repo and it's gpg key
|
||||
- name: Add zerotier gpg key
|
||||
rpm_key:
|
||||
@@ -13,10 +15,29 @@
|
||||
gpgcheck: yes
|
||||
enabled: yes
|
||||
register: zerotier_repo
|
||||
|
||||
tags:
|
||||
- installation
|
||||
- repositories
|
||||
when: ansible_os_family == "RedHat"
|
||||
|
||||
# Debian variants
|
||||
- block: # Add zerotier repo and it's gpg key if not already done.
|
||||
- name: Check if zerotier is already installed
|
||||
package:
|
||||
name: zerotier-one
|
||||
state: present
|
||||
check_mode: true
|
||||
register: zerotier_repo
|
||||
|
||||
- name: Install zerotier
|
||||
shell: curl -s 'https://pgp.mit.edu/pks/lookup?op=get&search=0x1657198823E52A61' | gpg --import && \
|
||||
if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi
|
||||
register: zerotier_repo
|
||||
when: zerotier_repo.changed
|
||||
tags:
|
||||
- installation
|
||||
- repositories
|
||||
when: ansible_os_family == "Debian"
|
||||
|
||||
- block: #Install and enable zerotier-one
|
||||
- name: Install zerotier-one
|
||||
@@ -36,6 +57,7 @@
|
||||
|
||||
when:
|
||||
- zerotier_repo|succeeded
|
||||
- not ansible_check_mode
|
||||
tags:
|
||||
- installation
|
||||
- packages
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
- block: # Join Zerotier network
|
||||
- name: Get Zerotier NodeID
|
||||
shell: /sbin/zerotier-cli info | awk '{print $3}'
|
||||
shell: zerotier-cli info | awk '{print $3}'
|
||||
register: nodeid
|
||||
|
||||
- name: Set NodeID as fact
|
||||
@@ -23,11 +23,12 @@
|
||||
register: apiresult
|
||||
|
||||
- name: Join Zerotier network
|
||||
command: /sbin/zerotier-cli join {{ zerotier_network_id }}
|
||||
command: zerotier-cli join {{ zerotier_network_id }}
|
||||
args:
|
||||
creates: /var/lib/zerotier-one/networks.d/{{ zerotier_network_id }}.conf
|
||||
|
||||
when:
|
||||
- zerotier_accesstoken is defined
|
||||
- not ansible_check_mode
|
||||
tags:
|
||||
- configuration
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
---
|
||||
# tasks file for ansible-role-zerotier
|
||||
- include: install.yml
|
||||
- import_tasks: install.yml
|
||||
|
||||
- name: Check for successfully joined networks
|
||||
shell: zerotier-cli listnetworks | grep 'OK'| awk '{print $3}'
|
||||
register: joinednetworks
|
||||
check_mode: yes
|
||||
|
||||
- include: join_network.yml
|
||||
- include_tasks: join_network.yml
|
||||
when:
|
||||
- 'zerotier_network_id not in joinednetworks.stdout'
|
||||
- zerotier_accesstoken is defined
|
||||
|
||||
Reference in New Issue
Block a user