142 Commits

Author SHA1 Message Date
Gaël Goinvic
0ec581242e Add tests against ESS (#164)
* Add tests against ESS

* dont pull the chart with pytest-ess

* add token to fetch the remote chart

* anonymously download the chart

* collect logs
2026-03-27 10:44:16 +01:00
renovate[bot]
fc3b2d7e2e Update module google.golang.org/grpc to v1.79.3 [SECURITY] (#162)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-24 17:10:33 +01:00
renovate[bot]
2ac70381ac Update module github.com/pion/dtls/v3 to v3.0.11 [SECURITY] (#154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-21 03:22:03 +01:00
Robin
6b496a013b Consolidate non-major dependency updates into larger batches (#160)
Configuring Renovate to work like it does on our other repos, where we get one big PR for all non-major updates every once in a while.
2026-03-09 21:50:57 +01:00
fkwp
fa226031ac Update room alias handling in token generation for LegacySfuRequest (#147)
* Update room alias handling in token generation for LegacySfuRequest

* update test for room alias handling in token generation for LegacySfuRequest

* Update main.go

Co-authored-by: Timo <16718859+toger5@users.noreply.github.com>

* doc update

* rephrase doc

---------

Co-authored-by: Timo <16718859+toger5@users.noreply.github.com>
v0.4.1
2026-01-14 13:29:18 +01:00
fkwp
99e80c9408 Add 'synchronize' and 'opened' types to PR trigger (#146) 2026-01-13 15:54:27 +01:00
Robin
7576f52bdc Use base64 encoded hashes for room alias and participant ID (minimize identifying metadata sent to SFU) (#144)
* Encode room alias as unpadded base64

As recommended by the latest version of MSC4195.

* Set participant ID to SHA-256 of user ID, device ID, and member ID

To match the latest version of MSC4195.
2026-01-09 17:24:31 +01:00
fkwp
19019a3239 Fix syntax in build.yaml for latest-ci tag 2026-01-08 17:36:53 +01:00
fkwp
81d746e56e fix build.yaml date determination (#143) 2026-01-08 17:33:19 +01:00
fkwp
56c6ed9ec7 refactor build.yaml into (#142)
- build.yaml now triggering build-and-publish-docker.yaml
- build-and-publish-docker.yaml
- pr-deploy.yaml triggering a pr docker build
2026-01-08 17:17:16 +01:00
Christoph Settgast
9231494e06 README: Describe the static binaries (#141)
Static binaries are now attached since release 0.4.0, so use them in the release as well
2025-12-17 22:55:04 +00:00
Christoph Settgast
92758ce5d6 README: Use LIVEKIT_FULL_ACCESS_HOMESERVERS consistently (#140)
LIVEKIT_LOCAL_HOMESERVERS is deprecated, use LIVEKIT_FULL_ACCESS_HOMESERVERS instead
2025-12-17 20:54:44 +00:00
fkwp
82c1bf4cce bug fix: add expires_in field to OpenIDTokenType (#130)
As we recently enforcing `DisallowUnknownFields()` while checking JSON input we need to add all required fields to `OpenIDTokenType` such as `expires_in`
v0.4.0
2025-11-13 08:55:23 +01:00
fkwp
6573de0d93 Implementation of MSC4195: MatrixRTC Transport using LiveKit Backend (#128)
* Add writeMatrixError function to unify error handling

* Refactor POST request handling in preparation to allow different request types:
- split out into two functions
  - processSFURequest: main request handling
  - createLiveKitRoom: utility function which will be used by all different request types
- applying previously added writeMatrixError func

* rename SFURequest into LegacySFURequest

* add Matrix2 SFURequest type

* Add interface as well as implementation of it to SFURequest data types for data validation

* linting

* Add process function for Matrix2 SFURequest type

* refactor /sfu/get "POST" handling:
- cache body request for later processing
- add mapSFURequest function to map the request into LegacySFURequest or Matrix2 SFURequest. Including request field validation

* comment about request validation validation

* add test for MapSFURequest

* license header upddate

* add test to check json parsing and processing wrt. memory leaks

* convert exchangeOpenIdUserInfo and createLiveKitRoom into function variables for better testability

* reorder tests in main_test.go

* Add test for ProcessSFURequest

* Add test for ProcessLegacySFURequest

* according the the MSC the request endpoint is `/get_token`. For smooth transition:
- Allow for a transition period the old endpoint `/get/sfu`
- This old endpoint does auto map according to request type (LegacySFURequest, SFURequest)
- Define related function to 'legacy` and add TODO to remove them in future
- implement the new endpoint `/get_token`

* add type to errCode

* add logline in case of error while getJoinToken

* Check if validated userInfo.Sub matches req.Member.ClaimedUserID in processSFURequest and adapt test case.

* Update main.go

Co-authored-by: Will Hunt <2072976+Half-Shot@users.noreply.github.com>

* Use correct err code M_INVALID_PARAM -> M_BAD_JSON

* renamed TestHandlePost -> TestLegacyHandlePost and readded TestHandlePost

* review comments

---------

Co-authored-by: Will Hunt <2072976+Half-Shot@users.noreply.github.com>
2025-11-10 14:50:56 +01:00
renovate[bot]
7a6e4ee01f chore(deps): update github actions (#126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:07:09 +01:00
renovate[bot]
da7178a27d fix(deps): update module github.com/golang-jwt/jwt/v5 to v5.3.0 (#127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-04 11:06:47 +01:00
fkwp
0861d7b1d6 Refactor config parsing (#125)
* README.md: add new default value column.

* refactor: split out config parsing in own function

* add tests for parseConfig

* more ideomatic order of functions in main.go

* fix(deps): update github.com/matrix-org/gomatrixserverlib digest to 6697d93 (#120)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency go to v1.25.3 (#121)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix espace pipe character

* add logging to indicate where the LiveKit API key and secrets are loaded from.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 12:15:51 +01:00
renovate[bot]
3a1d35be6d chore(deps): update dependency go to v1.25.3 (#121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 11:24:30 +01:00
renovate[bot]
c3b2cbbfe8 fix(deps): update github.com/matrix-org/gomatrixserverlib digest to 6697d93 (#120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-27 11:24:15 +01:00
Matthieu Pignolet
8554a0a12c feat: allow binding of arbitrary addresses (#118)
* feat: allow binding of arbitrary addresses

This generally helps when the user wants to listen to [::1] or 127.0.0.0/8

Signed-off-by: Matthieu Pignolet <matthieu@puffer.fish>

* fix: update the documentation to reflect the environment variables changes

Signed-off-by: Matthieu Pignolet <matthieu@puffer.fish>

* feat: added `LIVEKIT_JWT_PORT` back for backwards-compatiblity (mutually exclusive with the `LIVEKIT_JWT_BIND` environment variable)

Signed-off-by: Matthieu Pignolet <matthieu@puffer.fish>

* feat: add a warning when using `LIVEKIT_JWT_PORT`

* feat: disallow using `LIVEKIT_JWT_BIND` and `LIVEKIT_JWT_PORT` together as they are mutually exclusive

---------

Signed-off-by: Matthieu Pignolet <matthieu@puffer.fish>
2025-10-27 10:18:57 +01:00
fkwp
ead6df4963 refactor README.md (#115)
* refactor README.md

* simplify TL/DR section
2025-08-21 13:01:40 +02:00
renovate[bot]
fe6a86d644 chore(deps): update dependency go to v1.24.5 (#114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 09:21:22 +02:00
renovate[bot]
db11e638d9 fix(deps): update github.com/matrix-org/gomatrixserverlib digest to a234d6d (#113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 09:16:15 +02:00
Christoph Settgast
321ff70ce4 ci: add static go releases for linux arm64 and amd64 (#111)
* ci: add static go releases for linux arm64 and amd64

Signed-off-by: Christoph Settgast <csett86_git@quicksands.de>

* ci: dynamically get go version for release

* pin actions to specific commits

* ci: fail if static binary is not created

---------

Signed-off-by: Christoph Settgast <csett86_git@quicksands.de>
2025-07-30 23:31:30 +02:00
fkwp
114f0f4560 Restrict access to LiveKit SFU by differentiating full-access and restricted Matrix users for room creation (#67)
* add new ENV variable LIVEKIT_FULL_ACCESS_HOMESERVERS to allow different handling between full-access and restricted users

* full-access / restricted user detection

* Create LiveKit room on the SFU in case of a full-acceess user prior to issuing the JWT token

* Support full-access for all users via wildcard `*`for all homeservers

* make the wildcard '*' the default of LIVEKIT_FULL_ACCESS_HOMESERVERS to mimic the previous behaviour

* more idomatic variable nameing

* More ideomatic order for of functions in main.go
v0.3.0
2025-07-29 10:34:19 +02:00
renovate[bot]
16a2ccf047 Update github.com/matrix-org/gomatrixserverlib digest to 904c8f0 (#108)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-01 10:29:35 +02:00
renovate[bot]
c456ad3db2 Update dependency go to v1.24.4 (#109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-01 10:29:04 +02:00
renovate[bot]
d4d54577e7 Update module github.com/pion/interceptor to v0.1.39 [SECURITY] (#106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-10 18:09:58 +02:00
Strac Consulting Engineers Pty Ltd
fa938a9cff Update README.md (#87) 2025-06-10 15:05:40 +02:00
renovate[bot]
85a3eceb6e Update github.com/matrix-org/gomatrixserverlib digest to c70b213 (#104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-03 13:52:41 +02:00
renovate[bot]
c80d79cbeb Update docker/build-push-action action to v6.18.0 (#105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-03 13:52:08 +02:00
renovate[bot]
e6d8cfe671 Update golangci/golangci-lint-action action to v8 (#103)
* Update golangci/golangci-lint-action action to v8

* fix ST1005: error strings should not be capitalized

* fix : QF1003: could use tagged switch on r.Method

* fix: QF1012: Use fmt.Fprintf(...) instead of Write([]byte(fmt.Sprintf(...)))

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: fkwp <github-fkwp@w4ve.de>
2025-05-14 18:54:08 +02:00
renovate[bot]
bbe6cc219f Update actions/setup-go action to v5.5.0 (#102)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 18:30:34 +02:00
renovate[bot]
44575c7a71 Update dependency go to v1.24.3 (#101)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 18:29:44 +02:00
renovate[bot]
df46cdd799 Update dependency go to v1.24.2 (#98)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 09:41:01 +02:00
renovate[bot]
71c03ec3ed Update module golang.org/x/net to v0.38.0 [SECURITY] (#97)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 09:39:41 +02:00
renovate[bot]
f14fbb9a0d Update GitHub Actions (#99)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 09:39:09 +02:00
fkwp
78801242ec Fkwp/add license header (#94)
* changed license header

* add commerical license file
2025-04-08 19:15:53 +02:00
Gaël Goinvic
eee9ca263d Add LIVEKIT_KEY_FILE, rename env vars to _FROM_FILE and trim keys&secrets (#93)
* Add LIVEKIT_KEY_SECRET_FILE and trim keys&secrets

* Rename env vars for consistency with livekit

* Add LIVEKIT_KEY_FILE variable in README

* comment readKeySecret logic

* reformat var names
v0.2.3
2025-04-04 16:36:19 +02:00
Gaël Goinvic
e10a9fd256 Fix DNS resolution with host aliases + Fix TLS Verifiy on default transport (#92)
* Fix DNS resolution with host aliases

* Disable TLS on the default transport if required
2025-04-04 16:09:19 +02:00
Gaël Goinvic
6bf1fc059d update README with _FILE env vars (#91)
* update README with _FILE env vars

* Update README.md

* Update README.md

---------

Co-authored-by: fkwp <fkwp@users.noreply.github.com>
v0.2.2
2025-04-02 16:49:45 +02:00
Gaël Goinvic
738d55fafa Allow to read secrets and keys from files (#88)
* Allow to read secrets and keys from files

* add tests
2025-04-02 16:41:39 +02:00
renovate[bot]
6f3b62eaf6 Update dependency go to v1.24.1 (#90)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 08:51:55 +02:00
renovate[bot]
2b7f3ff956 Update github.com/matrix-org/gomatrixserverlib digest to 479c9ab (#89)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 08:51:27 +02:00
renovate[bot]
b622bad92b Update module github.com/redis/go-redis/v9 to v9.7.3 [SECURITY] (#86)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 12:11:12 +01:00
renovate[bot]
bee058a1de Update module github.com/golang-jwt/jwt/v5 to v5.2.2 [SECURITY] (#82)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 12:10:39 +01:00
Hugh Nimmo-Smith
0bb2d837f5 Document where go version comes from in Dockerfile (#85)
Fixes #79
2025-03-24 10:03:51 +00:00
fkwp
d24adff44a removed key and secret from startup logs (#78) v0.2.1 2025-03-17 23:03:48 +01:00
renovate[bot]
f5f5374c4b Update module golang.org/x/net to v0.36.0 [SECURITY] (#76)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-13 19:45:02 +01:00
renovate[bot]
04719d5e05 Update module github.com/go-jose/go-jose/v3 to v3.0.4 [SECURITY] (#75)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-01 23:55:04 +01:00