first commit

This commit is contained in:
ace
2022-07-13 14:51:25 +03:00
commit 871667ef0c
12 changed files with 178 additions and 0 deletions

0
tasks/Debian/main.yaml Normal file
View File

3
tasks/RedHat/main.yaml Normal file
View 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
View 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
View 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