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:

API reference

The API continues to evolve, and compatibility between releases is not guaranteed. The vmservice.proto file is the authoritative API definition. The list below summarizes the available RPCs; some definitions may be added before their implementation is connected end to end.

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