gRPC / ttrpc

To enable a gRPC or ttrpc management interface, pass --rpc. This spawns an OpenVMM process acting as an RPC server on the given Unix socket:

--rpc path=/path/to/openvmm.sock[,transport=<TRANSPORT>]

transport selects which wire protocol the server accepts:

  • auto (default) — auto-detect ttrpc vs. gRPC per connection
  • ttrpc — accept ttrpc clients only
  • grpc — accept gRPC clients only

For example, to accept ttrpc clients only:

--rpc path=/path/to/openvmm.sock,transport=ttrpc

Here is a list of supported RPCs:

Disclaimer

The following list is not exhaustive, and may be out of date. The most up to date reference is the vmservice.proto file.

Moreover, many APIs defined in the .proto file may not be fully wired up yet.

In other words: This API is very WIP, and user discretion is advised.

  • CreateVM
  • TeardownVM
  • PauseVM
  • ResumeVM
  • WaitVM
  • CapabilitiesVM
  • PropertiesVM
  • ModifyResource
  • Quit