Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavlo Strokov <pstrokov@gitlab.com>2020-06-06 09:13:59 +0300
committerJohn Cai <jcai@gitlab.com>2020-06-06 09:13:59 +0300
commit3015552e552fee45464daea0977916434023be6f (patch)
tree98f7a7ca444ad75139a8700dd0e625a1778c4dd1
parent8f85c2d485c3949d5ca1f2abd0805f5dd5e40356 (diff)
How to handle proxying FindRemoteRepository
It is a first steps towards making FindRemoteRepository RPC to become STORAGE scoped. It is needed to simplify routing in Praefect and omit need for Praefect to handle this RPC as a special case. After change is done the request will be routed into one of the Gitalies and handled there. The Git is not needed to be installed on Prafect node in order to support the implementation of only single RPC. Part of: https://gitlab.com/gitlab-org/gitaly/-/issues/2442
-rw-r--r--changelogs/unreleased/ps-storage-for-find-remote-rpc.yml5
-rw-r--r--internal/bootstrap/bootstrap.go2
-rw-r--r--proto/go/gitalypb/remote.pb.go114
-rw-r--r--proto/remote.proto4
-rw-r--r--ruby/proto/gitaly/remote_pb.rb1
5 files changed, 74 insertions, 52 deletions
diff --git a/changelogs/unreleased/ps-storage-for-find-remote-rpc.yml b/changelogs/unreleased/ps-storage-for-find-remote-rpc.yml
new file mode 100644
index 000000000..dacc41bc1
--- /dev/null
+++ b/changelogs/unreleased/ps-storage-for-find-remote-rpc.yml
@@ -0,0 +1,5 @@
+---
+title: How to handle proxying FindRemoteRepository
+merge_request: 2260
+author:
+type: added
diff --git a/internal/bootstrap/bootstrap.go b/internal/bootstrap/bootstrap.go
index bcd1b296d..c7c180d5d 100644
--- a/internal/bootstrap/bootstrap.go
+++ b/internal/bootstrap/bootstrap.go
@@ -17,7 +17,7 @@ const (
// EnvPidFile is the name of the environment variable containing the pid file path
EnvPidFile = "GITALY_PID_FILE"
// EnvUpgradesEnabled is an environment variable that when defined gitaly must enable graceful upgrades on SIGHUP
- EnvUpgradesEnabled = "GITALY_UPGRADES_ENABLED"
+ EnvUpgradesEnabled = "GITALY_UPGRADES_ENABLED"
SocketReusePortWarning = "Unable to set SO_REUSEPORT: zero downtime upgrades will not work"
)
diff --git a/proto/go/gitalypb/remote.pb.go b/proto/go/gitalypb/remote.pb.go
index 68b26f61e..a72ca4484 100644
--- a/proto/go/gitalypb/remote.pb.go
+++ b/proto/go/gitalypb/remote.pb.go
@@ -410,7 +410,11 @@ func (m *UpdateRemoteMirrorResponse) GetDivergentRefs() [][]byte {
}
type FindRemoteRepositoryRequest struct {
- Remote string `protobuf:"bytes,1,opt,name=remote,proto3" json:"remote,omitempty"`
+ Remote string `protobuf:"bytes,1,opt,name=remote,proto3" json:"remote,omitempty"`
+ // This field is used to redirect request to proper storage where it can be handled.
+ // As of now it doesn't matter what storage will be used, but it still must be a valid.
+ // For more details: https://gitlab.com/gitlab-org/gitaly/-/issues/2442
+ StorageName string `protobuf:"bytes,2,opt,name=storage_name,json=storageName,proto3" json:"storage_name,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -448,6 +452,13 @@ func (m *FindRemoteRepositoryRequest) GetRemote() string {
return ""
}
+func (m *FindRemoteRepositoryRequest) GetStorageName() string {
+ if m != nil {
+ return m.StorageName
+ }
+ return ""
+}
+
// This migth throw a GRPC Unavailable code, to signal the request failure
// is transient.
type FindRemoteRepositoryResponse struct {
@@ -729,56 +740,57 @@ func init() {
func init() { proto.RegisterFile("remote.proto", fileDescriptor_eefc82927d57d89b) }
var fileDescriptor_eefc82927d57d89b = []byte{
- // 772 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcb, 0x6e, 0xd3, 0x4c,
- 0x14, 0x96, 0x93, 0x34, 0x97, 0x93, 0xb4, 0x4a, 0x26, 0x55, 0x7f, 0xc7, 0xa9, 0xf4, 0xa7, 0x86,
- 0x4a, 0x59, 0xd0, 0xa4, 0x2a, 0x17, 0xb1, 0x40, 0x42, 0x14, 0x84, 0xca, 0xa5, 0x15, 0x18, 0xba,
- 0x61, 0x63, 0x9c, 0x64, 0x92, 0x58, 0x71, 0x3c, 0x66, 0x66, 0x52, 0xc8, 0x5b, 0xb0, 0x2b, 0x0b,
- 0x5e, 0x80, 0x0d, 0x8f, 0xc1, 0x43, 0x75, 0x85, 0xc6, 0x33, 0x4e, 0x9c, 0xd4, 0x09, 0x8b, 0xc2,
- 0xce, 0x73, 0x2e, 0xdf, 0xf9, 0xce, 0x55, 0x86, 0x12, 0xc5, 0x63, 0xc2, 0x71, 0x2b, 0xa0, 0x84,
- 0x13, 0x94, 0x1d, 0xb8, 0xdc, 0xf1, 0xa6, 0x06, 0x78, 0xae, 0xcf, 0xa5, 0xcc, 0x28, 0xb1, 0xa1,
- 0x43, 0x71, 0x4f, 0xbe, 0xcc, 0x9f, 0x1a, 0x94, 0x9f, 0xf4, 0x7a, 0x56, 0xe8, 0x65, 0xe1, 0x4f,
- 0x13, 0xcc, 0x38, 0x7a, 0x08, 0x40, 0x71, 0x40, 0x98, 0xcb, 0x09, 0x9d, 0xea, 0x5a, 0x43, 0x6b,
- 0x16, 0x8f, 0x50, 0x4b, 0x62, 0xb5, 0xac, 0x99, 0xe6, 0x38, 0xf3, 0xed, 0xd7, 0x1d, 0xcd, 0x8a,
- 0xd9, 0x22, 0x04, 0x19, 0xdf, 0x19, 0x63, 0x3d, 0xd5, 0xd0, 0x9a, 0x05, 0x2b, 0xfc, 0x46, 0x65,
- 0x48, 0x4f, 0xa8, 0xa7, 0xa7, 0x43, 0x91, 0xf8, 0x44, 0xfb, 0xb0, 0x35, 0x76, 0x29, 0x25, 0xd4,
- 0xa6, 0xb8, 0x3f, 0x76, 0x02, 0xa6, 0x6f, 0x34, 0xd2, 0xcd, 0x82, 0xb5, 0x29, 0xa5, 0x96, 0x14,
- 0xbe, 0xcc, 0xe4, 0x33, 0xe5, 0x8d, 0x48, 0xa8, 0x4c, 0xcd, 0x2a, 0x54, 0x62, 0x7c, 0x59, 0x40,
- 0x7c, 0x86, 0xcd, 0x2e, 0x54, 0x85, 0xe4, 0x02, 0xff, 0xc3, 0x3c, 0xcc, 0x16, 0x6c, 0x2f, 0x06,
- 0x91, 0xc1, 0xd1, 0x0e, 0x64, 0x29, 0x66, 0x13, 0x8f, 0x87, 0x11, 0xf2, 0x96, 0x7a, 0x99, 0x97,
- 0x1a, 0x18, 0xcf, 0x31, 0xef, 0x0e, 0x5f, 0xf8, 0x1c, 0x53, 0xdf, 0xf1, 0xfe, 0x16, 0xb9, 0xc7,
- 0x50, 0x91, 0x5d, 0xb6, 0x63, 0x00, 0xa9, 0x55, 0x00, 0x56, 0x99, 0xaa, 0xb8, 0x91, 0xc4, 0xbc,
- 0x0f, 0xf5, 0x44, 0x62, 0x7f, 0x48, 0xe8, 0x6b, 0x0a, 0x6a, 0xe7, 0x41, 0xcf, 0xe1, 0xaa, 0x02,
- 0xa7, 0xaa, 0x5b, 0x37, 0xcd, 0xa7, 0x06, 0x79, 0x8a, 0xfb, 0x76, 0xac, 0xe0, 0x39, 0x8a, 0xfb,
- 0x67, 0x62, 0x76, 0xee, 0xc1, 0x0e, 0xf1, 0xbd, 0xa9, 0xdd, 0xa1, 0x8e, 0xdf, 0x1d, 0x62, 0x66,
- 0x8f, 0x1d, 0xde, 0x1d, 0xba, 0xfe, 0x40, 0x4f, 0x37, 0xd2, 0xcd, 0x92, 0xb5, 0x2d, 0xb4, 0xc7,
- 0x4a, 0x79, 0xaa, 0x74, 0xe8, 0x3f, 0xc8, 0x31, 0x36, 0xb4, 0x47, 0x78, 0xaa, 0x67, 0x42, 0xbc,
- 0x2c, 0x63, 0xc3, 0x57, 0x78, 0x8a, 0xfe, 0x87, 0xe2, 0xc8, 0x27, 0x9f, 0x7d, 0x7b, 0x48, 0x18,
- 0x17, 0x53, 0x27, 0x94, 0x10, 0x8a, 0x4e, 0x84, 0x04, 0xb5, 0xa0, 0x3a, 0xc2, 0x38, 0xb0, 0x7b,
- 0xee, 0x05, 0xa6, 0x03, 0xec, 0x73, 0x31, 0x76, 0x4c, 0xcf, 0x86, 0x75, 0xa8, 0x08, 0xd5, 0xb3,
- 0x48, 0x63, 0xe1, 0x3e, 0x33, 0x9f, 0x82, 0x91, 0x54, 0x11, 0x55, 0xc8, 0x7d, 0xd8, 0x5a, 0x02,
- 0xd2, 0x42, 0xd6, 0x9b, 0xbd, 0x05, 0x10, 0xd1, 0x0e, 0xd7, 0x9f, 0xcd, 0xf4, 0xac, 0x71, 0xaa,
- 0xb0, 0x61, 0x3b, 0x84, 0x2a, 0x2c, 0x6a, 0xc1, 0x52, 0x2f, 0xf3, 0x01, 0xec, 0x26, 0xbb, 0xcd,
- 0xdb, 0x88, 0xbf, 0xb8, 0x22, 0x4f, 0xd5, 0x46, 0xf9, 0x32, 0x3d, 0xd0, 0x63, 0x7e, 0x84, 0x08,
- 0x12, 0x37, 0x6f, 0xe2, 0x9c, 0x65, 0x6a, 0x81, 0xe5, 0x01, 0xd4, 0x12, 0xa2, 0x29, 0x8a, 0x65,
- 0x48, 0x53, 0xdc, 0x57, 0x79, 0x89, 0x4f, 0xf3, 0x0c, 0xd0, 0x6b, 0x97, 0x71, 0x69, 0xce, 0x6e,
- 0x4c, 0xcb, 0xfc, 0xa1, 0x41, 0x75, 0x01, 0x50, 0x45, 0x7e, 0x04, 0x39, 0x49, 0x50, 0xf6, 0xa4,
- 0x78, 0x64, 0x46, 0x70, 0x09, 0xd6, 0x2d, 0xc5, 0x3e, 0x72, 0x31, 0xde, 0x43, 0x56, 0x8a, 0x66,
- 0x87, 0x42, 0x8b, 0x1d, 0xbc, 0x3a, 0x14, 0xfa, 0x62, 0xbd, 0x6c, 0x71, 0xf6, 0x64, 0x35, 0xf2,
- 0xa1, 0xe0, 0x9c, 0x7a, 0x62, 0xd8, 0x83, 0x09, 0x93, 0x3a, 0x79, 0x12, 0x73, 0xe2, 0x7d, 0x4e,
- 0xbd, 0xa3, 0xef, 0x1b, 0xb0, 0x29, 0x61, 0xdf, 0x61, 0x7a, 0xe1, 0x76, 0x31, 0x3a, 0x81, 0xc2,
- 0xec, 0xd8, 0x21, 0x3d, 0x62, 0xb8, 0x7c, 0xaf, 0x8d, 0x5a, 0x82, 0x46, 0x5d, 0xc6, 0xec, 0xd5,
- 0x65, 0x33, 0x95, 0xd7, 0x50, 0x1f, 0xaa, 0x09, 0x2b, 0x8f, 0x66, 0x59, 0xaf, 0x3e, 0x54, 0xc6,
- 0xad, 0xb5, 0x36, 0x4b, 0x71, 0xde, 0x42, 0x29, 0x7e, 0x24, 0x51, 0x7d, 0xde, 0xa5, 0x6b, 0xf7,
- 0xd9, 0xd8, 0x4d, 0x56, 0x2e, 0x41, 0x62, 0x40, 0xd7, 0x77, 0x0c, 0xed, 0x45, 0xbe, 0x2b, 0x2f,
- 0x92, 0x61, 0xae, 0x33, 0x59, 0x0c, 0xd2, 0xd4, 0xd0, 0x08, 0xb6, 0x93, 0xd6, 0x09, 0xcd, 0xd3,
- 0x5f, 0xbd, 0xa3, 0xc6, 0xed, 0xf5, 0x46, 0x2a, 0x58, 0xfe, 0xea, 0xb2, 0x99, 0xc9, 0xa7, 0xca,
- 0x1a, 0xfa, 0x08, 0x95, 0x6b, 0x5b, 0x81, 0x1a, 0x09, 0x20, 0x0b, 0xeb, 0x69, 0xec, 0xad, 0xb1,
- 0x58, 0x48, 0x28, 0x85, 0xde, 0x40, 0x31, 0x36, 0xc9, 0xc8, 0x48, 0x1c, 0x6f, 0x89, 0x5a, 0x5f,
- 0x33, 0xfa, 0x11, 0xde, 0xa1, 0x76, 0x7c, 0xf8, 0x41, 0xd8, 0x79, 0x4e, 0xa7, 0xd5, 0x25, 0xe3,
- 0xb6, 0xfc, 0x3c, 0x20, 0x74, 0xd0, 0x96, 0xde, 0xed, 0xf0, 0x87, 0xa2, 0x3d, 0x20, 0xea, 0x1d,
- 0x74, 0x3a, 0xd9, 0x50, 0x74, 0xf7, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x49, 0x23, 0x90, 0x30,
- 0x95, 0x08, 0x00, 0x00,
+ // 791 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x6e, 0xda, 0x4a,
+ 0x14, 0x96, 0x81, 0xf0, 0x73, 0x20, 0x11, 0x0c, 0x51, 0xae, 0x31, 0x91, 0x2e, 0xf1, 0xbd, 0x91,
+ 0x58, 0xdc, 0x40, 0x94, 0xdb, 0x56, 0x5d, 0x54, 0xaa, 0x9a, 0x56, 0x51, 0xfa, 0x93, 0xa8, 0x75,
+ 0x1b, 0xa9, 0xea, 0xc6, 0x35, 0x30, 0x80, 0x85, 0xf1, 0xb8, 0x33, 0x43, 0x5a, 0xde, 0xa2, 0xbb,
+ 0x74, 0xd1, 0x17, 0xe8, 0xa6, 0x8f, 0xd1, 0x87, 0xca, 0xaa, 0x1a, 0xcf, 0x18, 0x0c, 0x31, 0x74,
+ 0x91, 0x76, 0xe7, 0xf3, 0x9d, 0x33, 0xdf, 0xf9, 0x3f, 0x32, 0x94, 0x28, 0x1e, 0x13, 0x8e, 0x5b,
+ 0x01, 0x25, 0x9c, 0xa0, 0xec, 0xc0, 0xe5, 0x8e, 0x37, 0x35, 0xc0, 0x73, 0x7d, 0x2e, 0x31, 0xa3,
+ 0xc4, 0x86, 0x0e, 0xc5, 0x3d, 0x29, 0x99, 0xdf, 0x35, 0x28, 0x3f, 0xea, 0xf5, 0xac, 0xf0, 0x95,
+ 0x85, 0x3f, 0x4c, 0x30, 0xe3, 0xe8, 0x3e, 0x00, 0xc5, 0x01, 0x61, 0x2e, 0x27, 0x74, 0xaa, 0x6b,
+ 0x0d, 0xad, 0x59, 0x3c, 0x42, 0x2d, 0xc9, 0xd5, 0xb2, 0x66, 0x9a, 0xe3, 0xcc, 0x97, 0x1f, 0xff,
+ 0x69, 0x56, 0xcc, 0x16, 0x21, 0xc8, 0xf8, 0xce, 0x18, 0xeb, 0xa9, 0x86, 0xd6, 0x2c, 0x58, 0xe1,
+ 0x37, 0x2a, 0x43, 0x7a, 0x42, 0x3d, 0x3d, 0x1d, 0x42, 0xe2, 0x13, 0xed, 0xc3, 0xd6, 0xd8, 0xa5,
+ 0x94, 0x50, 0x9b, 0xe2, 0xfe, 0xd8, 0x09, 0x98, 0xbe, 0xd1, 0x48, 0x37, 0x0b, 0xd6, 0xa6, 0x44,
+ 0x2d, 0x09, 0x3e, 0xcb, 0xe4, 0x33, 0xe5, 0x8d, 0x08, 0x54, 0xa6, 0x66, 0x15, 0x2a, 0xb1, 0x78,
+ 0x59, 0x40, 0x7c, 0x86, 0xcd, 0x2e, 0x54, 0x05, 0x72, 0x89, 0xff, 0x60, 0x1e, 0x66, 0x0b, 0xb6,
+ 0x17, 0x9d, 0x48, 0xe7, 0x68, 0x07, 0xb2, 0x14, 0xb3, 0x89, 0xc7, 0x43, 0x0f, 0x79, 0x4b, 0x49,
+ 0xe6, 0x95, 0x06, 0xc6, 0x09, 0xe6, 0xdd, 0xe1, 0x53, 0x9f, 0x63, 0xea, 0x3b, 0xde, 0xef, 0x0a,
+ 0xee, 0x21, 0x54, 0x64, 0x97, 0xed, 0x18, 0x41, 0x6a, 0x15, 0x81, 0x55, 0xa6, 0xca, 0x6f, 0x84,
+ 0x98, 0x77, 0xa1, 0x9e, 0x18, 0xd8, 0x2f, 0x12, 0xfa, 0x9c, 0x82, 0xda, 0x45, 0xd0, 0x73, 0xb8,
+ 0xaa, 0xc0, 0x99, 0xea, 0xd6, 0x6d, 0xf3, 0xa9, 0x41, 0x9e, 0xe2, 0xbe, 0x1d, 0x2b, 0x78, 0x8e,
+ 0xe2, 0xfe, 0xb9, 0x98, 0x9d, 0x3b, 0xb0, 0x43, 0x7c, 0x6f, 0x6a, 0x77, 0xa8, 0xe3, 0x77, 0x87,
+ 0x98, 0xd9, 0x63, 0x87, 0x77, 0x87, 0xae, 0x3f, 0xd0, 0xd3, 0x8d, 0x74, 0xb3, 0x64, 0x6d, 0x0b,
+ 0xed, 0xb1, 0x52, 0x9e, 0x29, 0x1d, 0xfa, 0x0b, 0x72, 0x8c, 0x0d, 0xed, 0x11, 0x9e, 0xea, 0x99,
+ 0x90, 0x2f, 0xcb, 0xd8, 0xf0, 0x39, 0x9e, 0xa2, 0xbf, 0xa1, 0x38, 0xf2, 0xc9, 0x47, 0xdf, 0x1e,
+ 0x12, 0xc6, 0xc5, 0xd4, 0x09, 0x25, 0x84, 0xd0, 0xa9, 0x40, 0x50, 0x0b, 0xaa, 0x23, 0x8c, 0x03,
+ 0xbb, 0xe7, 0x5e, 0x62, 0x3a, 0xc0, 0x3e, 0x17, 0x63, 0xc7, 0xf4, 0x6c, 0x58, 0x87, 0x8a, 0x50,
+ 0x3d, 0x89, 0x34, 0x16, 0xee, 0x33, 0xf3, 0x31, 0x18, 0x49, 0x15, 0x51, 0x85, 0xdc, 0x87, 0xad,
+ 0x25, 0x22, 0x2d, 0x8c, 0x7a, 0xb3, 0xb7, 0x40, 0xf2, 0x16, 0xea, 0x27, 0xae, 0x3f, 0x9b, 0xe9,
+ 0x59, 0xe3, 0x54, 0x61, 0xc3, 0x76, 0x08, 0x55, 0x58, 0xd4, 0x82, 0xa5, 0x24, 0xb4, 0x07, 0x25,
+ 0xc6, 0x09, 0x75, 0x06, 0x38, 0x5e, 0xba, 0xa2, 0xc2, 0x44, 0xf9, 0xcc, 0x7b, 0xb0, 0x9b, 0xcc,
+ 0x3c, 0xef, 0x34, 0xfe, 0xe4, 0x8a, 0x52, 0xa8, 0x4e, 0x4b, 0xc9, 0xf4, 0x40, 0x8f, 0xbd, 0x23,
+ 0x44, 0xc4, 0x79, 0xfb, 0x3e, 0xcf, 0x13, 0x49, 0xc5, 0x13, 0x31, 0x0f, 0xa0, 0x96, 0xe0, 0x4d,
+ 0x85, 0x58, 0x86, 0x34, 0xc5, 0x7d, 0x95, 0xba, 0xf8, 0x34, 0xcf, 0x01, 0xbd, 0x70, 0x19, 0x97,
+ 0xe6, 0xec, 0xd6, 0x61, 0x99, 0xdf, 0x34, 0xa8, 0x2e, 0x10, 0x2a, 0xcf, 0x0f, 0x20, 0x27, 0x03,
+ 0x94, 0x6d, 0x2b, 0x1e, 0x99, 0x11, 0x5d, 0x82, 0x75, 0x4b, 0x45, 0x1f, 0x3d, 0x31, 0xde, 0x40,
+ 0x56, 0x42, 0xb3, 0x5b, 0xa2, 0xc5, 0x6e, 0x62, 0x1d, 0x0a, 0x7d, 0xb1, 0x81, 0xb6, 0xb8, 0x8c,
+ 0xb2, 0x1a, 0xf9, 0x10, 0xb8, 0xa0, 0x9e, 0xd8, 0x87, 0x60, 0xc2, 0xa4, 0x4e, 0x5e, 0xcd, 0x9c,
+ 0x90, 0x2f, 0xa8, 0x77, 0xf4, 0x75, 0x03, 0x36, 0x25, 0xed, 0x6b, 0x4c, 0x2f, 0xdd, 0x2e, 0x46,
+ 0xa7, 0x50, 0x98, 0xdd, 0x43, 0xa4, 0x47, 0x11, 0x2e, 0x9f, 0x74, 0xa3, 0x96, 0xa0, 0x51, 0xc7,
+ 0x33, 0x7b, 0x7d, 0xd5, 0x4c, 0xe5, 0x35, 0xd4, 0x87, 0x6a, 0xc2, 0x55, 0x40, 0xb3, 0xac, 0x57,
+ 0xdf, 0x32, 0xe3, 0x9f, 0xb5, 0x36, 0x4b, 0x7e, 0x5e, 0x41, 0x29, 0x7e, 0x47, 0x51, 0x7d, 0xde,
+ 0xa5, 0x1b, 0x27, 0xdc, 0xd8, 0x4d, 0x56, 0x2e, 0x51, 0x62, 0x40, 0x37, 0xd7, 0x10, 0xed, 0x45,
+ 0x6f, 0x57, 0x1e, 0x2d, 0xc3, 0x5c, 0x67, 0xb2, 0xe8, 0xa4, 0xa9, 0xa1, 0x11, 0x6c, 0x27, 0xad,
+ 0x13, 0x9a, 0xa7, 0xbf, 0x7a, 0x8d, 0x8d, 0x7f, 0xd7, 0x1b, 0x29, 0x67, 0xf9, 0xeb, 0xab, 0x66,
+ 0x26, 0x9f, 0x2a, 0x6b, 0xe8, 0x3d, 0x54, 0x6e, 0x6c, 0x05, 0x6a, 0x24, 0x90, 0x2c, 0xac, 0xa7,
+ 0xb1, 0xb7, 0xc6, 0x62, 0x21, 0xa1, 0x14, 0x7a, 0x09, 0xc5, 0xd8, 0x24, 0x23, 0x23, 0x71, 0xbc,
+ 0x25, 0x6b, 0x7d, 0xcd, 0xe8, 0x47, 0x7c, 0x87, 0xda, 0xf1, 0xe1, 0x3b, 0x61, 0xe7, 0x39, 0x9d,
+ 0x56, 0x97, 0x8c, 0xdb, 0xf2, 0xf3, 0x80, 0xd0, 0x41, 0x5b, 0xbe, 0x6e, 0x87, 0xff, 0x1c, 0xed,
+ 0x01, 0x51, 0x72, 0xd0, 0xe9, 0x64, 0x43, 0xe8, 0xff, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x53,
+ 0x32, 0x43, 0xff, 0xb8, 0x08, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
diff --git a/proto/remote.proto b/proto/remote.proto
index 67cb012f8..2a5bad3e4 100644
--- a/proto/remote.proto
+++ b/proto/remote.proto
@@ -93,6 +93,10 @@ message UpdateRemoteMirrorResponse {
message FindRemoteRepositoryRequest {
string remote = 1;
+ // This field is used to redirect request to proper storage where it can be handled.
+ // As of now it doesn't matter what storage will be used, but it still must be a valid.
+ // For more details: https://gitlab.com/gitlab-org/gitaly/-/issues/2442
+ string storage_name = 2;
}
// This migth throw a GRPC Unavailable code, to signal the request failure
diff --git a/ruby/proto/gitaly/remote_pb.rb b/ruby/proto/gitaly/remote_pb.rb
index 5d7a11bd9..06e57a8da 100644
--- a/ruby/proto/gitaly/remote_pb.rb
+++ b/ruby/proto/gitaly/remote_pb.rb
@@ -41,6 +41,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
end
add_message "gitaly.FindRemoteRepositoryRequest" do
optional :remote, :string, 1
+ optional :storage_name, :string, 2
end
add_message "gitaly.FindRemoteRepositoryResponse" do
optional :exists, :bool, 1