- name: Make sure handlers are flushed immediately meta: flush_handlers - name: Load a variable file based on the OS type include_vars: "{{ lookup('first_found', params) }}" vars: params: files: - "{{ ansible_facts['distribution'] }}.yaml" - "{{ ansible_facts['os_family'] }}.yaml" paths: - "vars" tags: wireguard_ui_vars - name: Merge volumes set_fact: wireguard_ui_volumes: "{{ wireguard_ui_volumes | default([]) + [item.key +':'+ item.value] }}" loop: "{{ wireguard_ui_default_volumes | dict2items }}" - name: Merge ENV set_fact: wireguard_ui_combined_env: "{{ wireguard_ui_default_env | combine(wireguard_ui_env | default({}), recursive=true) }}" - name: "Install WireGuard UI for {{ ansible_facts['os_family'] }}" include_tasks: "{{ ansible_facts['os_family'] }}/main.yaml" tags: wireguard_ui_install - name: Enable and start WireGuard UI systemd: daemon_reload: true name: "{{ item }}" enabled: true state: started masked: no loop: - "{{ wireguard_ui_systemd_unit_name }}" - name: Enable WireGuard UI watcher services systemd: daemon_reload: true name: "{{ item }}" enabled: true masked: no loop: - "{{ wireguard_ui_watcher_systemd_service_unit_name }}" - "{{ wireguard_ui_watcher_systemd_path_unit_name }}" - name: Enable WireGuard UI path watcher service systemd: daemon_reload: true name: "{{ item }}" enabled: true state: started masked: no loop: - "{{ wireguard_ui_watcher_systemd_path_unit_name }}" tags: wireguard_ui_start