25 lines
855 B
YAML
25 lines
855 B
YAML
|
|
---
|
||
|
|
- name: Get current tailscale serve status
|
||
|
|
ansible.builtin.command: tailscale serve status --json
|
||
|
|
register: serve_status
|
||
|
|
changed_when: false
|
||
|
|
|
||
|
|
- name: Configure HTTPS services
|
||
|
|
ansible.builtin.command: >
|
||
|
|
tailscale serve --service="{{ item.name }}"
|
||
|
|
--https={{ item.https.port }} {{ item.https.upstream }}
|
||
|
|
loop: "{{ tailscale_services }}"
|
||
|
|
when: item.https is defined
|
||
|
|
register: https_result
|
||
|
|
changed_when: "'already serving' not in https_result.stderr | default('')"
|
||
|
|
failed_when: false
|
||
|
|
|
||
|
|
- name: Configure TCP services
|
||
|
|
ansible.builtin.command: >
|
||
|
|
tailscale serve --service="{{ item.name }}"
|
||
|
|
--tcp={{ item.tcp.port }} {{ item.tcp.upstream }}
|
||
|
|
loop: "{{ tailscale_services }}"
|
||
|
|
when: item.tcp is defined
|
||
|
|
register: tcp_result
|
||
|
|
changed_when: "'already serving' not in tcp_result.stderr | default('')"
|
||
|
|
failed_when: false
|