Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Element Call, LiveKit Server and JWT Service integrations for Element Call functionality #3562

Draft
wants to merge 153 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
153 commits
Select commit Hold shift + click to select a range
6594cce
Feat: Added element call setup and configuration.
wjbeckett Sep 25, 2024
434157e
Merge branch 'spantaleev:master' into element-call-integration
wjbeckett Sep 25, 2024
d1ba784
added doc for setting up element call.
wjbeckett Sep 25, 2024
60f34cd
fixed matrix_redis for migration
wjbeckett Sep 25, 2024
fc6357a
Update main.yml
wjbeckett Sep 25, 2024
350d4d4
Fixed assertion block to remove jinja2 delimiters
wjbeckett Sep 25, 2024
90ea758
Fixed regex for checking the hostname.
wjbeckett Sep 25, 2024
c93d30b
Added matrix_server_name to the defaults
wjbeckett Sep 25, 2024
ce827e7
Changed matrix_base_domain to matrix_domain
wjbeckett Sep 25, 2024
8644a73
Removed additional label loop
wjbeckett Sep 25, 2024
8173550
Added debug task to test labels configuration
wjbeckett Sep 25, 2024
6364101
Adding another debug task for testing the labels file.
wjbeckett Sep 25, 2024
16ed788
Update main.yml
wjbeckett Sep 25, 2024
0eef094
Restructure install.yml to follow other roles more closely
wjbeckett Sep 25, 2024
02479e8
Updated with new structure.
wjbeckett Sep 25, 2024
5efc189
Updated to support new structure
wjbeckett Sep 25, 2024
68cc1f4
Simplified the validation step.
wjbeckett Sep 25, 2024
37fd2e7
Update env.j2 to support the new configuration
wjbeckett Sep 25, 2024
becdb08
Update config.json.j2
wjbeckett Sep 25, 2024
f306a47
Update livekit.yaml.j2
wjbeckett Sep 25, 2024
dfeca19
Update redis.conf.j2
wjbeckett Sep 25, 2024
954d46c
Update labels.j2
wjbeckett Sep 25, 2024
45c8a61
Migrating to systemd for container management
wjbeckett Sep 26, 2024
bc9658c
Create matrix-livekit.service.j2
wjbeckett Sep 26, 2024
e910d09
Create matrix-redis.service.j2
wjbeckett Sep 26, 2024
f16ca24
Update install.yml
wjbeckett Sep 26, 2024
a533ec4
Update matrix_servers
wjbeckett Sep 26, 2024
e31e688
Update main.yml
wjbeckett Sep 26, 2024
f762128
Update labels.j2
wjbeckett Sep 26, 2024
bc2ed60
Update main.yml
wjbeckett Sep 26, 2024
ac1295a
Create matrix-jwt-service.service.j2
wjbeckett Sep 26, 2024
f38d6a0
Update main.yml
wjbeckett Sep 26, 2024
9cb236d
Update install.yml
wjbeckett Sep 26, 2024
f2acc74
Create well_known_element.json.j2
wjbeckett Sep 26, 2024
ba54e54
Added well-known element directory
wjbeckett Sep 26, 2024
3f6c327
Update main.yml
wjbeckett Sep 26, 2024
85be689
Migrated from matrix_redis to redis_
wjbeckett Sep 26, 2024
6ef304b
Update validate_config.yml
wjbeckett Sep 26, 2024
656d427
Update install.yml
wjbeckett Sep 26, 2024
e34e5da
Update matrix-redis.service.j2
wjbeckett Sep 26, 2024
5cc9c70
Remove serve command from matrix-element-call.service.j2
wjbeckett Sep 26, 2024
f0632b2
Added missing labels for sfu and jwt
wjbeckett Sep 26, 2024
6a519bb
Created element-call-labels to separate the labels for each container
wjbeckett Sep 26, 2024
2cf4710
Created livekit-labels.j2
wjbeckett Sep 26, 2024
1d7a600
Create jwt-service-labels.j2
wjbeckett Sep 26, 2024
8076380
Updated label file
wjbeckett Sep 26, 2024
d2e2781
Updated label file
wjbeckett Sep 26, 2024
2f2cb89
Updated livekit labels
wjbeckett Sep 26, 2024
df4bf4a
Added tasks for moving the new labels files into place
wjbeckett Sep 26, 2024
dd96b93
Update matrix-element-call.service.j2
wjbeckett Sep 26, 2024
3264408
Rename element-call-labels.j2 to element-call-labels.j2-new
wjbeckett Sep 26, 2024
25909b1
Update and rename labels.j2 to element-call-labels.j2
wjbeckett Sep 26, 2024
1721e85
Corrected element call labels file name
wjbeckett Sep 26, 2024
510cfb2
Update matrix_servers
wjbeckett Sep 26, 2024
5f49433
Handle empty labels correctly.
wjbeckett Sep 26, 2024
805b726
Update element-call-labels.j2
wjbeckett Sep 26, 2024
c14f9cd
Update matrix_servers
wjbeckett Sep 26, 2024
5730dbf
Added hostname label
wjbeckett Sep 26, 2024
6d6f9ab
Added hostnames for livekit and jwt labels
wjbeckett Sep 26, 2024
b6571fc
Update livekit-labels.j2
wjbeckett Sep 26, 2024
089c5f1
Update jwt-service-labels.j2
wjbeckett Sep 27, 2024
3c084e1
Update element-call-labels.j2-new
wjbeckett Sep 27, 2024
14614cb
Update matrix-element-call.service.j2
wjbeckett Sep 27, 2024
5b8dcf3
Added element-call systemd services to the service manager.
wjbeckett Sep 27, 2024
63133d6
Added serve command back in.
wjbeckett Sep 27, 2024
8b172cc
Update env.j2
wjbeckett Sep 27, 2024
a0917fa
Update main.yml
wjbeckett Sep 27, 2024
2492672
Update env.j2
wjbeckett Sep 27, 2024
5db9a5c
Removed env file
wjbeckett Sep 27, 2024
a274d32
Removed serve function
wjbeckett Sep 27, 2024
f036e18
Fix: Restructured Element call configuration files.
wjbeckett Sep 30, 2024
1167e1e
fix: changed matrix server name to matrix domain in element-call config.
wjbeckett Sep 30, 2024
9dbee21
fix: removed duplicate keys.
wjbeckett Sep 30, 2024
93650cf
fix: Type in the element-call main.yml
wjbeckett Sep 30, 2024
f762048
fix: added missing labels to main.
wjbeckett Sep 30, 2024
6143ad7
fix: removed the read-only tag from the element-call systemd file.
wjbeckett Sep 30, 2024
31a138a
fixed traefik router issues.
wjbeckett Sep 30, 2024
cb41fb0
testing traefik labels again.
wjbeckett Sep 30, 2024
b907777
fixing labels again.
wjbeckett Sep 30, 2024
8cb3e33
separated livekit and jwt to separate roles
wjbeckett Sep 30, 2024
e952ba1
removed duplicate tasks.
wjbeckett Sep 30, 2024
3de3990
hard coded redis port.
wjbeckett Sep 30, 2024
58a9642
fixed config file placement.
wjbeckett Sep 30, 2024
71dff50
fixed livekit service name
wjbeckett Sep 30, 2024
8cb7def
cleaned up old services again
wjbeckett Sep 30, 2024
97f93eb
renamed the livekit role and added livekit-server and jwt-service rol…
wjbeckett Sep 30, 2024
b7b8ed5
typo in livekit-server validate.
wjbeckett Sep 30, 2024
812b57c
resolved missing key.
wjbeckett Sep 30, 2024
fd2f505
Fixed typo in livekit server hostname
wjbeckett Oct 1, 2024
7cdec5f
fixed type in livekit image
wjbeckett Oct 1, 2024
d5aabc8
removed redis images in favor of the inbuilt keyDB
wjbeckett Oct 1, 2024
f98a505
changed jwt-service port label.
wjbeckett Oct 1, 2024
d53c242
updated jwt hostname.
wjbeckett Oct 1, 2024
dbbaae4
stopping the recursive loop
wjbeckett Oct 1, 2024
9864996
adjusted jwt service ports for traefik
wjbeckett Oct 1, 2024
5507fb3
added element-call config.json to systemd file
wjbeckett Oct 1, 2024
e421852
updated jwt bind port
wjbeckett Oct 1, 2024
4acb025
testing livekit configuration
wjbeckett Oct 1, 2024
4610956
updated headers for each of the call services.
wjbeckett Oct 1, 2024
9691577
removed additinoal headers
wjbeckett Oct 1, 2024
6c8923a
removed headers.
wjbeckett Oct 1, 2024
2b4fdea
added header flags back in.
wjbeckett Oct 1, 2024
a6e3203
updated docs, broke the well-known and element client modifications o…
wjbeckett Oct 1, 2024
f684719
fixed error with element client update task
wjbeckett Oct 1, 2024
1e6698c
updated documentation or the new roles.
wjbeckett Oct 2, 2024
a03f598
removed trailing whitespaces
wjbeckett Oct 3, 2024
b7e0a41
Merge branch 'spantaleev:master' into element-call-integration
wjbeckett Oct 3, 2024
1906d61
updated traefik label to be in line with the latest change from devtu…
wjbeckett Oct 3, 2024
e18b281
Updated Element call docs with dependent services and fixed typo.
wjbeckett Oct 3, 2024
fa2a913
fixing issue with element call domain not being expanded when writing…
wjbeckett Oct 3, 2024
10df145
Update roles/custom/matrix-livekit-server/tasks/install.yml
spantaleev Nov 21, 2024
b691f39
Update roles/custom/matrix-livekit-server/tasks/install.yml
spantaleev Nov 21, 2024
85c0ffa
Update roles/custom/matrix-livekit-server/tasks/uninstall.yml
spantaleev Nov 21, 2024
8212783
Update roles/custom/matrix-livekit-server/tasks/uninstall.yml
spantaleev Nov 21, 2024
1e82530
Merge branch 'master' into element-call-integration
spantaleev Nov 21, 2024
1838a54
Variables rename (matrix_livekit_server_ -> livekit_server_) to prepa…
spantaleev Nov 21, 2024
88d4668
Variable rename (livekit_server_image -> livekit_server_container_ima…
spantaleev Nov 21, 2024
925ebfb
Update docs/configuring-playbook-element-call.md
spantaleev Nov 21, 2024
55da5c3
Update docs/configuring-playbook-element-call.md
spantaleev Nov 21, 2024
25a8cb3
Update docs/configuring-playbook-element-call.md
spantaleev Nov 21, 2024
32ea60f
Update docs/configuring-playbook-element-call.md
spantaleev Nov 21, 2024
ccb29be
Update docs/configuring-playbook-jwt-service.md
spantaleev Nov 21, 2024
eb048da
Update docs/configuring-playbook-jwt-service.md
spantaleev Nov 21, 2024
df6ef10
Update docs/configuring-playbook-jwt-service.md
spantaleev Nov 21, 2024
ec41c1a
Update docs/configuring-playbook-jwt-service.md
spantaleev Nov 21, 2024
66cc364
Update docs/configuring-playbook-livekit-server.md
spantaleev Nov 21, 2024
3783922
Update docs/configuring-playbook-livekit-server.md
spantaleev Nov 21, 2024
83bb546
Update docs/configuring-playbook-livekit-server.md
spantaleev Nov 21, 2024
0f23e36
Update docs/configuring-playbook-livekit-server.md
spantaleev Nov 21, 2024
164be87
Update docs/configuring-playbook-livekit-server.md
spantaleev Nov 21, 2024
c321ca1
Update docs/configuring-playbook-livekit-server.md
spantaleev Nov 21, 2024
c07b093
Update docs/configuring-playbook-livekit-server.md
spantaleev Nov 21, 2024
79ae704
Merge branch 'element-call-integration' of github.com:wjbeckett/matri…
spantaleev Nov 21, 2024
fa4ebd2
Cleanups
spantaleev Nov 21, 2024
783d4a2
Add livekit_server_identifier
spantaleev Nov 21, 2024
721fb39
More progress on the LiveKit role
spantaleev Nov 21, 2024
3e86ada
Fix port exposure for LiveKit Server
spantaleev Nov 21, 2024
8b84eb6
Default LiveKit Server to a smaller RTC range for faster startup on n…
spantaleev Nov 21, 2024
be72717
Make LiveKit Server logging config configurable
spantaleev Nov 21, 2024
f0466d5
Make LiveKit Server configuration extensible
spantaleev Nov 21, 2024
394fdca
Relocate org.matrix.msc4143.rtc_foci setup to /.well-known/matrix/cli…
spantaleev Nov 21, 2024
7a6fcaa
Fix typo
spantaleev Nov 21, 2024
3f52cec
Relocate Element Web features & element_call configuration to Element…
spantaleev Nov 21, 2024
252ca52
Relocate /.well-known/element/element.json setup to matrix-static-fil…
spantaleev Nov 21, 2024
69d7026
Remove homeserver.yaml patching from Element Call role
spantaleev Nov 21, 2024
0069208
Rename file (element-call-labels -> labels)
spantaleev Nov 21, 2024
c57d0d1
Eliminate remaining matrix references from LiveKit Server role
spantaleev Nov 21, 2024
bb925f4
Merge branch 'master' into element-call-integration
spantaleev Nov 23, 2024
5642755
Rework LiveKit JWT Service role
spantaleev Nov 23, 2024
74fbacb
Update docs/configuring-playbook-element-call.md
spantaleev Nov 23, 2024
bb403e1
Update docs/configuring-playbook-jwt-service.md
spantaleev Nov 23, 2024
9a8a569
Update docs/configuring-playbook-element-call.md
spantaleev Nov 23, 2024
0b9389f
Update docs/configuring-playbook-livekit-server.md
spantaleev Nov 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fixing issue with element call domain not being expanded when writing…
… the element web config.json.
wjbeckett committed Oct 3, 2024
commit fa2a913d39fb5f89dfc2f1017a266878aa5825b0
Original file line number Diff line number Diff line change
@@ -1,39 +1,40 @@
---
- name: Load Element Web config.json content
- name: Read Element Web config.json
ansible.builtin.slurp:
src: "{{ element_web_config_path }}"
register: element_web_config_content_raw
ignore_errors: false
register: element_web_config_content

- name: Parse Element Web config.json content
- name: Load JSON data from config.json
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
element_web_config: "{{ element_web_config_content['content'] | b64decode | from_json }}"

- name: Update Element Web config.json settings
- name: Update Element Call configuration in config.json
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
updated_element_call_config: >
{{
{
"element_call": {
"url": "https://{{ matrix_element_call_domain }}",
"participant_limit": 8,
"brand": "Element Call",
"use_exclusively": true
},
"features": {
"feature_video_rooms": true,
"feature_new_room_decoration_ui": true,
"feature_group_calls": true,
"feature_element_call_video_rooms": true
}
}
}, recursive=True) }}"
when: element_web_config_content is defined
}}

- name: Merge updated Element Call configuration with existing config.json
ansible.builtin.set_fact:
element_web_config: "{{ element_web_config | combine(updated_element_call_config, recursive=True) }}"

- name: Write updated Element Web config.json back to disk
- name: Write updated Element Web config.json
ansible.builtin.copy:
content: "{{ element_web_config_content | to_nice_json }}"
content: "{{ element_web_config | 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