Commit Graph
39 Commits
Author SHA1 Message Date
Benjamin PrachtandClaude Opus 5 91f33da004 ingress: add opt-in support for udp:// URL pull ingress (#4810)
* ingress: add opt-in support for udp:// URL pull ingress

URL pull ingress previously accepted only http, https and srt source
URLs. Add udp:// as an accepted scheme, gated behind a new
`ingress.enable_udp_url_pull` config option that defaults to false, so
unauthenticated UDP sources are not reachable unless the operator opts
in.

Also add a counterfeiter fake for IngressLauncher and a test covering
the scheme validation matrix.

The ingress handler binds a local socket on the caller supplied address
and port instead of connecting out like the http and srt sources do.
Spell out what that means for operators in both the config field doc
comment and config-sample.yaml: caller controlled local port binding,
unauthenticated and spoofable input, and multicast relaying of traffic
on the handler's local network.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-01 12:11:14 -07:00
cnderrauber f7954d5747 Return created ingress info from io service (#4787)
The stream key is randomly generated for each request. Return
exsiting record if the `ingressID` already exists on retry.
2026-08-25 09:03:09 +08:00
cnderrauber fad2cc4afe Use request id to make api idempotence on sdk retry (#4694)
* Use request id to make api idempotence on sdk retry

Derive resource id from request id
2026-08-12 09:28:39 +08:00
Raja Subramanian b8ddd0f98c Taking interface{} -> any modernize bits (#4204) 2025-12-28 05:22:12 +05:30
changgesi d7db7cb389 chore: fix a large number of spelling issues (#4147)
Signed-off-by: changgesi <changgesi@outlook.com>
2025-12-11 09:34:13 +05:30
Benjamin Pracht c3e06f0523 Do not attempt to create objects for URL ingresses as the ingress service will do so (#3491) 2025-03-05 15:15:02 -08:00
Rajiv Gonzalez 25fa83926f Reject ingress if Enabled flag is false (#3293) 2025-01-16 17:19:26 -08:00
Benjamin Pracht 64057c3e4d Implement AgentDispatch service (#2919)
This allows listing, adding and deleting agent dispatches on an existing room. Requests go to a new AgentDispatchService, which sends them over RPC to the rtc.Room via the RoomManager. The rtc.Room then does agent job management using RPCs to the agent service.
2024-08-08 22:31:23 +02:00
Paul Wells f1886ece42 update protocol (#2760)
* update protocol

* deps
2024-06-05 19:46:34 -07:00
Benjamin Pracht f088730007 Add support for EnableTranscoding ingress option (#2681)
This changes the default WHIP ingress behavior to skipping transcode. Other inputs are still always transcoded.
2024-04-26 14:26:00 +02:00
Benjamin Pracht 8d7257dd19 Move CreateIngress to IOInfoService. Adopt UpdateIngressStare from IOInfoService instead of IngressService (#2485)
When paired with an updated ingress service, this will cause CreateIngress to be called twice for URL pull ingress, with the 2nd call failing.
2024-02-15 14:00:25 -08:00
Benjamin Pracht b659fef8ed Add support for ingress ParticipantMetadata (#2461) 2024-02-08 13:59:26 -08:00
Benjamin Pracht c2549081c8 Allow creating SRT URL pull ingress (#2416) 2024-01-26 14:03:46 -08:00
Benjamin Pracht ce418dc6b3 Do not generate a stream key for URL pull ingress (#1993) 2023-08-24 12:50:05 -07:00
Benjamin Pracht e3ed9ff53f Validate that url pull ingress are ready to use on creation (#1939) 2023-08-07 15:44:44 -07:00
Benjamin Pracht 98c1fb598c Add support for ingress URL pull (#1938)
Also prevent update of non reusable ingress
2023-08-04 11:41:36 -07:00
David Zhao 981fb7cac7 Adding license notices (#1913)
* Adding license notices

* remove from config
2023-07-27 16:43:19 -07:00
Benjamin Pracht 68e5fa8e1c Allow listing ingress by id (#1874) 2023-07-14 09:11:55 +08:00
Benjamin Pracht e7879a46fc Add ingress telemetry support (#1763) 2023-06-02 17:38:19 -07:00
Benjamin Pracht d598e06d9f Add support for bypass_transcoding field in ingress (#1741) 2023-05-30 13:41:12 -07:00
Benjamin Pracht 11749eace9 Add support for creating WHIP ingress (#1674) 2023-05-02 13:26:47 -07:00
Benjamin Pracht c2f76b79fa Validate IngressInfo, update the info if an ingress is active (#1605) 2023-04-12 13:27:57 -10:00
David Colburn 6da9e85636 Remove deprecated ingress rpc (#1439)
* remove legacy ingress rpcs

* remove from io service
2023-02-17 11:40:38 -08:00
David Colburn 10c53e0ebb Move psrpc to protocol (#1426)
* move psrpc to protocol

* update checks

* update protocol

* update protocol ref

* blank line
2023-02-15 16:47:38 -08:00
David Colburn a87107a0f3 IOInfo service (#1305)
* IOInfo service

* only start if not nil

* use ctx in updateEgressInfo

* updates

* fix merge
2023-01-16 16:26:03 -08:00
Paul Wells a052ebd644 Ingress psrpc (#1295)
* add ingress psrpc codegen

* use psrpc for ingress

* merge entity/info update psrpc services

* split update/delete ingress methods

* add race helper test

* add race context cancel test

* sync race result with mutex
2023-01-12 11:00:43 -08:00
David Zhao e9abb47020 Added logging fields for Ingress & Egress services (#1205) 2022-12-04 21:44:16 -08:00
Benjamin Pracht 2c2c6f9da2 Do not append the stream key to the ingress URL for rtmp (#1167) 2022-11-15 09:19:25 -08:00
Benjamin Pracht 9a45b59414 Use ingress specific grants (#1125) 2022-10-26 21:37:36 -07:00
Benjamin Pracht c3120679e6 Make sure CreateIngress returns an empty state (#1069) 2022-10-04 19:23:09 -07:00
Benjamin Pracht 8cf0872ec1 Adopt updated ingress RPC API (#1068) 2022-10-03 11:31:55 -07:00
Benjamin Pracht 932af81f34 Update strored version of an active ingress if no ingress server responds (#1031)
This allows deleting and updating an ingress even if the ingress server that was handling it died. It does however mean that if the ingress responds again later, its state will be inconsistent. To somewhat make this less likely, also keep trying contacting the ingress for 1 min in the background.

Also fixing a race where an active deleted Ingress would get recreated on delete because of the update triggered by the ingress session shutdown
2022-09-26 11:16:27 -07:00
Benjamin Pracht b0eead22b5 Allow specifying a different RTMP url domain for each ingress (#994) 2022-09-12 14:03:15 -07:00
Benjamin Pracht d8edb9b2e7 Adopt Ingress RPC interface changes (#972) 2022-08-31 14:14:40 -07:00
Benjamin Pracht 0cffbe69e9 Fix ingress stream key lookup and avoid nil dereference when room in auth claims doesn't match (#869) 2022-08-04 16:22:55 -07:00
Benjamin Pracht c333b7a026 Add support for Ingress service (#868)
Also check for Join permission on ingress API calls
2022-08-04 09:48:53 -07:00
Benjamin Pracht 5558aa5228 Make sure CreateIngest populates the stream_key and URL fields (#861) 2022-08-01 11:35:30 -07:00
David Colburn 0ab4379c5c Separate egress/ingress storage (#855) 2022-07-28 17:01:33 -05:00
Benjamin Pracht 7a2eac8e86 Initial Ingress support in API (#852)
This adds support for the Ingress related endpoints to LiveKit server. This currently doesn't handle reconnections safely.
2022-07-28 09:49:54 -07:00