syntax = "proto3"; package gitaly; option go_package = "gitlab.com/gitlab-org/gitaly/v14/proto/go/gitalypb"; import "google/protobuf/descriptor.proto"; message OperationMsg { enum Operation { UNKNOWN = 0; MUTATOR = 1; ACCESSOR = 2; } Operation op = 1; enum Scope { REPOSITORY = 0; STORAGE = 2; reserved 1; reserved "SERVER"; } // Scope level indicates what level an RPC interacts with a server: // - REPOSITORY: scoped to only a single repo // - SERVER: affects the entire server and potentially all repos // - STORAGE: scoped to a specific storage location and all repos within Scope scope_level = 2; } extend google.protobuf.ServiceOptions { // intercepted indicates whether the proxy intercepts and handles the call // instead of proxying. Intercepted services do not require scope or operation // annotations. bool intercepted = 82302; } extend google.protobuf.MethodOptions { // Random high number.. OperationMsg op_type = 82303; // intercepted_method indicates whether the proxy intercepts and handles the method call // instead of proxying. Intercepted methods do not require operation type annotations. bool intercepted_method = 82304; } extend google.protobuf.FieldOptions { // Used to mark field containing name of affected storage. bool storage = 91233; // Random high number.. // If this operation modifies a repository, this annotations // will specify the location of the Repository field within // the request message. // // Repository annotation is used mark field used as repository // when parent message is marked as target or additional repository bool repository = 91234; // Used to mark target repository bool target_repository = 91235; // Used to mark additional repository bool additional_repository = 91236; }