Rework zerotier role to prevent installing zerotier just for it to do nothing at all
This also neatly avoids things like rpm-ostree-based distros where i install zerotier in a container
This commit is contained in:
parent
cc3dcd5aeb
commit
44c96b0442
@ -1,7 +1,12 @@
|
|||||||
#!/usr/bin/env ansible-playbook
|
#!/usr/bin/env ansible-playbook
|
||||||
# vim:ft=ansible:
|
# vim:ft=ansible:
|
||||||
---
|
---
|
||||||
- name: configure zerotier for apt
|
- name: check for zerotier
|
||||||
|
stat: path=/usr/bin/zerotier-cli
|
||||||
|
register: zerotier_cli_path
|
||||||
|
- name: install zerotier if we're joining networks
|
||||||
|
block:
|
||||||
|
- name: configure zerotier for apt
|
||||||
block:
|
block:
|
||||||
- name: ensure zerotier repo key
|
- name: ensure zerotier repo key
|
||||||
ansible.builtin.apt_key: url="{{ zerotier_repo_deb_key }}"
|
ansible.builtin.apt_key: url="{{ zerotier_repo_deb_key }}"
|
||||||
@ -12,18 +17,20 @@
|
|||||||
- name: ensure packages
|
- name: ensure packages
|
||||||
ansible.builtin.apt: name=zerotier-one
|
ansible.builtin.apt: name=zerotier-one
|
||||||
when: ansible_pkg_mgr == "apt"
|
when: ansible_pkg_mgr == "apt"
|
||||||
- name: template unit file
|
- name: template unit file
|
||||||
ansible.builtin.template: src=zerotier-one.service dest=/etc/systemd/system/zerotier-one.service mode=0644
|
ansible.builtin.template: src=zerotier-one.service dest=/etc/systemd/system/zerotier-one.service mode=0644
|
||||||
notify: restart zerotier
|
notify: restart zerotier
|
||||||
- name: join networks
|
- name: join networks
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
argv: [ zerotier-cli, join, "{{ item }}" ]
|
argv: [ zerotier-cli, join, "{{ item }}" ]
|
||||||
with_items: "{{ zerotier_networks_join }}"
|
with_items: "{{ zerotier_networks_join }}"
|
||||||
changed_when: no
|
changed_when: no
|
||||||
|
when: zerotier_networks_join is defined and zerotier_networks_join
|
||||||
- name: leave networks
|
- name: leave networks
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
argv: [ zerotier-cli, leave, "{{ item }}" ]
|
argv: [ zerotier-cli, leave, "{{ item }}" ]
|
||||||
register: zerotierleave
|
register: zerotierleave
|
||||||
with_items: "{{ zerotier_networks_leave }}"
|
with_items: "{{ zerotier_networks_leave }}"
|
||||||
|
when: zerotier_cli_path.stat.exists and zerotier_networks_leave is defined
|
||||||
changed_when: no
|
changed_when: no
|
||||||
failed_when: "'0 leave connection failed' in zerotierleave.stdout"
|
failed_when: "'0 leave connection failed' in zerotierleave.stdout"
|
||||||
|
Loading…
Reference in New Issue
Block a user