|
- - name: Load Element Web config.json content
- ansible.builtin.slurp:
- src: "{{ element_web_config_path }}"
- register: element_web_config_content_raw
- ignore_errors: no
-
- - name: Parse Element Web config.json content
- ansible.builtin.set_fact:
- element_web_config_content: "{{ element_web_config_content_raw['content'] | b64decode | from_json }}"
- when: element_web_config_content_raw is defined and element_web_config_content_raw['content'] is defined
-
- - name: Update Element Web config.json settings
- ansible.builtin.set_fact:
- element_web_config_content:
- "{{ element_web_config_content | combine({
- 'features': {
- 'feature_video_rooms': true,
- 'feature_new_room_decoration_ui': true,
- 'feature_group_calls': true,
- 'feature_element_call_video_rooms': true
- },
- 'element_call': {
- 'url': 'https://{{ matrix_element_call_domain }}',
- 'participant_limit': 8,
- 'brand': 'Element Call',
- 'use_exclusively': true
- }
- }, recursive=True) }}"
- when: element_web_config_content is defined
-
- - name: Write updated Element Web config.json back to disk
- ansible.builtin.copy:
- content: "{{ element_web_config_content | to_nice_json }}"
- dest: "{{ element_web_config_path }}"
- mode: '0644'
- owner: "{{ matrix_user_username }}"
- group: "{{ matrix_user_groupname }}"
- when: element_web_config_content is defined
|