service: Support connecting containers to tailscale network

This commit is contained in:
uumas
2026-08-04 05:00:34 +03:00
parent ffa970eced
commit 11e22ed34a
8 changed files with 130 additions and 26 deletions

View File

@@ -1,5 +1,5 @@
---
- name: Additional containers for {{ service_name }}
- name: Additional container {{ _service_additional_container.name }}
ansible.builtin.include_role:
name: container
vars:
@@ -11,7 +11,11 @@
container_mounts: "{{ _service_additional_container_mounts }}"
container_devices: "{{ _service_additional_container.devices }}"
container_publish_ports: "{{ _service_additional_container_publish_ports }}"
container_networks: "{{ _service_additional_container_networks }}"
container_networks: >-
{{
_service_additional_container_networks if not _service_additional_container.tailscale
else [{'name': _service_additional_container.name ~ '-tailscale.container'}]
}}
container_hostname: "{{ _service_additional_container.name | regex_replace('^' ~ service_name ~ '-', '') }}"
container_secrets: "{{ _service_additional_container_secrets }}"
container_env: "{{ _service_additional_container.env }}"
@@ -21,13 +25,23 @@
container_requires: "{{ _service_additional_container_requires }}"
container_wants: "{{ _service_additional_container_wants }}"
container_auto_update: "{{ service_auto_update }}"
loop: "{{ _service_additional_containers }}"
loop_control:
loop_var: _service_additional_container
index_var: _service_additional_container_index
- name: Socat sockets for additional containers of {{ service_name }}
ansible.builtin.include_tasks: additional_socat.yaml
loop: "{{ _service_additional_containers }}"
- name: Socat for socket published ports of {{ _service_additional_container.name }}
ansible.builtin.include_role:
name: socat
loop: "{{ _service_additional_container_publish_socket_ports }}"
loop_control:
loop_var: _service_additional_container
loop_var: publish_port
vars:
socat_service_name: "{{ service_name }}-{{ publish_port.name }}"
socat_target_container: "{{ _service_additional_container.name }}"
socat_target_http_port: "{{ publish_port.container_port }}"
socat_auto_update: "{{ service_auto_update }}"
- name: Tailscale for {{ _service_additional_container.name }}
ansible.builtin.include_tasks: tailscale.yaml
when: _service_additional_container.tailscale
vars:
_service_tailscale_container_name: "{{ _service_additional_container.name }}"
_service_tailscale_networks: "{{ _service_additional_container_networks }}"
_service_tailscale_hostname: "{{ _service_additional_container.name | regex_replace('^' ~ service_name ~ '-', '') }}"