mirror of
https://gitea.0xace.cc/ansible-galaxy/wireguard-ui.git
synced 2025-06-28 18:53:08 +00:00
first commit
This commit is contained in:
0
tasks/Debian/main.yaml
Normal file
0
tasks/Debian/main.yaml
Normal file
3
tasks/RedHat/main.yaml
Normal file
3
tasks/RedHat/main.yaml
Normal file
@ -0,0 +1,3 @@
|
||||
- name: "Include WireGuard UI install with podman"
|
||||
include_tasks: podman.yaml
|
||||
when: wireguard_ui_container_engine == 'podman'
|
57
tasks/RedHat/podman.yaml
Normal file
57
tasks/RedHat/podman.yaml
Normal file
@ -0,0 +1,57 @@
|
||||
- name: Install WireGuard UI with container
|
||||
block:
|
||||
- name: Login to image registries with podman
|
||||
containers.podman.podman_login:
|
||||
registry: '{{ item.key }}'
|
||||
username: '{{ item.value.username }}'
|
||||
password: '{{ item.value.password }}'
|
||||
become: true
|
||||
no_log: true
|
||||
changed_when: False
|
||||
loop: '{{ wireguard_ui_container_registry_auth | dict2items }}'
|
||||
when: wireguard_ui_container_registry_auth is defined
|
||||
|
||||
- name: Create configuration dir for WireGuard UI
|
||||
file:
|
||||
name: "{{ wireguard_ui_config_dir }}"
|
||||
state: directory
|
||||
|
||||
- name: Create WireGuard UI with podman
|
||||
containers.podman.podman_container:
|
||||
name: "{{ wireguard_ui_container_name }}"
|
||||
hostname: "{{ wireguard_ui_container_name }}"
|
||||
network_mode: "{{ wireguard_ui_network_mode }}"
|
||||
image: "{{ wireguard_ui_container_registry }}/{{ wireguard_ui_image_name }}:{{ wireguard_ui_image_tag }}"
|
||||
state: created
|
||||
env: "{{ wireguard_ui_combined_env }}"
|
||||
volumes: "{{ wireguard_ui_combined_volumes }}"
|
||||
register: wireguard_ui_container
|
||||
|
||||
- name: Generate container systemd unit
|
||||
shell: "podman generate systemd {{ wireguard_ui_container_name }}"
|
||||
register: wireguard_ui_systemd_unit
|
||||
changed_when: False
|
||||
|
||||
- name: Create WireGuard UI systemd unit
|
||||
copy:
|
||||
dest: "/etc/systemd/system/{{ wireguard_ui_systemd_unit_name }}"
|
||||
content: "{{ wireguard_ui_systemd_unit.stdout | regex_replace('^#.*', multiline=True) | trim }}"
|
||||
|
||||
- name: Create WireGuard UI systemd watcher unit
|
||||
copy:
|
||||
dest: "/etc/systemd/system/{{ wireguard_ui_watcher_systemd_service_unit_name }}"
|
||||
src: wireguard-ui-watcher.service.j2
|
||||
|
||||
- name: Create WireGuard UI systemd watcher path
|
||||
copy:
|
||||
dest: "/etc/systemd/system/{{ wireguard_ui_watcher_systemd_path_unit_name }}"
|
||||
src: wireguard-ui-watcher.path.j2
|
||||
|
||||
- name: Logout from image registries
|
||||
containers.podman.podman_logout:
|
||||
registry: '{{ item.key }}'
|
||||
become: true
|
||||
no_log: true
|
||||
changed_when: False
|
||||
loop: '{{ wireguard_ui_container_registry_auth | dict2items }}'
|
||||
when: wireguard_ui_container_registry_auth is defined
|
36
tasks/main.yaml
Normal file
36
tasks/main.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
- 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
|
||||
|
||||
- set_fact:
|
||||
wireguard_ui_combined_env: "{{ wireguard_ui_default_env | combine(wireguard_ui_env, recursive=true) }}"
|
||||
wireguard_ui_combined_volumes: "{{ wireguard_ui_default_volumes | combine(wireguard_ui_volumes, 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 services
|
||||
systemd:
|
||||
daemon_reload: true
|
||||
name: "{{ item }}"
|
||||
enabled: true
|
||||
state: started
|
||||
masked: no
|
||||
loop:
|
||||
- "{{ wireguard_ui_systemd_unit_name }}"
|
||||
- "{{ wireguard_ui_watcher_systemd_service_unit_name }}"
|
||||
- "{{ wireguard_ui_watcher_systemd_path_unit_name }}"
|
||||
|
||||
tags: wireguard_ui_start
|
||||
|
Reference in New Issue
Block a user