aurae-runtime / aurae

Distributed systems runtime daemon written in Rust.
https://aurae.io
Apache License 2.0
1.85k stars 91 forks source link

VM Service #389

Closed mccormickt closed 1 year ago

mccormickt commented 1 year ago

Defines the VM service in protobuf. Inspired by features from the firecracker-containerd API as well as the VmResources struct used in the VMM crate in Firecracker.

This should give a good starting point, however lots of configuration options are exposed in this API. We could afford to be more opinionated and reduce the amount of VM configuration available initially if we so choose.

dmah42 commented 1 year ago

it's a good starting point.. how much do you want to implement before merging?

mccormickt commented 1 year ago

it's a good starting point.. how much do you want to implement before merging?

My initial thoughts were to merge in just the proto changes after we get consensus on a good API shape, and then to move forward with a basic implementation (started hacking a bit here).

We could either use this as a base branch for the implementation too, or merge this and start implementing separately. I'm open to all suggestions or to whatever has been the established pattern so far in the project 👍 .

dmah42 commented 1 year ago

dropping this in as a framework sounds great so we can build on it. have you seen the Validation stuff? check the other services for how that works. that might be a good next step given how many fields are strings but have semantic expectations.

dmah42 commented 1 year ago

api/v0/virtual_machines/virtual_machines.proto: File does not reside within any path specified using --proto_path (or -I). You must specify a --proto_path which encompasses this file. Note that the proto_path must be an exact prefix of the .proto file names -- protoc is too dumb to figure out when two paths (e.g. absolute and relative) are equivalent (it's harder than you think).

you might want some Makefile changes.