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:
authorSami Hiltunen <shiltunen@gitlab.com>2022-04-04 19:39:54 +0300
committerSami Hiltunen <shiltunen@gitlab.com>2022-04-19 19:06:32 +0300
commitb850c3990c3eb2e5f42024ca3409b1dfc078ffb7 (patch)
treedfe61b2029fc78677f5c15439ec1e9a6a763e157
parentef18681a6f171af027a31de9ce335a1887d31e81 (diff)
Add proto definitions for MarkUnverified RPC
With the introduction of metadata verification, Praefect needs a tool to manually mark a repository as needing verification immediately rather than after the specified verification interval has passed. That tool will require a new RPC that it can call achieve its goal. This commit adds the proto definitions for MarkUnverified RPC which can be called to either mark a single repository by ID, a whole virtual storage, or a whole storage as needing verification. Changelog: added
-rw-r--r--proto/go/gitalypb/praefect.pb.go809
-rw-r--r--proto/go/gitalypb/praefect_grpc.pb.go40
-rw-r--r--proto/praefect.proto32
-rw-r--r--ruby/proto/gitaly/praefect_pb.rb17
-rw-r--r--ruby/proto/gitaly/praefect_services_pb.rb3
5 files changed, 637 insertions, 264 deletions
diff --git a/proto/go/gitalypb/praefect.pb.go b/proto/go/gitalypb/praefect.pb.go
index 62f8af5b8..e21485b62 100644
--- a/proto/go/gitalypb/praefect.pb.go
+++ b/proto/go/gitalypb/praefect.pb.go
@@ -21,6 +21,156 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
+// MarkUnverifiedRequest specifies the replicas which to mark unverified.
+type MarkUnverifiedRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // selector specifies the replicas which to mark unverified.
+ //
+ // Types that are assignable to Selector:
+ // *MarkUnverifiedRequest_RepositoryId
+ // *MarkUnverifiedRequest_VirtualStorage
+ // *MarkUnverifiedRequest_Storage_
+ Selector isMarkUnverifiedRequest_Selector `protobuf_oneof:"selector"`
+}
+
+func (x *MarkUnverifiedRequest) Reset() {
+ *x = MarkUnverifiedRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_praefect_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MarkUnverifiedRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MarkUnverifiedRequest) ProtoMessage() {}
+
+func (x *MarkUnverifiedRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_praefect_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MarkUnverifiedRequest.ProtoReflect.Descriptor instead.
+func (*MarkUnverifiedRequest) Descriptor() ([]byte, []int) {
+ return file_praefect_proto_rawDescGZIP(), []int{0}
+}
+
+func (m *MarkUnverifiedRequest) GetSelector() isMarkUnverifiedRequest_Selector {
+ if m != nil {
+ return m.Selector
+ }
+ return nil
+}
+
+func (x *MarkUnverifiedRequest) GetRepositoryId() int64 {
+ if x, ok := x.GetSelector().(*MarkUnverifiedRequest_RepositoryId); ok {
+ return x.RepositoryId
+ }
+ return 0
+}
+
+func (x *MarkUnverifiedRequest) GetVirtualStorage() string {
+ if x, ok := x.GetSelector().(*MarkUnverifiedRequest_VirtualStorage); ok {
+ return x.VirtualStorage
+ }
+ return ""
+}
+
+func (x *MarkUnverifiedRequest) GetStorage() *MarkUnverifiedRequest_Storage {
+ if x, ok := x.GetSelector().(*MarkUnverifiedRequest_Storage_); ok {
+ return x.Storage
+ }
+ return nil
+}
+
+type isMarkUnverifiedRequest_Selector interface {
+ isMarkUnverifiedRequest_Selector()
+}
+
+type MarkUnverifiedRequest_RepositoryId struct {
+ // repository_id is the id of a repository to mark all replicas for unverified.
+ RepositoryId int64 `protobuf:"varint,1,opt,name=repository_id,json=repositoryId,proto3,oneof"`
+}
+
+type MarkUnverifiedRequest_VirtualStorage struct {
+ // virtual_storage is the name of virtual storage which will have all of its replicas
+ // marked unverified.
+ VirtualStorage string `protobuf:"bytes,2,opt,name=virtual_storage,json=virtualStorage,proto3,oneof"`
+}
+
+type MarkUnverifiedRequest_Storage_ struct {
+ // storage specifies a single storage. The replicas on the storage marked unverified.
+ Storage *MarkUnverifiedRequest_Storage `protobuf:"bytes,3,opt,name=storage,proto3,oneof"`
+}
+
+func (*MarkUnverifiedRequest_RepositoryId) isMarkUnverifiedRequest_Selector() {}
+
+func (*MarkUnverifiedRequest_VirtualStorage) isMarkUnverifiedRequest_Selector() {}
+
+func (*MarkUnverifiedRequest_Storage_) isMarkUnverifiedRequest_Selector() {}
+
+// MarkUnverifiedResponse returns the number of replicas marked unverified.
+type MarkUnverifiedResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // replicas_marked indicates the number of replicas that were marked unverified.
+ ReplicasMarked int64 `protobuf:"varint,1,opt,name=replicas_marked,json=replicasMarked,proto3" json:"replicas_marked,omitempty"`
+}
+
+func (x *MarkUnverifiedResponse) Reset() {
+ *x = MarkUnverifiedResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_praefect_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MarkUnverifiedResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MarkUnverifiedResponse) ProtoMessage() {}
+
+func (x *MarkUnverifiedResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_praefect_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MarkUnverifiedResponse.ProtoReflect.Descriptor instead.
+func (*MarkUnverifiedResponse) Descriptor() ([]byte, []int) {
+ return file_praefect_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *MarkUnverifiedResponse) GetReplicasMarked() int64 {
+ if x != nil {
+ return x.ReplicasMarked
+ }
+ return 0
+}
+
// GetRepositoryMetadataRequest specifies the repository to retrieve metadata for.
type GetRepositoryMetadataRequest struct {
state protoimpl.MessageState
@@ -36,7 +186,7 @@ type GetRepositoryMetadataRequest struct {
func (x *GetRepositoryMetadataRequest) Reset() {
*x = GetRepositoryMetadataRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[0]
+ mi := &file_praefect_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -49,7 +199,7 @@ func (x *GetRepositoryMetadataRequest) String() string {
func (*GetRepositoryMetadataRequest) ProtoMessage() {}
func (x *GetRepositoryMetadataRequest) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[0]
+ mi := &file_praefect_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -62,7 +212,7 @@ func (x *GetRepositoryMetadataRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetRepositoryMetadataRequest.ProtoReflect.Descriptor instead.
func (*GetRepositoryMetadataRequest) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{0}
+ return file_praefect_proto_rawDescGZIP(), []int{2}
}
func (m *GetRepositoryMetadataRequest) GetQuery() isGetRepositoryMetadataRequest_Query {
@@ -129,7 +279,7 @@ type GetRepositoryMetadataResponse struct {
func (x *GetRepositoryMetadataResponse) Reset() {
*x = GetRepositoryMetadataResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[1]
+ mi := &file_praefect_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -142,7 +292,7 @@ func (x *GetRepositoryMetadataResponse) String() string {
func (*GetRepositoryMetadataResponse) ProtoMessage() {}
func (x *GetRepositoryMetadataResponse) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[1]
+ mi := &file_praefect_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -155,7 +305,7 @@ func (x *GetRepositoryMetadataResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetRepositoryMetadataResponse.ProtoReflect.Descriptor instead.
func (*GetRepositoryMetadataResponse) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{1}
+ return file_praefect_proto_rawDescGZIP(), []int{3}
}
func (x *GetRepositoryMetadataResponse) GetRepositoryId() int64 {
@@ -224,7 +374,7 @@ type SetReplicationFactorRequest struct {
func (x *SetReplicationFactorRequest) Reset() {
*x = SetReplicationFactorRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[2]
+ mi := &file_praefect_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -237,7 +387,7 @@ func (x *SetReplicationFactorRequest) String() string {
func (*SetReplicationFactorRequest) ProtoMessage() {}
func (x *SetReplicationFactorRequest) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[2]
+ mi := &file_praefect_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -250,7 +400,7 @@ func (x *SetReplicationFactorRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetReplicationFactorRequest.ProtoReflect.Descriptor instead.
func (*SetReplicationFactorRequest) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{2}
+ return file_praefect_proto_rawDescGZIP(), []int{4}
}
func (x *SetReplicationFactorRequest) GetVirtualStorage() string {
@@ -287,7 +437,7 @@ type SetReplicationFactorResponse struct {
func (x *SetReplicationFactorResponse) Reset() {
*x = SetReplicationFactorResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[3]
+ mi := &file_praefect_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -300,7 +450,7 @@ func (x *SetReplicationFactorResponse) String() string {
func (*SetReplicationFactorResponse) ProtoMessage() {}
func (x *SetReplicationFactorResponse) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[3]
+ mi := &file_praefect_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -313,7 +463,7 @@ func (x *SetReplicationFactorResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetReplicationFactorResponse.ProtoReflect.Descriptor instead.
func (*SetReplicationFactorResponse) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{3}
+ return file_praefect_proto_rawDescGZIP(), []int{5}
}
func (x *SetReplicationFactorResponse) GetStorages() []string {
@@ -336,7 +486,7 @@ type SetAuthoritativeStorageRequest struct {
func (x *SetAuthoritativeStorageRequest) Reset() {
*x = SetAuthoritativeStorageRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[4]
+ mi := &file_praefect_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -349,7 +499,7 @@ func (x *SetAuthoritativeStorageRequest) String() string {
func (*SetAuthoritativeStorageRequest) ProtoMessage() {}
func (x *SetAuthoritativeStorageRequest) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[4]
+ mi := &file_praefect_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -362,7 +512,7 @@ func (x *SetAuthoritativeStorageRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetAuthoritativeStorageRequest.ProtoReflect.Descriptor instead.
func (*SetAuthoritativeStorageRequest) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{4}
+ return file_praefect_proto_rawDescGZIP(), []int{6}
}
func (x *SetAuthoritativeStorageRequest) GetVirtualStorage() string {
@@ -395,7 +545,7 @@ type SetAuthoritativeStorageResponse struct {
func (x *SetAuthoritativeStorageResponse) Reset() {
*x = SetAuthoritativeStorageResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[5]
+ mi := &file_praefect_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -408,7 +558,7 @@ func (x *SetAuthoritativeStorageResponse) String() string {
func (*SetAuthoritativeStorageResponse) ProtoMessage() {}
func (x *SetAuthoritativeStorageResponse) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[5]
+ mi := &file_praefect_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -421,7 +571,7 @@ func (x *SetAuthoritativeStorageResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SetAuthoritativeStorageResponse.ProtoReflect.Descriptor instead.
func (*SetAuthoritativeStorageResponse) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{5}
+ return file_praefect_proto_rawDescGZIP(), []int{7}
}
type DatalossCheckRequest struct {
@@ -438,7 +588,7 @@ type DatalossCheckRequest struct {
func (x *DatalossCheckRequest) Reset() {
*x = DatalossCheckRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[6]
+ mi := &file_praefect_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -451,7 +601,7 @@ func (x *DatalossCheckRequest) String() string {
func (*DatalossCheckRequest) ProtoMessage() {}
func (x *DatalossCheckRequest) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[6]
+ mi := &file_praefect_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -464,7 +614,7 @@ func (x *DatalossCheckRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use DatalossCheckRequest.ProtoReflect.Descriptor instead.
func (*DatalossCheckRequest) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{6}
+ return file_praefect_proto_rawDescGZIP(), []int{8}
}
func (x *DatalossCheckRequest) GetVirtualStorage() string {
@@ -493,7 +643,7 @@ type DatalossCheckResponse struct {
func (x *DatalossCheckResponse) Reset() {
*x = DatalossCheckResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[7]
+ mi := &file_praefect_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -506,7 +656,7 @@ func (x *DatalossCheckResponse) String() string {
func (*DatalossCheckResponse) ProtoMessage() {}
func (x *DatalossCheckResponse) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[7]
+ mi := &file_praefect_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -519,7 +669,7 @@ func (x *DatalossCheckResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use DatalossCheckResponse.ProtoReflect.Descriptor instead.
func (*DatalossCheckResponse) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{7}
+ return file_praefect_proto_rawDescGZIP(), []int{9}
}
func (x *DatalossCheckResponse) GetRepositories() []*DatalossCheckResponse_Repository {
@@ -540,7 +690,7 @@ type RepositoryReplicasRequest struct {
func (x *RepositoryReplicasRequest) Reset() {
*x = RepositoryReplicasRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[8]
+ mi := &file_praefect_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -553,7 +703,7 @@ func (x *RepositoryReplicasRequest) String() string {
func (*RepositoryReplicasRequest) ProtoMessage() {}
func (x *RepositoryReplicasRequest) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[8]
+ mi := &file_praefect_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -566,7 +716,7 @@ func (x *RepositoryReplicasRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RepositoryReplicasRequest.ProtoReflect.Descriptor instead.
func (*RepositoryReplicasRequest) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{8}
+ return file_praefect_proto_rawDescGZIP(), []int{10}
}
func (x *RepositoryReplicasRequest) GetRepository() *Repository {
@@ -588,7 +738,7 @@ type RepositoryReplicasResponse struct {
func (x *RepositoryReplicasResponse) Reset() {
*x = RepositoryReplicasResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[9]
+ mi := &file_praefect_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -601,7 +751,7 @@ func (x *RepositoryReplicasResponse) String() string {
func (*RepositoryReplicasResponse) ProtoMessage() {}
func (x *RepositoryReplicasResponse) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[9]
+ mi := &file_praefect_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -614,7 +764,7 @@ func (x *RepositoryReplicasResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use RepositoryReplicasResponse.ProtoReflect.Descriptor instead.
func (*RepositoryReplicasResponse) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{9}
+ return file_praefect_proto_rawDescGZIP(), []int{11}
}
func (x *RepositoryReplicasResponse) GetPrimary() *RepositoryReplicasResponse_RepositoryDetails {
@@ -631,6 +781,64 @@ func (x *RepositoryReplicasResponse) GetReplicas() []*RepositoryReplicasResponse
return nil
}
+// Storage identifies a single storage in a virtual storage.
+type MarkUnverifiedRequest_Storage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // virtual_storage is the virtual storage the storage is part of.
+ VirtualStorage string `protobuf:"bytes,1,opt,name=virtual_storage,json=virtualStorage,proto3" json:"virtual_storage,omitempty"`
+ // storage is the name of the storage.
+ Storage string `protobuf:"bytes,2,opt,name=storage,proto3" json:"storage,omitempty"`
+}
+
+func (x *MarkUnverifiedRequest_Storage) Reset() {
+ *x = MarkUnverifiedRequest_Storage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_praefect_proto_msgTypes[12]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *MarkUnverifiedRequest_Storage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*MarkUnverifiedRequest_Storage) ProtoMessage() {}
+
+func (x *MarkUnverifiedRequest_Storage) ProtoReflect() protoreflect.Message {
+ mi := &file_praefect_proto_msgTypes[12]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use MarkUnverifiedRequest_Storage.ProtoReflect.Descriptor instead.
+func (*MarkUnverifiedRequest_Storage) Descriptor() ([]byte, []int) {
+ return file_praefect_proto_rawDescGZIP(), []int{0, 0}
+}
+
+func (x *MarkUnverifiedRequest_Storage) GetVirtualStorage() string {
+ if x != nil {
+ return x.VirtualStorage
+ }
+ return ""
+}
+
+func (x *MarkUnverifiedRequest_Storage) GetStorage() string {
+ if x != nil {
+ return x.Storage
+ }
+ return ""
+}
+
type GetRepositoryMetadataRequest_Path struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -645,7 +853,7 @@ type GetRepositoryMetadataRequest_Path struct {
func (x *GetRepositoryMetadataRequest_Path) Reset() {
*x = GetRepositoryMetadataRequest_Path{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[10]
+ mi := &file_praefect_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -658,7 +866,7 @@ func (x *GetRepositoryMetadataRequest_Path) String() string {
func (*GetRepositoryMetadataRequest_Path) ProtoMessage() {}
func (x *GetRepositoryMetadataRequest_Path) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[10]
+ mi := &file_praefect_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -671,7 +879,7 @@ func (x *GetRepositoryMetadataRequest_Path) ProtoReflect() protoreflect.Message
// Deprecated: Use GetRepositoryMetadataRequest_Path.ProtoReflect.Descriptor instead.
func (*GetRepositoryMetadataRequest_Path) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{0, 0}
+ return file_praefect_proto_rawDescGZIP(), []int{2, 0}
}
func (x *GetRepositoryMetadataRequest_Path) GetVirtualStorage() string {
@@ -711,7 +919,7 @@ type GetRepositoryMetadataResponse_Replica struct {
func (x *GetRepositoryMetadataResponse_Replica) Reset() {
*x = GetRepositoryMetadataResponse_Replica{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[11]
+ mi := &file_praefect_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -724,7 +932,7 @@ func (x *GetRepositoryMetadataResponse_Replica) String() string {
func (*GetRepositoryMetadataResponse_Replica) ProtoMessage() {}
func (x *GetRepositoryMetadataResponse_Replica) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[11]
+ mi := &file_praefect_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -737,7 +945,7 @@ func (x *GetRepositoryMetadataResponse_Replica) ProtoReflect() protoreflect.Mess
// Deprecated: Use GetRepositoryMetadataResponse_Replica.ProtoReflect.Descriptor instead.
func (*GetRepositoryMetadataResponse_Replica) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{1, 0}
+ return file_praefect_proto_rawDescGZIP(), []int{3, 0}
}
func (x *GetRepositoryMetadataResponse_Replica) GetStorage() string {
@@ -800,7 +1008,7 @@ type DatalossCheckResponse_Repository struct {
func (x *DatalossCheckResponse_Repository) Reset() {
*x = DatalossCheckResponse_Repository{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[12]
+ mi := &file_praefect_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -813,7 +1021,7 @@ func (x *DatalossCheckResponse_Repository) String() string {
func (*DatalossCheckResponse_Repository) ProtoMessage() {}
func (x *DatalossCheckResponse_Repository) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[12]
+ mi := &file_praefect_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -826,7 +1034,7 @@ func (x *DatalossCheckResponse_Repository) ProtoReflect() protoreflect.Message {
// Deprecated: Use DatalossCheckResponse_Repository.ProtoReflect.Descriptor instead.
func (*DatalossCheckResponse_Repository) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{7, 0}
+ return file_praefect_proto_rawDescGZIP(), []int{9, 0}
}
func (x *DatalossCheckResponse_Repository) GetRelativePath() string {
@@ -877,7 +1085,7 @@ type DatalossCheckResponse_Repository_Storage struct {
func (x *DatalossCheckResponse_Repository_Storage) Reset() {
*x = DatalossCheckResponse_Repository_Storage{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[13]
+ mi := &file_praefect_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -890,7 +1098,7 @@ func (x *DatalossCheckResponse_Repository_Storage) String() string {
func (*DatalossCheckResponse_Repository_Storage) ProtoMessage() {}
func (x *DatalossCheckResponse_Repository_Storage) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[13]
+ mi := &file_praefect_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -903,7 +1111,7 @@ func (x *DatalossCheckResponse_Repository_Storage) ProtoReflect() protoreflect.M
// Deprecated: Use DatalossCheckResponse_Repository_Storage.ProtoReflect.Descriptor instead.
func (*DatalossCheckResponse_Repository_Storage) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{7, 0, 0}
+ return file_praefect_proto_rawDescGZIP(), []int{9, 0, 0}
}
func (x *DatalossCheckResponse_Repository_Storage) GetName() string {
@@ -953,7 +1161,7 @@ type RepositoryReplicasResponse_RepositoryDetails struct {
func (x *RepositoryReplicasResponse_RepositoryDetails) Reset() {
*x = RepositoryReplicasResponse_RepositoryDetails{}
if protoimpl.UnsafeEnabled {
- mi := &file_praefect_proto_msgTypes[14]
+ mi := &file_praefect_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -966,7 +1174,7 @@ func (x *RepositoryReplicasResponse_RepositoryDetails) String() string {
func (*RepositoryReplicasResponse_RepositoryDetails) ProtoMessage() {}
func (x *RepositoryReplicasResponse_RepositoryDetails) ProtoReflect() protoreflect.Message {
- mi := &file_praefect_proto_msgTypes[14]
+ mi := &file_praefect_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -979,7 +1187,7 @@ func (x *RepositoryReplicasResponse_RepositoryDetails) ProtoReflect() protorefle
// Deprecated: Use RepositoryReplicasResponse_RepositoryDetails.ProtoReflect.Descriptor instead.
func (*RepositoryReplicasResponse_RepositoryDetails) Descriptor() ([]byte, []int) {
- return file_praefect_proto_rawDescGZIP(), []int{9, 0}
+ return file_praefect_proto_rawDescGZIP(), []int{11, 0}
}
func (x *RepositoryReplicasResponse_RepositoryDetails) GetRepository() *Repository {
@@ -1004,176 +1212,202 @@ var file_praefect_proto_rawDesc = []byte{
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x22, 0xe5, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
- 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x72,
- 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x04, 0x70,
- 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x61,
- 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
- 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
- 0x50, 0x61, 0x74, 0x68, 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x54, 0x0a, 0x04,
- 0x50, 0x61, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76,
- 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a,
- 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61,
- 0x74, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x98, 0x04, 0x0a, 0x1d,
- 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74,
- 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a,
+ 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x02, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x6b, 0x55, 0x6e, 0x76, 0x65,
+ 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a,
0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
- 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x69, 0x72,
- 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72,
- 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68,
- 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x70, 0x61, 0x74, 0x68,
- 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x50,
- 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x05,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1e, 0x0a,
- 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a,
- 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x2d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x08,
- 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x1a, 0xdb, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x70,
- 0x6c, 0x69, 0x63, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1a,
- 0x0a, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
- 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65,
- 0x61, 0x6c, 0x74, 0x68, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x65, 0x61,
- 0x6c, 0x74, 0x68, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x70, 0x72,
- 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c,
- 0x69, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x65, 0x72,
- 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
- 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x69,
- 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x22, 0x9a, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x52, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61,
- 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
+ 0x72, 0x79, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52,
0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12,
- 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65,
- 0x50, 0x61, 0x74, 0x68, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
- 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63,
- 0x74, 0x6f, 0x72, 0x22, 0x3a, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x73, 0x22,
- 0xa3, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61,
- 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x41, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x55, 0x6e,
+ 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
+ 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x1a, 0x4c, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a,
+ 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x42, 0x0a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x41, 0x0a, 0x16,
+ 0x4d, 0x61, 0x72, 0x6b, 0x55, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x73, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x22,
+ 0xe5, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
+ 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47,
+ 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61,
+ 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x50, 0x61, 0x74, 0x68,
+ 0x48, 0x00, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x54, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68,
+ 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75,
+ 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x42, 0x07,
+ 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x98, 0x04, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x52,
+ 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x27,
+ 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c,
+ 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
+ 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c,
+ 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x50, 0x61, 0x74, 0x68, 0x12,
+ 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x65, 0x70,
+ 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
+ 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x73, 0x1a, 0xdb, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
+ 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x73,
+ 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x73,
+ 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
+ 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79,
+ 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
+ 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50, 0x72,
+ 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65,
+ 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
+ 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
+ 0x41, 0x74, 0x22, 0x9a, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x69, 0x72,
0x74, 0x75, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72,
0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68,
- 0x12, 0x33, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76,
- 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68,
- 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x14, 0x44, 0x61, 0x74,
- 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74,
- 0x75, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x1c, 0x69, 0x6e,
- 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x5f,
- 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
- 0x6c, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0xbb, 0x03, 0x0a,
- 0x15, 0x44, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68,
- 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f,
- 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
- 0x72, 0x69, 0x65, 0x73, 0x1a, 0xd3, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
- 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61,
- 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4c, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x69, 0x74,
- 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63,
- 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x08, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x61, 0x76, 0x61, 0x69,
- 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x61,
- 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d,
- 0x61, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61,
- 0x72, 0x79, 0x1a, 0x95, 0x01, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x12,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x5f, 0x62, 0x79, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x62, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x42, 0x79, 0x12,
- 0x1a, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x68,
- 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x65,
- 0x61, 0x6c, 0x74, 0x68, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x70,
- 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61,
- 0x6c, 0x69, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x4f, 0x0a, 0x19, 0x52, 0x65,
- 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52,
- 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xa3, 0x02, 0x0a, 0x1a,
- 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x07, 0x70, 0x72,
- 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x69,
- 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52,
- 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
- 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
- 0x73, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x08, 0x72, 0x65,
- 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
- 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69,
- 0x6c, 0x73, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x1a, 0x63, 0x0a, 0x11,
- 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
- 0x73, 0x12, 0x32, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52,
- 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73,
- 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
- 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
- 0x6d, 0x32, 0xfb, 0x03, 0x0a, 0x13, 0x50, 0x72, 0x61, 0x65, 0x66, 0x65, 0x63, 0x74, 0x49, 0x6e,
- 0x66, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x12, 0x52, 0x65, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12,
- 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f,
+ 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22,
+ 0x3a, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x1e,
+ 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65,
+ 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27,
+ 0x0a, 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c,
+ 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
+ 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x15,
+ 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x61, 0x75, 0x74,
+ 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x14, 0x44, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x73,
+ 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a,
+ 0x0f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x1c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64,
+ 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x72, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x6e,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x52, 0x65,
+ 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0xbb, 0x03, 0x0a, 0x15, 0x44, 0x61, 0x74,
+ 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69,
+ 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
+ 0x79, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
+ 0x72, 0x79, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73,
+ 0x1a, 0xd3, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12,
+ 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65,
+ 0x50, 0x61, 0x74, 0x68, 0x12, 0x4c, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e,
+ 0x44, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
+ 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c,
+ 0x61, 0x62, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x1a, 0x95,
+ 0x01, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b,
+ 0x0a, 0x09, 0x62, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x08, 0x62, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x42, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x61,
+ 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61,
+ 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74,
+ 0x68, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
+ 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61,
+ 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x50,
+ 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x4f, 0x0a, 0x19, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
+ 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
+ 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x72, 0x65, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0xa3, 0x02, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6f,
0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x6c, 0x6f,
- 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44,
- 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f,
- 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12,
- 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68,
- 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
- 0x2e, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76,
- 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x12, 0x61, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
- 0x79, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e,
- 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69,
- 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x2e, 0x67,
- 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
- 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52,
- 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
- 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x04, 0xf0, 0x97, 0x28, 0x01, 0x42,
- 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69,
- 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f,
- 0x76, 0x31, 0x34, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74,
- 0x61, 0x6c, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
+ 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69,
+ 0x63, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x70,
+ 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
+ 0x61, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c,
+ 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x70,
+ 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x08,
+ 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x1a, 0x63, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x32, 0x0a,
+ 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73,
+ 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
+ 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x32, 0xcc, 0x04,
+ 0x0a, 0x13, 0x50, 0x72, 0x61, 0x65, 0x66, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x65,
+ 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x12, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
+ 0x6f, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x21, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52,
+ 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
+ 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68,
+ 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x61, 0x74,
+ 0x61, 0x6c, 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x6c,
+ 0x6f, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x6a, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61,
+ 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x26, 0x2e, 0x67, 0x69,
+ 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
+ 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74,
+ 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0e,
+ 0x4d, 0x61, 0x72, 0x6b, 0x55, 0x6e, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1d,
+ 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x55, 0x6e, 0x76, 0x65,
+ 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
+ 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x55, 0x6e, 0x76, 0x65, 0x72,
+ 0x69, 0x66, 0x69, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a,
+ 0x14, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46,
+ 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53,
+ 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63,
+ 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x69, 0x74,
+ 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x12, 0x64, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
+ 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61,
+ 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
+ 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f,
+ 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x04, 0xf0, 0x97, 0x28, 0x01, 0x42, 0x34, 0x5a, 0x32,
+ 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61,
+ 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x34,
+ 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79,
+ 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -1188,51 +1422,57 @@ func file_praefect_proto_rawDescGZIP() []byte {
return file_praefect_proto_rawDescData
}
-var file_praefect_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
+var file_praefect_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_praefect_proto_goTypes = []interface{}{
- (*GetRepositoryMetadataRequest)(nil), // 0: gitaly.GetRepositoryMetadataRequest
- (*GetRepositoryMetadataResponse)(nil), // 1: gitaly.GetRepositoryMetadataResponse
- (*SetReplicationFactorRequest)(nil), // 2: gitaly.SetReplicationFactorRequest
- (*SetReplicationFactorResponse)(nil), // 3: gitaly.SetReplicationFactorResponse
- (*SetAuthoritativeStorageRequest)(nil), // 4: gitaly.SetAuthoritativeStorageRequest
- (*SetAuthoritativeStorageResponse)(nil), // 5: gitaly.SetAuthoritativeStorageResponse
- (*DatalossCheckRequest)(nil), // 6: gitaly.DatalossCheckRequest
- (*DatalossCheckResponse)(nil), // 7: gitaly.DatalossCheckResponse
- (*RepositoryReplicasRequest)(nil), // 8: gitaly.RepositoryReplicasRequest
- (*RepositoryReplicasResponse)(nil), // 9: gitaly.RepositoryReplicasResponse
- (*GetRepositoryMetadataRequest_Path)(nil), // 10: gitaly.GetRepositoryMetadataRequest.Path
- (*GetRepositoryMetadataResponse_Replica)(nil), // 11: gitaly.GetRepositoryMetadataResponse.Replica
- (*DatalossCheckResponse_Repository)(nil), // 12: gitaly.DatalossCheckResponse.Repository
- (*DatalossCheckResponse_Repository_Storage)(nil), // 13: gitaly.DatalossCheckResponse.Repository.Storage
- (*RepositoryReplicasResponse_RepositoryDetails)(nil), // 14: gitaly.RepositoryReplicasResponse.RepositoryDetails
- (*Repository)(nil), // 15: gitaly.Repository
- (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp
+ (*MarkUnverifiedRequest)(nil), // 0: gitaly.MarkUnverifiedRequest
+ (*MarkUnverifiedResponse)(nil), // 1: gitaly.MarkUnverifiedResponse
+ (*GetRepositoryMetadataRequest)(nil), // 2: gitaly.GetRepositoryMetadataRequest
+ (*GetRepositoryMetadataResponse)(nil), // 3: gitaly.GetRepositoryMetadataResponse
+ (*SetReplicationFactorRequest)(nil), // 4: gitaly.SetReplicationFactorRequest
+ (*SetReplicationFactorResponse)(nil), // 5: gitaly.SetReplicationFactorResponse
+ (*SetAuthoritativeStorageRequest)(nil), // 6: gitaly.SetAuthoritativeStorageRequest
+ (*SetAuthoritativeStorageResponse)(nil), // 7: gitaly.SetAuthoritativeStorageResponse
+ (*DatalossCheckRequest)(nil), // 8: gitaly.DatalossCheckRequest
+ (*DatalossCheckResponse)(nil), // 9: gitaly.DatalossCheckResponse
+ (*RepositoryReplicasRequest)(nil), // 10: gitaly.RepositoryReplicasRequest
+ (*RepositoryReplicasResponse)(nil), // 11: gitaly.RepositoryReplicasResponse
+ (*MarkUnverifiedRequest_Storage)(nil), // 12: gitaly.MarkUnverifiedRequest.Storage
+ (*GetRepositoryMetadataRequest_Path)(nil), // 13: gitaly.GetRepositoryMetadataRequest.Path
+ (*GetRepositoryMetadataResponse_Replica)(nil), // 14: gitaly.GetRepositoryMetadataResponse.Replica
+ (*DatalossCheckResponse_Repository)(nil), // 15: gitaly.DatalossCheckResponse.Repository
+ (*DatalossCheckResponse_Repository_Storage)(nil), // 16: gitaly.DatalossCheckResponse.Repository.Storage
+ (*RepositoryReplicasResponse_RepositoryDetails)(nil), // 17: gitaly.RepositoryReplicasResponse.RepositoryDetails
+ (*Repository)(nil), // 18: gitaly.Repository
+ (*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp
}
var file_praefect_proto_depIdxs = []int32{
- 10, // 0: gitaly.GetRepositoryMetadataRequest.path:type_name -> gitaly.GetRepositoryMetadataRequest.Path
- 11, // 1: gitaly.GetRepositoryMetadataResponse.replicas:type_name -> gitaly.GetRepositoryMetadataResponse.Replica
- 12, // 2: gitaly.DatalossCheckResponse.repositories:type_name -> gitaly.DatalossCheckResponse.Repository
- 15, // 3: gitaly.RepositoryReplicasRequest.repository:type_name -> gitaly.Repository
- 14, // 4: gitaly.RepositoryReplicasResponse.primary:type_name -> gitaly.RepositoryReplicasResponse.RepositoryDetails
- 14, // 5: gitaly.RepositoryReplicasResponse.replicas:type_name -> gitaly.RepositoryReplicasResponse.RepositoryDetails
- 16, // 6: gitaly.GetRepositoryMetadataResponse.Replica.verified_at:type_name -> google.protobuf.Timestamp
- 13, // 7: gitaly.DatalossCheckResponse.Repository.storages:type_name -> gitaly.DatalossCheckResponse.Repository.Storage
- 15, // 8: gitaly.RepositoryReplicasResponse.RepositoryDetails.repository:type_name -> gitaly.Repository
- 8, // 9: gitaly.PraefectInfoService.RepositoryReplicas:input_type -> gitaly.RepositoryReplicasRequest
- 6, // 10: gitaly.PraefectInfoService.DatalossCheck:input_type -> gitaly.DatalossCheckRequest
- 4, // 11: gitaly.PraefectInfoService.SetAuthoritativeStorage:input_type -> gitaly.SetAuthoritativeStorageRequest
- 2, // 12: gitaly.PraefectInfoService.SetReplicationFactor:input_type -> gitaly.SetReplicationFactorRequest
- 0, // 13: gitaly.PraefectInfoService.GetRepositoryMetadata:input_type -> gitaly.GetRepositoryMetadataRequest
- 9, // 14: gitaly.PraefectInfoService.RepositoryReplicas:output_type -> gitaly.RepositoryReplicasResponse
- 7, // 15: gitaly.PraefectInfoService.DatalossCheck:output_type -> gitaly.DatalossCheckResponse
- 5, // 16: gitaly.PraefectInfoService.SetAuthoritativeStorage:output_type -> gitaly.SetAuthoritativeStorageResponse
- 3, // 17: gitaly.PraefectInfoService.SetReplicationFactor:output_type -> gitaly.SetReplicationFactorResponse
- 1, // 18: gitaly.PraefectInfoService.GetRepositoryMetadata:output_type -> gitaly.GetRepositoryMetadataResponse
- 14, // [14:19] is the sub-list for method output_type
- 9, // [9:14] is the sub-list for method input_type
- 9, // [9:9] is the sub-list for extension type_name
- 9, // [9:9] is the sub-list for extension extendee
- 0, // [0:9] is the sub-list for field type_name
+ 12, // 0: gitaly.MarkUnverifiedRequest.storage:type_name -> gitaly.MarkUnverifiedRequest.Storage
+ 13, // 1: gitaly.GetRepositoryMetadataRequest.path:type_name -> gitaly.GetRepositoryMetadataRequest.Path
+ 14, // 2: gitaly.GetRepositoryMetadataResponse.replicas:type_name -> gitaly.GetRepositoryMetadataResponse.Replica
+ 15, // 3: gitaly.DatalossCheckResponse.repositories:type_name -> gitaly.DatalossCheckResponse.Repository
+ 18, // 4: gitaly.RepositoryReplicasRequest.repository:type_name -> gitaly.Repository
+ 17, // 5: gitaly.RepositoryReplicasResponse.primary:type_name -> gitaly.RepositoryReplicasResponse.RepositoryDetails
+ 17, // 6: gitaly.RepositoryReplicasResponse.replicas:type_name -> gitaly.RepositoryReplicasResponse.RepositoryDetails
+ 19, // 7: gitaly.GetRepositoryMetadataResponse.Replica.verified_at:type_name -> google.protobuf.Timestamp
+ 16, // 8: gitaly.DatalossCheckResponse.Repository.storages:type_name -> gitaly.DatalossCheckResponse.Repository.Storage
+ 18, // 9: gitaly.RepositoryReplicasResponse.RepositoryDetails.repository:type_name -> gitaly.Repository
+ 10, // 10: gitaly.PraefectInfoService.RepositoryReplicas:input_type -> gitaly.RepositoryReplicasRequest
+ 8, // 11: gitaly.PraefectInfoService.DatalossCheck:input_type -> gitaly.DatalossCheckRequest
+ 6, // 12: gitaly.PraefectInfoService.SetAuthoritativeStorage:input_type -> gitaly.SetAuthoritativeStorageRequest
+ 0, // 13: gitaly.PraefectInfoService.MarkUnverified:input_type -> gitaly.MarkUnverifiedRequest
+ 4, // 14: gitaly.PraefectInfoService.SetReplicationFactor:input_type -> gitaly.SetReplicationFactorRequest
+ 2, // 15: gitaly.PraefectInfoService.GetRepositoryMetadata:input_type -> gitaly.GetRepositoryMetadataRequest
+ 11, // 16: gitaly.PraefectInfoService.RepositoryReplicas:output_type -> gitaly.RepositoryReplicasResponse
+ 9, // 17: gitaly.PraefectInfoService.DatalossCheck:output_type -> gitaly.DatalossCheckResponse
+ 7, // 18: gitaly.PraefectInfoService.SetAuthoritativeStorage:output_type -> gitaly.SetAuthoritativeStorageResponse
+ 1, // 19: gitaly.PraefectInfoService.MarkUnverified:output_type -> gitaly.MarkUnverifiedResponse
+ 5, // 20: gitaly.PraefectInfoService.SetReplicationFactor:output_type -> gitaly.SetReplicationFactorResponse
+ 3, // 21: gitaly.PraefectInfoService.GetRepositoryMetadata:output_type -> gitaly.GetRepositoryMetadataResponse
+ 16, // [16:22] is the sub-list for method output_type
+ 10, // [10:16] is the sub-list for method input_type
+ 10, // [10:10] is the sub-list for extension type_name
+ 10, // [10:10] is the sub-list for extension extendee
+ 0, // [0:10] is the sub-list for field type_name
}
func init() { file_praefect_proto_init() }
@@ -1244,7 +1484,7 @@ func file_praefect_proto_init() {
file_shared_proto_init()
if !protoimpl.UnsafeEnabled {
file_praefect_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetRepositoryMetadataRequest); i {
+ switch v := v.(*MarkUnverifiedRequest); i {
case 0:
return &v.state
case 1:
@@ -1256,7 +1496,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetRepositoryMetadataResponse); i {
+ switch v := v.(*MarkUnverifiedResponse); i {
case 0:
return &v.state
case 1:
@@ -1268,7 +1508,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SetReplicationFactorRequest); i {
+ switch v := v.(*GetRepositoryMetadataRequest); i {
case 0:
return &v.state
case 1:
@@ -1280,7 +1520,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SetReplicationFactorResponse); i {
+ switch v := v.(*GetRepositoryMetadataResponse); i {
case 0:
return &v.state
case 1:
@@ -1292,7 +1532,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SetAuthoritativeStorageRequest); i {
+ switch v := v.(*SetReplicationFactorRequest); i {
case 0:
return &v.state
case 1:
@@ -1304,7 +1544,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*SetAuthoritativeStorageResponse); i {
+ switch v := v.(*SetReplicationFactorResponse); i {
case 0:
return &v.state
case 1:
@@ -1316,7 +1556,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DatalossCheckRequest); i {
+ switch v := v.(*SetAuthoritativeStorageRequest); i {
case 0:
return &v.state
case 1:
@@ -1328,7 +1568,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DatalossCheckResponse); i {
+ switch v := v.(*SetAuthoritativeStorageResponse); i {
case 0:
return &v.state
case 1:
@@ -1340,7 +1580,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RepositoryReplicasRequest); i {
+ switch v := v.(*DatalossCheckRequest); i {
case 0:
return &v.state
case 1:
@@ -1352,7 +1592,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RepositoryReplicasResponse); i {
+ switch v := v.(*DatalossCheckResponse); i {
case 0:
return &v.state
case 1:
@@ -1364,7 +1604,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetRepositoryMetadataRequest_Path); i {
+ switch v := v.(*RepositoryReplicasRequest); i {
case 0:
return &v.state
case 1:
@@ -1376,7 +1616,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetRepositoryMetadataResponse_Replica); i {
+ switch v := v.(*RepositoryReplicasResponse); i {
case 0:
return &v.state
case 1:
@@ -1388,7 +1628,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DatalossCheckResponse_Repository); i {
+ switch v := v.(*MarkUnverifiedRequest_Storage); i {
case 0:
return &v.state
case 1:
@@ -1400,7 +1640,7 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*DatalossCheckResponse_Repository_Storage); i {
+ switch v := v.(*GetRepositoryMetadataRequest_Path); i {
case 0:
return &v.state
case 1:
@@ -1412,6 +1652,42 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetRepositoryMetadataResponse_Replica); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_praefect_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DatalossCheckResponse_Repository); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_praefect_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DatalossCheckResponse_Repository_Storage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_praefect_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RepositoryReplicasResponse_RepositoryDetails); i {
case 0:
return &v.state
@@ -1425,6 +1701,11 @@ func file_praefect_proto_init() {
}
}
file_praefect_proto_msgTypes[0].OneofWrappers = []interface{}{
+ (*MarkUnverifiedRequest_RepositoryId)(nil),
+ (*MarkUnverifiedRequest_VirtualStorage)(nil),
+ (*MarkUnverifiedRequest_Storage_)(nil),
+ }
+ file_praefect_proto_msgTypes[2].OneofWrappers = []interface{}{
(*GetRepositoryMetadataRequest_RepositoryId)(nil),
(*GetRepositoryMetadataRequest_Path_)(nil),
}
@@ -1434,7 +1715,7 @@ func file_praefect_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_praefect_proto_rawDesc,
NumEnums: 0,
- NumMessages: 15,
+ NumMessages: 18,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/proto/go/gitalypb/praefect_grpc.pb.go b/proto/go/gitalypb/praefect_grpc.pb.go
index e16d18b83..b01e699f6 100644
--- a/proto/go/gitalypb/praefect_grpc.pb.go
+++ b/proto/go/gitalypb/praefect_grpc.pb.go
@@ -25,6 +25,9 @@ type PraefectInfoServiceClient interface {
// This causes the current version of the repository on the authoritative storage to be considered the
// latest and overwrite any other version on the virtual storage.
SetAuthoritativeStorage(ctx context.Context, in *SetAuthoritativeStorageRequest, opts ...grpc.CallOption) (*SetAuthoritativeStorageResponse, error)
+ // MarkUnverified marks replicas as unverified. This will trigger verification as Praefect's metadata
+ // verifier prioritizes unverified replicas.
+ MarkUnverified(ctx context.Context, in *MarkUnverifiedRequest, opts ...grpc.CallOption) (*MarkUnverifiedResponse, error)
// SetReplicationFactor assigns or unassigns host nodes from the repository to meet the desired replication factor.
// SetReplicationFactor returns an error when trying to set a replication factor that exceeds the storage node count
// in the virtual storage. An error is also returned when trying to set a replication factor below one. The primary node
@@ -73,6 +76,15 @@ func (c *praefectInfoServiceClient) SetAuthoritativeStorage(ctx context.Context,
return out, nil
}
+func (c *praefectInfoServiceClient) MarkUnverified(ctx context.Context, in *MarkUnverifiedRequest, opts ...grpc.CallOption) (*MarkUnverifiedResponse, error) {
+ out := new(MarkUnverifiedResponse)
+ err := c.cc.Invoke(ctx, "/gitaly.PraefectInfoService/MarkUnverified", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *praefectInfoServiceClient) SetReplicationFactor(ctx context.Context, in *SetReplicationFactorRequest, opts ...grpc.CallOption) (*SetReplicationFactorResponse, error) {
out := new(SetReplicationFactorResponse)
err := c.cc.Invoke(ctx, "/gitaly.PraefectInfoService/SetReplicationFactor", in, out, opts...)
@@ -102,6 +114,9 @@ type PraefectInfoServiceServer interface {
// This causes the current version of the repository on the authoritative storage to be considered the
// latest and overwrite any other version on the virtual storage.
SetAuthoritativeStorage(context.Context, *SetAuthoritativeStorageRequest) (*SetAuthoritativeStorageResponse, error)
+ // MarkUnverified marks replicas as unverified. This will trigger verification as Praefect's metadata
+ // verifier prioritizes unverified replicas.
+ MarkUnverified(context.Context, *MarkUnverifiedRequest) (*MarkUnverifiedResponse, error)
// SetReplicationFactor assigns or unassigns host nodes from the repository to meet the desired replication factor.
// SetReplicationFactor returns an error when trying to set a replication factor that exceeds the storage node count
// in the virtual storage. An error is also returned when trying to set a replication factor below one. The primary node
@@ -129,6 +144,9 @@ func (UnimplementedPraefectInfoServiceServer) DatalossCheck(context.Context, *Da
func (UnimplementedPraefectInfoServiceServer) SetAuthoritativeStorage(context.Context, *SetAuthoritativeStorageRequest) (*SetAuthoritativeStorageResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SetAuthoritativeStorage not implemented")
}
+func (UnimplementedPraefectInfoServiceServer) MarkUnverified(context.Context, *MarkUnverifiedRequest) (*MarkUnverifiedResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method MarkUnverified not implemented")
+}
func (UnimplementedPraefectInfoServiceServer) SetReplicationFactor(context.Context, *SetReplicationFactorRequest) (*SetReplicationFactorResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SetReplicationFactor not implemented")
}
@@ -202,6 +220,24 @@ func _PraefectInfoService_SetAuthoritativeStorage_Handler(srv interface{}, ctx c
return interceptor(ctx, in, info, handler)
}
+func _PraefectInfoService_MarkUnverified_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(MarkUnverifiedRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(PraefectInfoServiceServer).MarkUnverified(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/gitaly.PraefectInfoService/MarkUnverified",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(PraefectInfoServiceServer).MarkUnverified(ctx, req.(*MarkUnverifiedRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _PraefectInfoService_SetReplicationFactor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SetReplicationFactorRequest)
if err := dec(in); err != nil {
@@ -258,6 +294,10 @@ var PraefectInfoService_ServiceDesc = grpc.ServiceDesc{
Handler: _PraefectInfoService_SetAuthoritativeStorage_Handler,
},
{
+ MethodName: "MarkUnverified",
+ Handler: _PraefectInfoService_MarkUnverified_Handler,
+ },
+ {
MethodName: "SetReplicationFactor",
Handler: _PraefectInfoService_SetReplicationFactor_Handler,
},
diff --git a/proto/praefect.proto b/proto/praefect.proto
index c26a22c20..2e913b99f 100644
--- a/proto/praefect.proto
+++ b/proto/praefect.proto
@@ -21,6 +21,10 @@ service PraefectInfoService {
// latest and overwrite any other version on the virtual storage.
rpc SetAuthoritativeStorage(SetAuthoritativeStorageRequest) returns (SetAuthoritativeStorageResponse);
+ // MarkUnverified marks replicas as unverified. This will trigger verification as Praefect's metadata
+ // verifier prioritizes unverified replicas.
+ rpc MarkUnverified(MarkUnverifiedRequest) returns (MarkUnverifiedResponse);
+
// SetReplicationFactor assigns or unassigns host nodes from the repository to meet the desired replication factor.
// SetReplicationFactor returns an error when trying to set a replication factor that exceeds the storage node count
// in the virtual storage. An error is also returned when trying to set a replication factor below one. The primary node
@@ -34,6 +38,34 @@ service PraefectInfoService {
rpc GetRepositoryMetadata(GetRepositoryMetadataRequest) returns (GetRepositoryMetadataResponse);
}
+// MarkUnverifiedRequest specifies the replicas which to mark unverified.
+message MarkUnverifiedRequest {
+ // Storage identifies a single storage in a virtual storage.
+ message Storage {
+ // virtual_storage is the virtual storage the storage is part of.
+ string virtual_storage = 1;
+ // storage is the name of the storage.
+ string storage = 2;
+ }
+
+ // selector specifies the replicas which to mark unverified.
+ oneof selector {
+ // repository_id is the id of a repository to mark all replicas for unverified.
+ int64 repository_id = 1;
+ // virtual_storage is the name of virtual storage which will have all of its replicas
+ // marked unverified.
+ string virtual_storage = 2;
+ // storage specifies a single storage. The replicas on the storage marked unverified.
+ Storage storage = 3;
+ }
+}
+
+// MarkUnverifiedResponse returns the number of replicas marked unverified.
+message MarkUnverifiedResponse {
+ // replicas_marked indicates the number of replicas that were marked unverified.
+ int64 replicas_marked = 1;
+}
+
// GetRepositoryMetadataRequest specifies the repository to retrieve metadata for.
message GetRepositoryMetadataRequest {
message Path {
diff --git a/ruby/proto/gitaly/praefect_pb.rb b/ruby/proto/gitaly/praefect_pb.rb
index 918674133..143db977d 100644
--- a/ruby/proto/gitaly/praefect_pb.rb
+++ b/ruby/proto/gitaly/praefect_pb.rb
@@ -8,6 +8,20 @@ require 'google/protobuf'
Google::Protobuf::DescriptorPool.generated_pool.build do
add_file("praefect.proto", :syntax => :proto3) do
+ add_message "gitaly.MarkUnverifiedRequest" do
+ oneof :selector do
+ optional :repository_id, :int64, 1
+ optional :virtual_storage, :string, 2
+ optional :storage, :message, 3, "gitaly.MarkUnverifiedRequest.Storage"
+ end
+ end
+ add_message "gitaly.MarkUnverifiedRequest.Storage" do
+ optional :virtual_storage, :string, 1
+ optional :storage, :string, 2
+ end
+ add_message "gitaly.MarkUnverifiedResponse" do
+ optional :replicas_marked, :int64, 1
+ end
add_message "gitaly.GetRepositoryMetadataRequest" do
oneof :query do
optional :repository_id, :int64, 1
@@ -85,6 +99,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
end
module Gitaly
+ MarkUnverifiedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.MarkUnverifiedRequest").msgclass
+ MarkUnverifiedRequest::Storage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.MarkUnverifiedRequest.Storage").msgclass
+ MarkUnverifiedResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.MarkUnverifiedResponse").msgclass
GetRepositoryMetadataRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.GetRepositoryMetadataRequest").msgclass
GetRepositoryMetadataRequest::Path = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.GetRepositoryMetadataRequest.Path").msgclass
GetRepositoryMetadataResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("gitaly.GetRepositoryMetadataResponse").msgclass
diff --git a/ruby/proto/gitaly/praefect_services_pb.rb b/ruby/proto/gitaly/praefect_services_pb.rb
index 6f5629392..319feaaee 100644
--- a/ruby/proto/gitaly/praefect_services_pb.rb
+++ b/ruby/proto/gitaly/praefect_services_pb.rb
@@ -21,6 +21,9 @@ module Gitaly
# This causes the current version of the repository on the authoritative storage to be considered the
# latest and overwrite any other version on the virtual storage.
rpc :SetAuthoritativeStorage, ::Gitaly::SetAuthoritativeStorageRequest, ::Gitaly::SetAuthoritativeStorageResponse
+ # MarkUnverified marks replicas as unverified. This will trigger verification as Praefect's metadata
+ # verifier prioritizes unverified replicas.
+ rpc :MarkUnverified, ::Gitaly::MarkUnverifiedRequest, ::Gitaly::MarkUnverifiedResponse
# SetReplicationFactor assigns or unassigns host nodes from the repository to meet the desired replication factor.
# SetReplicationFactor returns an error when trying to set a replication factor that exceeds the storage node count
# in the virtual storage. An error is also returned when trying to set a replication factor below one. The primary node