52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
---
|
|
- name: Install ZeroTier on Alpine hosts
|
|
hosts: alpine
|
|
become: true
|
|
gather_facts: true
|
|
|
|
tasks:
|
|
- name: Verify Alpine Linux
|
|
ansible.builtin.assert:
|
|
that:
|
|
- ansible_facts["distribution"] == "Alpine"
|
|
fail_msg: "This playbook only supports Alpine Linux."
|
|
|
|
- name: Install ZeroTier
|
|
community.general.apk:
|
|
name: zerotier-one
|
|
state: present
|
|
update_cache: true
|
|
|
|
- name: Enable ZeroTier at boot
|
|
ansible.builtin.command:
|
|
cmd: rc-update add zerotier-one default
|
|
register: zerotier_enable
|
|
changed_when: zerotier_enable.rc == 0
|
|
failed_when:
|
|
- zerotier_enable.rc != 0
|
|
- "'already' not in (zerotier_enable.stderr | lower)"
|
|
|
|
- name: Start ZeroTier
|
|
ansible.builtin.command:
|
|
cmd: rc-service zerotier-one start
|
|
register: zerotier_start
|
|
changed_when: zerotier_start.rc == 0
|
|
failed_when: zerotier_start.rc != 0
|
|
|
|
- name: Verify ZeroTier package
|
|
ansible.builtin.command:
|
|
cmd: apk info -e zerotier-one
|
|
register: zerotier_package
|
|
changed_when: false
|
|
failed_when: zerotier_package.rc != 0
|
|
|
|
- name: Check ZeroTier node status
|
|
ansible.builtin.command:
|
|
cmd: zerotier-cli info
|
|
register: zerotier_info
|
|
changed_when: false
|
|
|
|
- name: Display ZeroTier status
|
|
ansible.builtin.debug:
|
|
msg: "{{ inventory_hostname }}: {{ zerotier_info.stdout }}"
|