Files
ansible/playbooks/alpine/install-zerotier.yml
T

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 }}"