Skip to main content

Module takeover

Module takeover 

Source
Expand description

In-container human-takeover supervision.

Takeover providers are process-level adapters behind /takeover/panel, each a concrete screen-share method selected by --takeover-provider (parallel to how --browser selects an engine). Add one by giving TakeoverProviderKind a variant and a match arm in launch_provider and TakeoverProxyState::proxy. KasmVNC is the only provider today and is kept as an external GPL process: afhttp only starts Xvnc, waits for its X display + localhost web listener, and reverse-proxies the web client from the authenticated host listener.

Structs§

ProviderHandle
Running KasmVNC display. Cloning the surrounding Arc keeps the process alive until the listener state is dropped.
TakeoverProxyState
Minimal state used by the listener reverse proxy. Tests can construct this without spawning KasmVNC; production keeps the process alive via _handle.

Constants§

DISPLAY_HEIGHT
DISPLAY_WIDTH
Virtual framebuffer geometry for the takeover display. No window manager runs on the X display, so the headful browser window is pinned to this size (see AppState::launch) to fill the framebuffer.

Functions§

launch_kasmvnc_provider
Launch KasmVNC’s Xvnc and wait until both the X display socket and the embedded web client are reachable on localhost.
launch_provider
Launch a display provider and return the runtime state used by /takeover/panel.