* add environment support for cloud-agents
* remove env from create agent API
* generated protobuf
* fix the proto to support cloud agents v2 api
* cloud agents env protocol
* generated protobuf
* update agent protocol
* generated protobuf
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Support CPU request override for containerized deployments
Media processing pods intentionally omit CPU limits to avoid CFS throttling on real-time media workloads. Without a limit, NumCPU() falls back to runtime.NumCPU() which returns the full node CPU count. This could inflate the admission budget — on a 64-core node with a 15-CPU request, the monitor thinks it has 64 CPUs available and accepts too many jobs. Goruntime GOMAXPROC env variable will also be set to too high value which could affect go runtime goroutine scheduling (frequent context switches).
CPU requests are a scheduler-level concept with no cgroup representation, so cgroup-based approaches (automaxprocs, Go 1.25 container awareness) can't help. The Kubernetes Downward API can expose requests.cpu as an env var, which this change reads.
EffectiveCPURequest() in cpu.go reads the env var once at startup and NumCPU() returns it when set, falling back to platform detection otherwise — monitorProcesses picks this up automatically. A new maxprocs package caps GOMAXPROCS down to ceil(request) via init(), never increasing it beyond the current value so explicit settings and cgroup quotas are respected.
* move proto options to use lk reserved range
* generated protobuf
* Create swift-swans-sit.md
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Add `SUSPENDED` node state.
Mostly applicable for `media` nodes. In this state, the node will not
accept new participants, but is alive.
* generated protobuf
* Add SUSPENDED node state to changeset
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* add room name and start time to agent MetricsRecordingHeader
* generated protobuf
* Update MetricsRecordingHeader in changeset
Add room name and start time to MetricsRecordingHeader.
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* feat(rpc/room): add `ListParticipants` and `GetParticipant`
Add `ListParticipants` and `GetParticipant` RPCs to the `Room` PSRPC service,
following the same topic-based routing pattern as:
- `DeleteRoom`,
- `SendData`,
- and `UpdateRoomMetadata`.
These are needed so the livekit server can route participant read operations to the authoritative
RTC node instead of reading from eventually-consistent Redis.
No breaking changes for existing `UnimplementedRoomServer` embedders
(new methods have default stubs).
* Add ListParticipants and GetParticipant features