Guidance for communicating with Multipass daemon

Hello friends, I want to write a golang module to interact with the Multipass daemon via grpc, is this currently possible?

Hey, @minhio! I would say that it’s not impossible rather than it’s possible. What I mean is that we have a proto file which you can find here https://github.com/canonical/multipass/blob/main/src/rpc/multipass.proto, but we don’t make any guarantees about backwards compatibility and we have actually introduced several breaking changes over time, since it’s not meant to be a public API. So your package might break with a new Multipass release. Furthermore, you would also have to deal with authentication, which implies creating a certificate for your client and authenticating it with the daemon using its set passphrase.
If you are okay with dealing with these caveats, then I encourage you to give it a try :slight_smile:

@andreitoterman Thank you for the reply! Without a stable public API, it might not be worth it from a maintenance perspective. Would definitely be cool to have a public API though, might open up avenues for new multipass-based product ideas and whatnot.