--- {%- from "headscale/map.jinja" import headscale with context %} headscale-group: group.present: - name: headscale - gid: {{ headscale.group.gid }} - watch_in: - service: headscale-service headscale-user: user.present: - name: headscale - uid: {{ headscale.user.uid }} - gid: {{ headscale.group.gid }} - allow_uid_change: true - allow_gid_change: true - home: /var/lib/headscale - watch_in: - service: headscale-service headscale-release-dir: file.directory: - name: {{ headscale.release_dir }}/headscale-{{ headscale.version }} headscale-install-dir: file.directory: - name: {{ headscale.install_dir }} headscale-bin-download: file.managed: - name: {{ headscale.release_dir }}/headscale-{{ headscale.version }}/headscale - source: {{ headscale.mirror }}/v{{ headscale.version }}/headscale_{{ headscale.version }}_{{ headscale.os }}_{{ headscale.arch }} - skip_verify: true - user: root - group: root - if_missing: {{ headscale.release_dir }}/headscale-{{ headscale.version }}/headscale - watch_in: - service: headscale-service headscale-bin-symlink: file.symlink: - name: {{ headscale.install_dir }}/headscale - target: {{ headscale.release_dir }}/headscale-{{ headscale.version }} - force: true headscale-cleanup: software.cleanup: - name: headscale - path: {{ headscale.release_dir }} - version: "{{ headscale.version }}"