Skip to content

Protobuf registry extracts Repository target via reflection

Paul Okstad (ex-GitLab) requested to merge po-reflect-proto-target into master

This change introduces the ability to reflectively traverse a nested protobuf request message and return the gitalypb.Repository field that corresponds to the RPC's target repo annotation.

This registry capability is useful because it allows us to act on gRPC traffic in a generic way, thus opening up new possibilities.

One new potential use case for this is in our transparent proxy (Praefect) where we need to schedule replication based on the correct repository being modified.

Another use case is writing a gRPC server interceptor that can use the target repository to invalidate a repo's cached entries.

Unblocks !1255 (closed) Preceded by gitaly-proto!297 (merged) Closes #1588 (closed)

Edited by GitLab Release Tools Bot

Merge request reports