diff --git a/tasks/authorize_node.yml b/tasks/authorize_node.yml index 50c34e7..7be25bb 100644 --- a/tasks/authorize_node.yml +++ b/tasks/authorize_node.yml @@ -9,8 +9,24 @@ set_fact: zerotier_node_id: "{{ nodeid.stdout }}" - - name: Add and authorize members to network - uri: + - name: Authorize members to network + local_action: + module: uri + url: "{{ zerotier_api_url }}/api/network/{{ zerotier_network_id }}/member/{{ zerotier_node_id }}" + method: POST + headers: + Authorization: bearer {{ zerotier_accesstoken }} + body: + hidden: false + config: + authorized: "{{ zerotier_authorize_member }}" + body_format: json + register: auth_apiresult + become: false + + - name: Configure members in network + local_action: + module: uri url: "{{ zerotier_api_url }}/api/network/{{ zerotier_network_id }}/member/{{ zerotier_node_id }}" method: POST headers: @@ -18,12 +34,11 @@ body: name: "{{ zerotier_register_short_hostname | ternary(inventory_hostname_short, inventory_hostname) }}" description: "{{ zerotier_member_description | default() }}" - hidden: false config: - authorized: "{{ zerotier_authorize_member }}" ipAssignments: "{{ zerotier_member_ip_assignments | default([]) | list }}" body_format: json - register: apiresult + register: conf_apiresult + become: false when: - zerotier_accesstoken is defined diff --git a/tasks/install.yml b/tasks/install.yml index 1fa4fd8..4e59976 100644 --- a/tasks/install.yml +++ b/tasks/install.yml @@ -22,7 +22,7 @@ - enable zerotier-one when: - - zerotier_repo is succeeded + - zerotier_repo is not defined or zerotier_repo is succeeded - not ansible_check_mode tags: - installation diff --git a/tasks/install/Archlinux.yml b/tasks/install/Archlinux.yml new file mode 100644 index 0000000..3f9270a --- /dev/null +++ b/tasks/install/Archlinux.yml @@ -0,0 +1 @@ +# zerotier-one is available in the official repositories diff --git a/tasks/install/RedHat.yml b/tasks/install/RedHat.yml index 860ac7b..ed3a695 100644 --- a/tasks/install/RedHat.yml +++ b/tasks/install/RedHat.yml @@ -3,7 +3,7 @@ state: present key: "{{ zerotier_gpg_url }}" -- name: Add ZeroTier repo +- name: Add ZeroTier repo for RHEL/CentOS yum_repository: name: zerotier description: ZeroTier, Inc. RPM Release Repository @@ -11,3 +11,14 @@ gpgcheck: yes enabled: yes register: zerotier_repo + when: ansible_distribution != "Fedora" + +- name: Add zerotier repo for Fedora + yum_repository: + name: zerotier + description: ZeroTier, Inc. RPM Release Repository + baseurl: https://download.zerotier.com/redhat/fc/$releasever + gpgcheck: yes + enabled: yes + register: zerotier_repo + when: ansible_distribution == "Fedora" diff --git a/tasks/main.yml b/tasks/main.yml index 554c10e..0b2aa25 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,6 +1,8 @@ --- # tasks file for ansible-role-zerotier - import_tasks: install.yml + when: + - not skip_install|default(false)|bool - import_tasks: authorize_node.yml when: