Skip to main content

backend support

Corral can show several contexts at once. A context is a named connection to one backend; changing the default context changes only where an unqualified command goes and never hides the rest of the fleet.

Capabilitylocal QEMUKubeVirtIncuslibvirtCorral peer
Aggregate inventoryyesyesyesyesyes
Start, stop, deleteyesyesyesyesrelayed
Createyesyesyesyesremote API
SSHdirect when address is knowndirect, then console transportincus exec/networkdirect when address is knowndirect first, relay fallback
Browser consoleVNCvirtctl VNCterminalVNC/virt-viewerdirect first, relay fallback
Snapshots, migration, hotplugbackend-limitedyesnot yet unifiednot yet unifiedadvertised by remote
Backend doctoryesyesyesyestracked in #135

Use corral context get, corral context use NAME, and the persistent --context NAME / --backend NAME flags. Bare VM names work only when unique; scripts should use the canonical ID printed by corral list.

First-party workflow plugins have a separate support matrix in first-party-plugins.md. Plugins must declare their supported backends; β€œinstalled” is not evidence that a workflow works on every inventory target.

Tailscale is a first-class endpoint discovery/exposure option, not a required network. KubeVirt ingress remains implementation-agnostic. Federation attempts advertised/direct guest endpoints first and uses Corral-to-Corral HTTP and WebSocket relay only when the network cannot reach the guest directly.