Closed Arkaniad closed 4 years ago
Please feel free to close this messy late-night PR and have me resubmit as separate branches, I messed up a little :P
Nah no need, this is all good stuff, thanks! Will merge tonight when I'm back in front of my computer.
Cool :) I've got some more stuff to do w/r/t Prometheus metrics but hopefully I'll do it in a more reasonable way with branches. Moving forward, if there's any other way you'd like me to handle PRs please lmk :)
In the
values.yaml
file, it appears that you can manually set TURN URIs to be set in the Matrix homeserver configuration. See below: https://github.com/dacruz21/matrix-chart/blob/55dfb5b5c8f386bb3541aa27492e9cd07f611430/values.yaml#L381-L386However, these URIs do not actually get templated into the
homeserver.yaml
file - rather, a TURN URI is generated based off of thematrix.hostname
helper.https://github.com/dacruz21/matrix-chart/blob/55dfb5b5c8f386bb3541aa27492e9cd07f611430/templates/synapse/_homeserver.yaml#L860-L883
The surrounding logic of the TURN configuration block looks like it should take URIs if they are listed in the
values.yaml
file.More context for anyone getting here via Google:
I am using DigitalOcean Kubernetes Service (DOKS). My Synapse ingress is on a shared nginx-ingress deployment with a DO LoadBalancer but my CoTURN servers are running as DaemonSets with ClusterIP. My DNS is configured so that I have multiple A records for
turn.matrix.mydomain.tld
that point to each node in my cluster. With the way that this chart works as of this present time the defaulting toturn:matrix.mydomain.tld?transport=udp
does not work because my turn servers are not there and cannot be there - not any particularly sane ways to make nginx-ingress handle this traffic.Furthermore, neither Element nor Synapse seem to care about SRV records for TURN servers or, if they do, I have not found the secret to making that work. My configuration seems to work if I manually adjust the homeserver and CoTURN configmaps, so with these changes this use case should be solvable with the
values.yaml
file only.