Use Protobuf to define a schema for the internal API
Problem to solve
The internal api of GitLab is used by Gitaly, and is an HTTP interface where the body of the request is in JSON. This isn't versioned, and there's no schema.
This creates uncertainty of what keys could be in the JSON, which are to be used, and which are deprecated.
Proposal
Use Protobuf, without gRPC, for encoding and decoding these messages. This would create a well defined schema, without much overhead.