CLI (udk)
Mint a token, list providers and probe the media plane from a terminal.
udk manages calls on infrastructure you own. It is the in-house counterpart to
LiveKit's lk, and the scope is deliberately narrower: commands that only make
sense against a hosted account — project switching, cloud auth, deploy — have no
equivalent here, because there is no cloud account to point them at.
udk <command> [options]
Commands#
| Command | Does |
|---|---|
token create | mint a room access token |
providers list | list avatar providers; --available filters to those with a key set |
health | probe the media plane |
version | print the version |
token create#
| Flag | Default | |
|---|---|---|
--room <name> | — | required |
--identity <id> | — | required |
--role <role> | human | human, agent, observer |
--ttl <seconds> | 3600 |
udk token create --room support-8f3a21 --identity daniel --role human
Roles are not cosmetic.
agentcarriescanPublishData, which agent control messages require — without it a worker joins fine and then silently never speaks.observeris subscribe-only: it cannot be heard and cannot steer.
health#
udk health
The cheapest oracle in the kit, and the right first move whenever something is not working. It distinguishes "the process is up" from "DNS resolves", which is the distinction almost every early failure turns out to be.
Environment#
LIVEKIT_URL — wss:// or http:// URL of your media server ·
LIVEKIT_API_KEY · LIVEKIT_API_SECRET.
The CLI signs locally with the key pair. It does not go through the control plane, which means it works before the control plane is deployed — and means the key pair has to be on the machine you run it from.
Argument parsing#
By hand, on purpose. The whole surface is four commands with --flag value
pairs, and a parser dependency would be larger than the code it replaced.