From 2469d67dbd5c28f922873eb3bb37c884a4f93fa7 Mon Sep 17 00:00:00 2001 From: Leo Date: Sat, 10 Oct 2026 00:00:39 +0800 Subject: [PATCH] Update playbooks/debian/install-zerotier.yml --- playbooks/debian/install-zerotier.yml | 67 ++++++++++++++------------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/playbooks/debian/install-zerotier.yml b/playbooks/debian/install-zerotier.yml index 7832829..bafd9e2 100644 --- a/playbooks/debian/install-zerotier.yml +++ b/playbooks/debian/install-zerotier.yml @@ -1,6 +1,6 @@ --- -- name: Install and configure ZeroTier on Debian hosts +- name: Ensure ZeroTier is installed and running hosts: debian become: true gather_facts: true @@ -11,55 +11,56 @@ that: - ansible_facts["distribution"] == "Debian" - - name: Install prerequisites - ansible.builtin.apt: - name: - - ca-certificates - - curl - state: present - update_cache: true - - - name: Download official ZeroTier installer - ansible.builtin.get_url: - url: https://install.zerotier.com/ - dest: /tmp/zerotier-install.sh - mode: "0755" - - - name: Check whether ZeroTier package is installed + - name: Check ZeroTier package ansible.builtin.command: cmd: dpkg-query -W -f='${Status}' zerotier-one register: zerotier_package changed_when: false failed_when: false - - name: Run official installer when package is missing + - name: Download ZeroTier installer + ansible.builtin.get_url: + url: https://install.zerotier.com/ + dest: /tmp/zerotier-install.sh + mode: "0755" + when: "'install ok installed' not in zerotier_package.stdout" + + - name: Install ZeroTier if missing ansible.builtin.command: cmd: bash /tmp/zerotier-install.sh when: "'install ok installed' not in zerotier_package.stdout" - - name: Verify ZeroTier package + - name: Verify ZeroTier installation ansible.builtin.command: cmd: dpkg-query -W -f='${Status}' zerotier-one register: zerotier_verify changed_when: false failed_when: "'install ok installed' not in zerotier_verify.stdout" - - name: Reload systemd - ansible.builtin.systemd: - daemon_reload: true - - - name: Enable and start ZeroTier - ansible.builtin.systemd: - name: zerotier-one - enabled: true - state: started - - - name: Check ZeroTier status + - name: Enable ZeroTier service ansible.builtin.command: - cmd: zerotier-cli info - register: zerotier_status + cmd: systemctl enable zerotier-one.service + register: zerotier_enable + changed_when: "'Created symlink' in zerotier_enable.stdout or 'Created symlink' in zerotier_enable.stderr" + + - name: Start ZeroTier service + ansible.builtin.command: + cmd: systemctl start zerotier-one.service changed_when: false - - name: Display ZeroTier status + - name: Verify ZeroTier service is active + ansible.builtin.command: + cmd: systemctl is-active zerotier-one.service + register: zerotier_active + changed_when: false + failed_when: zerotier_active.stdout != "active" + + - name: Get ZeroTier node information + ansible.builtin.command: + cmd: zerotier-cli info + register: zerotier_info + changed_when: false + + - name: Display status ansible.builtin.debug: - msg: "{{ inventory_hostname }}: {{ zerotier_status.stdout }}" \ No newline at end of file + msg: "{{ inventory_hostname }}: {{ zerotier_info.stdout }}"