mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2025-06-29 20:57:51 +02:00
Feat: Added element call setup and configuration.
This commit is contained in:
79
roles/custom/matrix-element-call/tasks/validate_config.yml
Normal file
79
roles/custom/matrix-element-call/tasks/validate_config.yml
Normal file
@ -0,0 +1,79 @@
|
||||
---
|
||||
# roles/custom/matrix-element-call/tasks/validate_config.yml
|
||||
|
||||
- name: Ensure required variables for Element Call are defined
|
||||
ansible.builtin.fail:
|
||||
msg: "The variable '{{ item }}' is required and must be set."
|
||||
when: vars[item] is not defined or vars[item] == ''
|
||||
loop:
|
||||
- matrix_element_call_enabled
|
||||
- matrix_element_call_version
|
||||
- matrix_element_call_hostname
|
||||
- matrix_element_call_path_prefix
|
||||
- matrix_element_call_base_path
|
||||
- matrix_element_call_container_image
|
||||
- matrix_element_call_container_network
|
||||
- matrix_element_call_container_labels_traefik_hostname
|
||||
- matrix_element_call_jwt_service_url
|
||||
- matrix_element_call_livekit_service_url
|
||||
- matrix_element_call_livekit_dev_key
|
||||
|
||||
- name: Validate that the Element Call hostname is properly formatted
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- "'{{ matrix_element_call_hostname }}' is match('^([a-zA-Z0-9][-a-zA-Z0-9]*[a-zA-Z0-9])$')"
|
||||
fail_msg: "The hostname '{{ matrix_element_call_hostname }}' is not valid. It should be a valid domain or subdomain."
|
||||
success_msg: "The hostname '{{ matrix_element_call_hostname }}' is valid."
|
||||
|
||||
- name: Validate that the Element Call version is specified correctly
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- matrix_element_call_version is string
|
||||
- matrix_element_call_version != ''
|
||||
fail_msg: "The Element Call version must be a non-empty string."
|
||||
success_msg: "The Element Call version is set correctly."
|
||||
|
||||
- name: Ensure LiveKit dev key is set
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- matrix_element_call_livekit_dev_key is string
|
||||
- matrix_element_call_livekit_dev_key != ''
|
||||
fail_msg: "The LiveKit dev key (matrix_element_call_livekit_dev_key) must be a non-empty string."
|
||||
success_msg: "The LiveKit dev key is set correctly."
|
||||
|
||||
- name: Ensure JWT service URL is valid
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- matrix_element_call_jwt_service_url is match('^https?://[a-zA-Z0-9.-]+$')
|
||||
fail_msg: "The JWT service URL '{{ matrix_element_call_jwt_service_url }}' is not valid."
|
||||
success_msg: "The JWT service URL is valid."
|
||||
|
||||
- name: Ensure LiveKit service URL is valid
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- matrix_element_call_livekit_service_url is match('^https?://[a-zA-Z0-9.-]+$')
|
||||
fail_msg: "The LiveKit service URL '{{ matrix_element_call_livekit_service_url }}' is not valid."
|
||||
success_msg: "The LiveKit service URL is valid."
|
||||
|
||||
- name: Ensure matrix-element-call base path is set and exists
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- matrix_element_call_base_path is string
|
||||
- matrix_element_call_base_path != ''
|
||||
fail_msg: "The base path for Element Call (matrix_element_call_base_path) must be a non-empty string."
|
||||
success_msg: "The base path for Element Call is set correctly."
|
||||
|
||||
- name: Ensure required paths for configurations are accessible
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ matrix_element_call_base_path }}/config"
|
||||
- "{{ matrix_element_call_base_path }}/backend"
|
||||
register: config_paths_check
|
||||
|
||||
- name: Fail if any required paths for configurations are not accessible
|
||||
ansible.builtin.fail:
|
||||
msg: "The required configuration path '{{ item.path }}' does not exist or is not accessible."
|
||||
when: config_paths_check.results is defined and config_paths_check.results | selectattr('failed', 'eq', True) | list | length > 0
|
||||
loop: "{{ config_paths_check.results | selectattr('failed', 'eq', True) | list }}"
|
Reference in New Issue
Block a user