Skip to content

Proxy capability to inspect RPC stream

In order to enable to proper scheduling of replication jobs, we need the ability to inspect the messages being intercepted by our proxy (Praefect). We currently have been designing around an existing grpc-proxy library: https://github.com/mwitkow/grpc-proxy

One critical limitation with this library is that its API only exposes the name of a RPC method to allow a user to decide on routing (see the stream director API docs).

In the case of low latency replication, we need to be able to decide which repository is being modified in order to schedule the correct target repository for replication. This information is typically stored in the first message sent from the client.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information