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