diff --git a/go/info/edge_node_cluster.pb.go b/go/info/edge_node_cluster.pb.go index 438faed..0de89b4 100644 --- a/go/info/edge_node_cluster.pb.go +++ b/go/info/edge_node_cluster.pb.go @@ -338,6 +338,9 @@ const ( StorageVolumeReplicaStatus_STORAGE_VOLUME_REPLICA_STATUS_REBUILDING StorageVolumeReplicaStatus = 1 StorageVolumeReplicaStatus_STORAGE_VOLUME_REPLICA_STATUS_ONLINE StorageVolumeReplicaStatus = 2 StorageVolumeReplicaStatus_STORAGE_VOLUME_REPLICA_STATUS_FAILED StorageVolumeReplicaStatus = 3 // Replacement/Rebuilt replica not yet scheduled. + StorageVolumeReplicaStatus_STORAGE_VOLUME_REPLICA_STATUS_OFFLINE StorageVolumeReplicaStatus = 4 + StorageVolumeReplicaStatus_STORAGE_VOLUME_REPLICA_STATUS_STARTING StorageVolumeReplicaStatus = 5 + StorageVolumeReplicaStatus_STORAGE_VOLUME_REPLICA_STATUS_STOPPING StorageVolumeReplicaStatus = 6 ) // Enum value maps for StorageVolumeReplicaStatus. @@ -347,12 +350,18 @@ var ( 1: "STORAGE_VOLUME_REPLICA_STATUS_REBUILDING", 2: "STORAGE_VOLUME_REPLICA_STATUS_ONLINE", 3: "STORAGE_VOLUME_REPLICA_STATUS_FAILED", + 4: "STORAGE_VOLUME_REPLICA_STATUS_OFFLINE", + 5: "STORAGE_VOLUME_REPLICA_STATUS_STARTING", + 6: "STORAGE_VOLUME_REPLICA_STATUS_STOPPING", } StorageVolumeReplicaStatus_value = map[string]int32{ "STORAGE_VOLUME_REPLICA_STATUS_UNSPECIFIED": 0, "STORAGE_VOLUME_REPLICA_STATUS_REBUILDING": 1, "STORAGE_VOLUME_REPLICA_STATUS_ONLINE": 2, "STORAGE_VOLUME_REPLICA_STATUS_FAILED": 3, + "STORAGE_VOLUME_REPLICA_STATUS_OFFLINE": 4, + "STORAGE_VOLUME_REPLICA_STATUS_STARTING": 5, + "STORAGE_VOLUME_REPLICA_STATUS_STOPPING": 6, } ) @@ -455,6 +464,62 @@ func (KubePodStatus) EnumDescriptor() ([]byte, []int) { return file_info_edge_node_cluster_proto_rawDescGZIP(), []int{6} } +// ServiceStatus denotes a cluster wide +// +// infrastructure component's health. +// eg. a daemonset which requires pods on multiple nodes +type ServiceStatus int32 + +const ( + ServiceStatus_SERVICE_STATUS_UNSPECIFIED ServiceStatus = 0 + ServiceStatus_SERVICE_STATUS_FAILED ServiceStatus = 1 + ServiceStatus_SERVICE_STATUS_DEGRADED ServiceStatus = 2 + ServiceStatus_SERVICE_STATUS_HEALTHY ServiceStatus = 3 +) + +// Enum value maps for ServiceStatus. +var ( + ServiceStatus_name = map[int32]string{ + 0: "SERVICE_STATUS_UNSPECIFIED", + 1: "SERVICE_STATUS_FAILED", + 2: "SERVICE_STATUS_DEGRADED", + 3: "SERVICE_STATUS_HEALTHY", + } + ServiceStatus_value = map[string]int32{ + "SERVICE_STATUS_UNSPECIFIED": 0, + "SERVICE_STATUS_FAILED": 1, + "SERVICE_STATUS_DEGRADED": 2, + "SERVICE_STATUS_HEALTHY": 3, + } +) + +func (x ServiceStatus) Enum() *ServiceStatus { + p := new(ServiceStatus) + *p = x + return p +} + +func (x ServiceStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ServiceStatus) Descriptor() protoreflect.EnumDescriptor { + return file_info_edge_node_cluster_proto_enumTypes[7].Descriptor() +} + +func (ServiceStatus) Type() protoreflect.EnumType { + return &file_info_edge_node_cluster_proto_enumTypes[7] +} + +func (x ServiceStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ServiceStatus.Descriptor instead. +func (ServiceStatus) EnumDescriptor() ([]byte, []int) { + return file_info_edge_node_cluster_proto_rawDescGZIP(), []int{7} +} + // KubeCompUpdateStatus will track status of each // // KubeComp which will update serially in a cluster. @@ -500,11 +565,11 @@ func (x KubeCompUpdateStatus) String() string { } func (KubeCompUpdateStatus) Descriptor() protoreflect.EnumDescriptor { - return file_info_edge_node_cluster_proto_enumTypes[7].Descriptor() + return file_info_edge_node_cluster_proto_enumTypes[8].Descriptor() } func (KubeCompUpdateStatus) Type() protoreflect.EnumType { - return &file_info_edge_node_cluster_proto_enumTypes[7] + return &file_info_edge_node_cluster_proto_enumTypes[8] } func (x KubeCompUpdateStatus) Number() protoreflect.EnumNumber { @@ -513,7 +578,7 @@ func (x KubeCompUpdateStatus) Number() protoreflect.EnumNumber { // Deprecated: Use KubeCompUpdateStatus.Descriptor instead. func (KubeCompUpdateStatus) EnumDescriptor() ([]byte, []int) { - return file_info_edge_node_cluster_proto_rawDescGZIP(), []int{7} + return file_info_edge_node_cluster_proto_rawDescGZIP(), []int{8} } // KubeComp is a component installed in eve after usb install. @@ -564,11 +629,11 @@ func (x KubeComp) String() string { } func (KubeComp) Descriptor() protoreflect.EnumDescriptor { - return file_info_edge_node_cluster_proto_enumTypes[8].Descriptor() + return file_info_edge_node_cluster_proto_enumTypes[9].Descriptor() } func (KubeComp) Type() protoreflect.EnumType { - return &file_info_edge_node_cluster_proto_enumTypes[8] + return &file_info_edge_node_cluster_proto_enumTypes[9] } func (x KubeComp) Number() protoreflect.EnumNumber { @@ -577,7 +642,7 @@ func (x KubeComp) Number() protoreflect.EnumNumber { // Deprecated: Use KubeComp.Descriptor instead. func (KubeComp) EnumDescriptor() ([]byte, []int) { - return file_info_edge_node_cluster_proto_rawDescGZIP(), []int{8} + return file_info_edge_node_cluster_proto_rawDescGZIP(), []int{9} } type KubeNodeCondition struct { @@ -1015,7 +1080,7 @@ type KubeVolumeInfo struct { // Name of the volume Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Status of the volume + // Status of the volume attachment State StorageVolumeState `protobuf:"varint,2,opt,name=state,proto3,enum=org.lfedge.eve.info.StorageVolumeState" json:"state,omitempty"` // Robustness of the volume Robustness StorageVolumeRobustness `protobuf:"varint,3,opt,name=robustness,proto3,enum=org.lfedge.eve.info.StorageVolumeRobustness" json:"robustness,omitempty"` @@ -1029,6 +1094,8 @@ type KubeVolumeInfo struct { PvcStatus StorageVolumePVCStatus `protobuf:"varint,7,opt,name=pvc_status,json=pvcStatus,proto3,enum=org.lfedge.eve.info.StorageVolumePVCStatus" json:"pvc_status,omitempty"` // Replicas of the volume Replica []*KubeVolumeReplicaInfo `protobuf:"bytes,8,rep,name=replica,proto3" json:"replica,omitempty"` + // Robustness substate of the replication status of the volume + RobustnessSubstate StorageHealthStatus `protobuf:"varint,9,opt,name=robustness_substate,json=robustnessSubstate,proto3,enum=org.lfedge.eve.info.StorageHealthStatus" json:"robustness_substate,omitempty"` } func (x *KubeVolumeInfo) Reset() { @@ -1119,13 +1186,20 @@ func (x *KubeVolumeInfo) GetReplica() []*KubeVolumeReplicaInfo { return nil } +func (x *KubeVolumeInfo) GetRobustnessSubstate() StorageHealthStatus { + if x != nil { + return x.RobustnessSubstate + } + return StorageHealthStatus_STORAGE_HEALTH_STATUS_UNSPECIFIED +} + type KubeStorageInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Overall status of Longhorn - Health StorageHealthStatus `protobuf:"varint,1,opt,name=health,proto3,enum=org.lfedge.eve.info.StorageHealthStatus" json:"health,omitempty"` + // Health of the distributes storage services + Health ServiceStatus `protobuf:"varint,1,opt,name=health,proto3,enum=org.lfedge.eve.info.ServiceStatus" json:"health,omitempty"` // Time of the most recent health status transition TransitionTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=transition_time,json=transitionTime,proto3" json:"transition_time,omitempty"` // Status of all the volumes in Longhorn @@ -1164,11 +1238,11 @@ func (*KubeStorageInfo) Descriptor() ([]byte, []int) { return file_info_edge_node_cluster_proto_rawDescGZIP(), []int{6} } -func (x *KubeStorageInfo) GetHealth() StorageHealthStatus { +func (x *KubeStorageInfo) GetHealth() ServiceStatus { if x != nil { return x.Health } - return StorageHealthStatus_STORAGE_HEALTH_STATUS_UNSPECIFIED + return ServiceStatus_SERVICE_STATUS_UNSPECIFIED } func (x *KubeStorageInfo) GetTransitionTime() *timestamppb.Timestamp { @@ -1271,7 +1345,7 @@ var file_info_edge_node_cluster_proto_rawDesc = []byte{ 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0xe4, 0x03, 0x0a, 0x0e, 0x4b, 0x75, 0x62, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x75, 0x73, 0x22, 0xbf, 0x04, 0x0a, 0x0e, 0x4b, 0x75, 0x62, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, @@ -1301,173 +1375,195 @@ var file_info_edge_node_cluster_proto_rawDesc = []byte{ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x22, 0xd7, 0x01, 0x0a, 0x0f, 0x4b, 0x75, - 0x62, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, - 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, - 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, - 0x43, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x02, 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, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, 0x64, - 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x4b, 0x75, 0x62, 0x65, - 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x73, 0x2a, 0x98, 0x02, 0x0a, 0x15, 0x4b, 0x75, 0x62, 0x65, 0x4e, 0x6f, 0x64, 0x65, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, - 0x24, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x4b, 0x55, 0x42, 0x45, 0x5f, - 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x4b, - 0x55, 0x42, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x4d, 0x4f, 0x52, 0x59, 0x5f, 0x50, - 0x52, 0x45, 0x53, 0x53, 0x55, 0x52, 0x45, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, 0x4b, 0x55, 0x42, - 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x53, - 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x4e, 0x4f, - 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x50, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x53, 0x55, 0x52, 0x45, 0x10, 0x04, + 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x12, 0x59, 0x0a, 0x13, 0x72, 0x6f, 0x62, + 0x75, 0x73, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x12, 0x72, 0x6f, 0x62, 0x75, 0x73, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x75, 0x62, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x0f, 0x4b, 0x75, 0x62, 0x65, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, + 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x12, 0x43, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x72, 0x67, + 0x2e, 0x6c, 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x2a, 0x98, 0x02, 0x0a, 0x15, 0x4b, 0x75, 0x62, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, + 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, + 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, - 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x45, 0x54, - 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x10, 0x05, 0x2a, 0x99, - 0x03, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, - 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, - 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, - 0x12, 0x42, 0x0a, 0x3e, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, - 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, - 0x45, 0x44, 0x5f, 0x32, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x41, 0x56, 0x41, - 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4e, 0x47, 0x10, 0x02, 0x12, 0x46, 0x0a, 0x42, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, - 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, - 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x5f, 0x32, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, - 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, - 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x42, 0x0a, 0x3e, - 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x5f, 0x31, - 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, - 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, - 0x12, 0x46, 0x0a, 0x42, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, - 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, - 0x45, 0x44, 0x5f, 0x31, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x41, 0x56, 0x41, - 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x54, 0x4f, 0x52, - 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x2a, 0x8e, 0x02, 0x0a, 0x12, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, - 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, - 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x02, 0x12, 0x21, 0x0a, + 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x4d, + 0x4f, 0x52, 0x59, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x53, 0x55, 0x52, 0x45, 0x10, 0x02, 0x12, 0x2a, + 0x0a, 0x26, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, + 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x5f, + 0x50, 0x52, 0x45, 0x53, 0x53, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, 0x4b, 0x55, + 0x42, 0x45, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x49, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x53, + 0x55, 0x52, 0x45, 0x10, 0x04, 0x12, 0x2c, 0x0a, 0x28, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x4e, 0x4f, + 0x44, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, + 0x4c, 0x10, 0x05, 0x2a, 0x99, 0x03, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x53, + 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, + 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x4c, + 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x42, 0x0a, 0x3e, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, + 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, + 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x5f, 0x32, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, + 0x41, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, + 0x49, 0x43, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x46, 0x0a, 0x42, 0x53, 0x54, 0x4f, + 0x52, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x5f, 0x32, 0x5f, 0x52, 0x45, + 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0x03, 0x12, 0x42, 0x0a, 0x3e, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x41, + 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, + 0x44, 0x45, 0x44, 0x5f, 0x31, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x41, 0x56, + 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x46, 0x0a, 0x42, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, + 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, + 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x5f, 0x31, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, + 0x41, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x20, 0x0a, + 0x1c, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x06, 0x2a, + 0x8e, 0x02, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, + 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, + 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, + 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, + 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, + 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x43, + 0x48, 0x45, 0x44, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, + 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x54, + 0x54, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x54, 0x4f, + 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x43, 0x48, 0x45, 0x44, 0x10, 0x03, - 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, - 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x49, - 0x4e, 0x47, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, - 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x54, - 0x41, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x54, 0x4f, 0x52, - 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x2a, 0xba, 0x01, 0x0a, 0x17, - 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x6f, 0x62, - 0x75, 0x73, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x54, 0x4f, 0x52, 0x41, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x06, + 0x2a, 0xba, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x52, 0x6f, 0x62, 0x75, 0x73, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x25, + 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, + 0x4f, 0x42, 0x55, 0x53, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x4f, 0x42, 0x55, 0x53, 0x54, - 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, - 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x4f, 0x42, 0x55, 0x53, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, - 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x4f, - 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x4f, 0x42, 0x55, - 0x53, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, - 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x4f, 0x42, 0x55, 0x53, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x46, - 0x41, 0x55, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x86, 0x02, 0x0a, 0x16, 0x53, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, 0x56, 0x43, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, - 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x50, 0x56, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x23, - 0x0a, 0x1f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, - 0x5f, 0x50, 0x56, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x55, 0x4e, - 0x44, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, + 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x26, + 0x0a, 0x22, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, + 0x5f, 0x52, 0x4f, 0x42, 0x55, 0x53, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, + 0x41, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, + 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x4f, 0x42, 0x55, 0x53, 0x54, 0x4e, + 0x45, 0x53, 0x53, 0x5f, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x86, 0x02, + 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, + 0x56, 0x43, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x54, 0x4f, 0x52, + 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x50, 0x56, 0x43, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x50, 0x56, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x54, - 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x50, 0x56, 0x43, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, - 0x45, 0x10, 0x03, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, - 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x50, 0x56, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x44, 0x10, 0x04, 0x12, 0x24, 0x0a, 0x20, 0x53, - 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x50, 0x56, - 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, - 0x05, 0x2a, 0xcd, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x56, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x2d, 0x0a, 0x29, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, - 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x2c, 0x0a, 0x28, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, - 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x52, 0x45, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x28, 0x0a, - 0x24, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, - 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, - 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, - 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, - 0x03, 0x2a, 0xac, 0x02, 0x0a, 0x0d, 0x4b, 0x75, 0x62, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, + 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x54, 0x4f, 0x52, + 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x50, 0x56, 0x43, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, + 0x27, 0x0a, 0x23, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, + 0x45, 0x5f, 0x50, 0x56, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x56, 0x41, + 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x54, 0x4f, 0x52, + 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x50, 0x56, 0x43, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x44, 0x10, 0x04, + 0x12, 0x24, 0x0a, 0x20, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, + 0x4d, 0x45, 0x5f, 0x50, 0x56, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x2a, 0xd0, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x0a, 0x29, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, + 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1d, - 0x0a, 0x19, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x26, 0x0a, - 0x22, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, - 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, - 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x52, 0x41, 0x53, 0x48, 0x4c, 0x4f, - 0x4f, 0x50, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x4f, 0x46, 0x46, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x2c, 0x0a, 0x28, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, + 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, + 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x28, 0x0a, 0x24, + 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, + 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, + 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, + 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, + 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x2a, 0x0a, + 0x26, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x56, 0x4f, 0x4c, 0x55, 0x4d, 0x45, 0x5f, + 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, + 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x2a, 0xac, 0x02, 0x0a, 0x0d, 0x4b, 0x75, + 0x62, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x4b, + 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x1b, 0x0a, 0x17, 0x4b, 0x55, 0x42, 0x45, 0x5f, - 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x56, 0x49, 0x43, 0x54, - 0x45, 0x44, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x08, - 0x2a, 0x86, 0x02, 0x0a, 0x14, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x23, 0x4b, 0x55, 0x42, - 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, - 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x4b, 0x55, 0x42, 0x45, - 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, - 0x4d, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x22, - 0x0a, 0x1e, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, - 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x2a, 0xab, 0x01, 0x0a, 0x08, 0x4b, 0x75, - 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, - 0x4f, 0x4d, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x18, 0x0a, 0x14, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x43, - 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x44, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4b, - 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x4b, 0x33, 0x53, 0x10, 0x02, 0x12, 0x14, - 0x0a, 0x10, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x4d, 0x55, 0x4c, 0x54, - 0x55, 0x53, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, - 0x50, 0x5f, 0x4b, 0x55, 0x42, 0x45, 0x56, 0x49, 0x52, 0x54, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, - 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x43, 0x44, 0x49, 0x10, 0x05, 0x12, - 0x16, 0x0a, 0x12, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x4c, 0x4f, 0x4e, - 0x47, 0x48, 0x4f, 0x52, 0x4e, 0x10, 0x06, 0x42, 0x39, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x6c, - 0x66, 0x65, 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x5a, 0x22, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x66, 0x2d, 0x65, 0x64, - 0x67, 0x65, 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, - 0x66, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x4b, 0x55, 0x42, + 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, + 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, + 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, + 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x26, 0x0a, 0x22, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, + 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x25, 0x0a, + 0x21, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x43, 0x52, 0x41, 0x53, 0x48, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x4f, + 0x46, 0x46, 0x10, 0x05, 0x12, 0x19, 0x0a, 0x15, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, + 0x1b, 0x0a, 0x17, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x45, 0x56, 0x49, 0x43, 0x54, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, + 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x08, 0x2a, 0x83, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, + 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, + 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x47, 0x52, 0x41, 0x44, 0x45, 0x44, + 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x03, 0x2a, 0x86, + 0x02, 0x0a, 0x14, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x23, 0x4b, 0x55, 0x42, 0x45, 0x5f, + 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x24, 0x0a, 0x20, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, + 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, + 0x4f, 0x4d, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, + 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, + 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x22, 0x0a, 0x1e, + 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, + 0x12, 0x25, 0x0a, 0x21, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, + 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x2a, 0xab, 0x01, 0x0a, 0x08, 0x4b, 0x75, 0x62, 0x65, + 0x43, 0x6f, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x15, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, + 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x18, 0x0a, 0x14, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x44, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4b, 0x55, 0x42, + 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x4b, 0x33, 0x53, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, + 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x55, 0x53, + 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, + 0x4b, 0x55, 0x42, 0x45, 0x56, 0x49, 0x52, 0x54, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x4b, 0x55, + 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x43, 0x44, 0x49, 0x10, 0x05, 0x12, 0x16, 0x0a, + 0x12, 0x4b, 0x55, 0x42, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x48, + 0x4f, 0x52, 0x4e, 0x10, 0x06, 0x42, 0x39, 0x0a, 0x13, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x66, 0x65, + 0x64, 0x67, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x5a, 0x22, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x66, 0x2d, 0x65, 0x64, 0x67, 0x65, + 0x2f, 0x65, 0x76, 0x65, 0x2d, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x6e, 0x66, 0x6f, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1482,7 +1578,7 @@ func file_info_edge_node_cluster_proto_rawDescGZIP() []byte { return file_info_edge_node_cluster_proto_rawDescData } -var file_info_edge_node_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 9) +var file_info_edge_node_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 10) var file_info_edge_node_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_info_edge_node_cluster_proto_goTypes = []interface{}{ (KubeNodeConditionType)(0), // 0: org.lfedge.eve.info.KubeNodeConditionType @@ -1492,38 +1588,40 @@ var file_info_edge_node_cluster_proto_goTypes = []interface{}{ (StorageVolumePVCStatus)(0), // 4: org.lfedge.eve.info.StorageVolumePVCStatus (StorageVolumeReplicaStatus)(0), // 5: org.lfedge.eve.info.StorageVolumeReplicaStatus (KubePodStatus)(0), // 6: org.lfedge.eve.info.KubePodStatus - (KubeCompUpdateStatus)(0), // 7: org.lfedge.eve.info.KubeCompUpdateStatus - (KubeComp)(0), // 8: org.lfedge.eve.info.KubeComp - (*KubeNodeCondition)(nil), // 9: org.lfedge.eve.info.KubeNodeCondition - (*KubeNodeInfo)(nil), // 10: org.lfedge.eve.info.KubeNodeInfo - (*KubePodNameSpaceInfo)(nil), // 11: org.lfedge.eve.info.KubePodNameSpaceInfo - (*KubeEVEAppPodInfo)(nil), // 12: org.lfedge.eve.info.KubeEVEAppPodInfo - (*KubeVolumeReplicaInfo)(nil), // 13: org.lfedge.eve.info.KubeVolumeReplicaInfo - (*KubeVolumeInfo)(nil), // 14: org.lfedge.eve.info.KubeVolumeInfo - (*KubeStorageInfo)(nil), // 15: org.lfedge.eve.info.KubeStorageInfo - (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp + (ServiceStatus)(0), // 7: org.lfedge.eve.info.ServiceStatus + (KubeCompUpdateStatus)(0), // 8: org.lfedge.eve.info.KubeCompUpdateStatus + (KubeComp)(0), // 9: org.lfedge.eve.info.KubeComp + (*KubeNodeCondition)(nil), // 10: org.lfedge.eve.info.KubeNodeCondition + (*KubeNodeInfo)(nil), // 11: org.lfedge.eve.info.KubeNodeInfo + (*KubePodNameSpaceInfo)(nil), // 12: org.lfedge.eve.info.KubePodNameSpaceInfo + (*KubeEVEAppPodInfo)(nil), // 13: org.lfedge.eve.info.KubeEVEAppPodInfo + (*KubeVolumeReplicaInfo)(nil), // 14: org.lfedge.eve.info.KubeVolumeReplicaInfo + (*KubeVolumeInfo)(nil), // 15: org.lfedge.eve.info.KubeVolumeInfo + (*KubeStorageInfo)(nil), // 16: org.lfedge.eve.info.KubeStorageInfo + (*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp } var file_info_edge_node_cluster_proto_depIdxs = []int32{ 0, // 0: org.lfedge.eve.info.KubeNodeCondition.type:type_name -> org.lfedge.eve.info.KubeNodeConditionType - 9, // 1: org.lfedge.eve.info.KubeNodeInfo.conditions:type_name -> org.lfedge.eve.info.KubeNodeCondition - 16, // 2: org.lfedge.eve.info.KubeNodeInfo.creation_timestamp:type_name -> google.protobuf.Timestamp + 10, // 1: org.lfedge.eve.info.KubeNodeInfo.conditions:type_name -> org.lfedge.eve.info.KubeNodeCondition + 17, // 2: org.lfedge.eve.info.KubeNodeInfo.creation_timestamp:type_name -> google.protobuf.Timestamp 6, // 3: org.lfedge.eve.info.KubeEVEAppPodInfo.status:type_name -> org.lfedge.eve.info.KubePodStatus - 16, // 4: org.lfedge.eve.info.KubeEVEAppPodInfo.restart_timestamp:type_name -> google.protobuf.Timestamp - 16, // 5: org.lfedge.eve.info.KubeEVEAppPodInfo.creation_timestamp:type_name -> google.protobuf.Timestamp + 17, // 4: org.lfedge.eve.info.KubeEVEAppPodInfo.restart_timestamp:type_name -> google.protobuf.Timestamp + 17, // 5: org.lfedge.eve.info.KubeEVEAppPodInfo.creation_timestamp:type_name -> google.protobuf.Timestamp 5, // 6: org.lfedge.eve.info.KubeVolumeReplicaInfo.status:type_name -> org.lfedge.eve.info.StorageVolumeReplicaStatus 2, // 7: org.lfedge.eve.info.KubeVolumeInfo.state:type_name -> org.lfedge.eve.info.StorageVolumeState 3, // 8: org.lfedge.eve.info.KubeVolumeInfo.robustness:type_name -> org.lfedge.eve.info.StorageVolumeRobustness - 16, // 9: org.lfedge.eve.info.KubeVolumeInfo.creation_timestamp:type_name -> google.protobuf.Timestamp + 17, // 9: org.lfedge.eve.info.KubeVolumeInfo.creation_timestamp:type_name -> google.protobuf.Timestamp 4, // 10: org.lfedge.eve.info.KubeVolumeInfo.pvc_status:type_name -> org.lfedge.eve.info.StorageVolumePVCStatus - 13, // 11: org.lfedge.eve.info.KubeVolumeInfo.replica:type_name -> org.lfedge.eve.info.KubeVolumeReplicaInfo - 1, // 12: org.lfedge.eve.info.KubeStorageInfo.health:type_name -> org.lfedge.eve.info.StorageHealthStatus - 16, // 13: org.lfedge.eve.info.KubeStorageInfo.transition_time:type_name -> google.protobuf.Timestamp - 14, // 14: org.lfedge.eve.info.KubeStorageInfo.volumes:type_name -> org.lfedge.eve.info.KubeVolumeInfo - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 14, // 11: org.lfedge.eve.info.KubeVolumeInfo.replica:type_name -> org.lfedge.eve.info.KubeVolumeReplicaInfo + 1, // 12: org.lfedge.eve.info.KubeVolumeInfo.robustness_substate:type_name -> org.lfedge.eve.info.StorageHealthStatus + 7, // 13: org.lfedge.eve.info.KubeStorageInfo.health:type_name -> org.lfedge.eve.info.ServiceStatus + 17, // 14: org.lfedge.eve.info.KubeStorageInfo.transition_time:type_name -> google.protobuf.Timestamp + 15, // 15: org.lfedge.eve.info.KubeStorageInfo.volumes:type_name -> org.lfedge.eve.info.KubeVolumeInfo + 16, // [16:16] is the sub-list for method output_type + 16, // [16:16] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_info_edge_node_cluster_proto_init() } @@ -1622,7 +1720,7 @@ func file_info_edge_node_cluster_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_info_edge_node_cluster_proto_rawDesc, - NumEnums: 9, + NumEnums: 10, NumMessages: 7, NumExtensions: 0, NumServices: 0, diff --git a/proto/info/edge_node_cluster.proto b/proto/info/edge_node_cluster.proto index e680579..47292fc 100644 --- a/proto/info/edge_node_cluster.proto +++ b/proto/info/edge_node_cluster.proto @@ -102,6 +102,9 @@ enum StorageVolumeReplicaStatus { STORAGE_VOLUME_REPLICA_STATUS_REBUILDING = 1; STORAGE_VOLUME_REPLICA_STATUS_ONLINE = 2; STORAGE_VOLUME_REPLICA_STATUS_FAILED = 3; // Replacement/Rebuilt replica not yet scheduled. + STORAGE_VOLUME_REPLICA_STATUS_OFFLINE = 4; + STORAGE_VOLUME_REPLICA_STATUS_STARTING = 5; + STORAGE_VOLUME_REPLICA_STATUS_STOPPING = 6; } message KubePodNameSpaceInfo { @@ -181,7 +184,7 @@ message KubeVolumeInfo { // Name of the volume string name = 1; - // Status of the volume + // Status of the volume attachment StorageVolumeState state = 2; // Robustness of the volume @@ -201,11 +204,24 @@ message KubeVolumeInfo { // Replicas of the volume repeated KubeVolumeReplicaInfo replica = 8; + + // Robustness substate of the replication status of the volume + StorageHealthStatus robustness_substate = 9; +} + +// ServiceStatus denotes a cluster wide +// infrastructure component's health. +// eg. a daemonset which requires pods on multiple nodes +enum ServiceStatus { + SERVICE_STATUS_UNSPECIFIED = 0; + SERVICE_STATUS_FAILED = 1; + SERVICE_STATUS_DEGRADED = 2; + SERVICE_STATUS_HEALTHY = 3; } message KubeStorageInfo { - // Overall status of Longhorn - StorageHealthStatus health = 1; + // Health of the distributes storage services + ServiceStatus health = 1; // Time of the most recent health status transition google.protobuf.Timestamp transition_time = 2; diff --git a/python/info/edge_node_cluster_pb2.py b/python/info/edge_node_cluster_pb2.py index 98f4e34..c7b0eb9 100644 --- a/python/info/edge_node_cluster_pb2.py +++ b/python/info/edge_node_cluster_pb2.py @@ -14,7 +14,7 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cinfo/edge_node_cluster.proto\x12\x13org.lfedge.eve.info\x1a\x1fgoogle/protobuf/timestamp.proto\"Z\n\x11KubeNodeCondition\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.org.lfedge.eve.info.KubeNodeConditionType\x12\x0b\n\x03set\x18\x02 \x01(\x08\"\xeb\x01\n\x0cKubeNodeInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12:\n\nconditions\x18\x02 \x03(\x0b\x32&.org.lfedge.eve.info.KubeNodeCondition\x12\x13\n\x0brole_server\x18\x03 \x01(\x08\x12\x36\n\x12\x63reation_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x12\x61pi_server_sersion\x18\x05 \x01(\t\x12\x13\n\x0binternal_ip\x18\x06 \x01(\t\x12\x13\n\x0bschedulable\x18\x07 \x01(\x08\"\xa4\x01\n\x14KubePodNameSpaceInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tpod_count\x18\x02 \x01(\r\x12\x19\n\x11pod_running_count\x18\x03 \x01(\r\x12\x19\n\x11pod_pending_count\x18\x04 \x01(\r\x12\x18\n\x10pod_failed_count\x18\x05 \x01(\r\x12\x1b\n\x13pod_succeeded_count\x18\x06 \x01(\r\"\x82\x02\n\x11KubeEVEAppPodInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".org.lfedge.eve.info.KubePodStatus\x12\x15\n\rrestart_count\x18\x03 \x01(\r\x12\x35\n\x11restart_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x12\x63reation_timestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nip_address\x18\x06 \x01(\t\x12\x11\n\tnode_name\x18\x07 \x01(\t\"\x9f\x01\n\x15KubeVolumeReplicaInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nowner_node\x18\x02 \x01(\t\x12#\n\x1brebuild_progress_percentage\x18\x03 \x01(\r\x12?\n\x06status\x18\x04 \x01(\x0e\x32/.org.lfedge.eve.info.StorageVolumeReplicaStatus\"\x82\x03\n\x0eKubeVolumeInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x05state\x18\x02 \x01(\x0e\x32\'.org.lfedge.eve.info.StorageVolumeState\x12@\n\nrobustness\x18\x03 \x01(\x0e\x32,.org.lfedge.eve.info.StorageVolumeRobustness\x12\x36\n\x12\x63reation_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11provisioned_bytes\x18\x05 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x06 \x01(\x04\x12?\n\npvc_status\x18\x07 \x01(\x0e\x32+.org.lfedge.eve.info.StorageVolumePVCStatus\x12;\n\x07replica\x18\x08 \x03(\x0b\x32*.org.lfedge.eve.info.KubeVolumeReplicaInfo\"\xb6\x01\n\x0fKubeStorageInfo\x12\x38\n\x06health\x18\x01 \x01(\x0e\x32(.org.lfedge.eve.info.StorageHealthStatus\x12\x33\n\x0ftransition_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x07volumes\x18\x03 \x03(\x0b\x32#.org.lfedge.eve.info.KubeVolumeInfo*\x98\x02\n\x15KubeNodeConditionType\x12(\n$KUBE_NODE_CONDITION_TYPE_UNSPECIFIED\x10\x00\x12\"\n\x1eKUBE_NODE_CONDITION_TYPE_READY\x10\x01\x12,\n(KUBE_NODE_CONDITION_TYPE_MEMORY_PRESSURE\x10\x02\x12*\n&KUBE_NODE_CONDITION_TYPE_DISK_PRESSURE\x10\x03\x12)\n%KUBE_NODE_CONDITION_TYPE_PID_PRESSURE\x10\x04\x12,\n(KUBE_NODE_CONDITION_TYPE_NETWORK_UNAVAIL\x10\x05*\x99\x03\n\x13StorageHealthStatus\x12%\n!STORAGE_HEALTH_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1dSTORAGE_HEALTH_STATUS_HEALTHY\x10\x01\x12\x42\n>STORAGE_HEALTH_STATUS_DEGRADED_2_REPLICA_AVAILABLE_REPLICATING\x10\x02\x12\x46\nBSTORAGE_HEALTH_STATUS_DEGRADED_2_REPLICA_AVAILABLE_NOT_REPLICATING\x10\x03\x12\x42\n>STORAGE_HEALTH_STATUS_DEGRADED_1_REPLICA_AVAILABLE_REPLICATING\x10\x04\x12\x46\nBSTORAGE_HEALTH_STATUS_DEGRADED_1_REPLICA_AVAILABLE_NOT_REPLICATING\x10\x05\x12 \n\x1cSTORAGE_HEALTH_STATUS_FAILED\x10\x06*\x8e\x02\n\x12StorageVolumeState\x12$\n STORAGE_VOLUME_STATE_UNSPECIFIED\x10\x00\x12!\n\x1dSTORAGE_VOLUME_STATE_CREATING\x10\x01\x12!\n\x1dSTORAGE_VOLUME_STATE_ATTACHED\x10\x02\x12!\n\x1dSTORAGE_VOLUME_STATE_DETACHED\x10\x03\x12\"\n\x1eSTORAGE_VOLUME_STATE_ATTACHING\x10\x04\x12\"\n\x1eSTORAGE_VOLUME_STATE_DETACHING\x10\x05\x12!\n\x1dSTORAGE_VOLUME_STATE_DELETING\x10\x06*\xba\x01\n\x17StorageVolumeRobustness\x12)\n%STORAGE_VOLUME_ROBUSTNESS_UNSPECIFIED\x10\x00\x12%\n!STORAGE_VOLUME_ROBUSTNESS_HEALTHY\x10\x01\x12&\n\"STORAGE_VOLUME_ROBUSTNESS_DEGRADED\x10\x02\x12%\n!STORAGE_VOLUME_ROBUSTNESS_FAULTED\x10\x03*\x86\x02\n\x16StorageVolumePVCStatus\x12)\n%STORAGE_VOLUME_PVC_STATUS_UNSPECIFIED\x10\x00\x12#\n\x1fSTORAGE_VOLUME_PVC_STATUS_BOUND\x10\x01\x12%\n!STORAGE_VOLUME_PVC_STATUS_PENDING\x10\x02\x12\'\n#STORAGE_VOLUME_PVC_STATUS_AVAILABLE\x10\x03\x12&\n\"STORAGE_VOLUME_PVC_STATUS_RELEASED\x10\x04\x12$\n STORAGE_VOLUME_PVC_STATUS_FAILED\x10\x05*\xcd\x01\n\x1aStorageVolumeReplicaStatus\x12-\n)STORAGE_VOLUME_REPLICA_STATUS_UNSPECIFIED\x10\x00\x12,\n(STORAGE_VOLUME_REPLICA_STATUS_REBUILDING\x10\x01\x12(\n$STORAGE_VOLUME_REPLICA_STATUS_ONLINE\x10\x02\x12(\n$STORAGE_VOLUME_REPLICA_STATUS_FAILED\x10\x03*\xac\x02\n\rKubePodStatus\x12\x1f\n\x1bKUBE_POD_STATUS_UNSPECIFIED\x10\x00\x12\x1b\n\x17KUBE_POD_STATUS_PENDING\x10\x01\x12\x1b\n\x17KUBE_POD_STATUS_RUNNING\x10\x02\x12\x1d\n\x19KUBE_POD_STATUS_SUCCEEDED\x10\x03\x12&\n\"KUBE_POD_STATUS_CONTAINER_CREATING\x10\x04\x12%\n!KUBE_POD_STATUS_CRASHLOOP_BACKOFF\x10\x05\x12\x19\n\x15KUBE_POD_STATUS_ERROR\x10\x06\x12\x1b\n\x17KUBE_POD_STATUS_EVICTED\x10\x07\x12\x1a\n\x16KUBE_POD_STATUS_FAILED\x10\x08*\x86\x02\n\x14KubeCompUpdateStatus\x12\'\n#KUBE_COMP_UPDATE_STATUS_UNSPECIFIED\x10\x00\x12$\n KUBE_COMP_UPDATE_STATUS_DOWNLOAD\x10\x01\x12+\n\'KUBE_COMP_UPDATE_STATUS_DOWNLOAD_FAILED\x10\x02\x12\'\n#KUBE_COMP_UPDATE_STATUS_IN_PROGRESS\x10\x03\x12\"\n\x1eKUBE_COMP_UPDATE_STATUS_FAILED\x10\x04\x12%\n!KUBE_COMP_UPDATE_STATUS_COMPLETED\x10\x05*\xab\x01\n\x08KubeComp\x12\x19\n\x15KUBE_COMP_UNSPECIFIED\x10\x00\x12\x18\n\x14KUBE_COMP_CONTAINERD\x10\x01\x12\x11\n\rKUBE_COMP_K3S\x10\x02\x12\x14\n\x10KUBE_COMP_MULTUS\x10\x03\x12\x16\n\x12KUBE_COMP_KUBEVIRT\x10\x04\x12\x11\n\rKUBE_COMP_CDI\x10\x05\x12\x16\n\x12KUBE_COMP_LONGHORN\x10\x06\x42\x39\n\x13org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/infob\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cinfo/edge_node_cluster.proto\x12\x13org.lfedge.eve.info\x1a\x1fgoogle/protobuf/timestamp.proto\"Z\n\x11KubeNodeCondition\x12\x38\n\x04type\x18\x01 \x01(\x0e\x32*.org.lfedge.eve.info.KubeNodeConditionType\x12\x0b\n\x03set\x18\x02 \x01(\x08\"\xeb\x01\n\x0cKubeNodeInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12:\n\nconditions\x18\x02 \x03(\x0b\x32&.org.lfedge.eve.info.KubeNodeCondition\x12\x13\n\x0brole_server\x18\x03 \x01(\x08\x12\x36\n\x12\x63reation_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1a\n\x12\x61pi_server_sersion\x18\x05 \x01(\t\x12\x13\n\x0binternal_ip\x18\x06 \x01(\t\x12\x13\n\x0bschedulable\x18\x07 \x01(\x08\"\xa4\x01\n\x14KubePodNameSpaceInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tpod_count\x18\x02 \x01(\r\x12\x19\n\x11pod_running_count\x18\x03 \x01(\r\x12\x19\n\x11pod_pending_count\x18\x04 \x01(\r\x12\x18\n\x10pod_failed_count\x18\x05 \x01(\r\x12\x1b\n\x13pod_succeeded_count\x18\x06 \x01(\r\"\x82\x02\n\x11KubeEVEAppPodInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x32\n\x06status\x18\x02 \x01(\x0e\x32\".org.lfedge.eve.info.KubePodStatus\x12\x15\n\rrestart_count\x18\x03 \x01(\r\x12\x35\n\x11restart_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x36\n\x12\x63reation_timestamp\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nip_address\x18\x06 \x01(\t\x12\x11\n\tnode_name\x18\x07 \x01(\t\"\x9f\x01\n\x15KubeVolumeReplicaInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x12\n\nowner_node\x18\x02 \x01(\t\x12#\n\x1brebuild_progress_percentage\x18\x03 \x01(\r\x12?\n\x06status\x18\x04 \x01(\x0e\x32/.org.lfedge.eve.info.StorageVolumeReplicaStatus\"\xc9\x03\n\x0eKubeVolumeInfo\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x36\n\x05state\x18\x02 \x01(\x0e\x32\'.org.lfedge.eve.info.StorageVolumeState\x12@\n\nrobustness\x18\x03 \x01(\x0e\x32,.org.lfedge.eve.info.StorageVolumeRobustness\x12\x36\n\x12\x63reation_timestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x19\n\x11provisioned_bytes\x18\x05 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x06 \x01(\x04\x12?\n\npvc_status\x18\x07 \x01(\x0e\x32+.org.lfedge.eve.info.StorageVolumePVCStatus\x12;\n\x07replica\x18\x08 \x03(\x0b\x32*.org.lfedge.eve.info.KubeVolumeReplicaInfo\x12\x45\n\x13robustness_substate\x18\t \x01(\x0e\x32(.org.lfedge.eve.info.StorageHealthStatus\"\xb0\x01\n\x0fKubeStorageInfo\x12\x32\n\x06health\x18\x01 \x01(\x0e\x32\".org.lfedge.eve.info.ServiceStatus\x12\x33\n\x0ftransition_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x07volumes\x18\x03 \x03(\x0b\x32#.org.lfedge.eve.info.KubeVolumeInfo*\x98\x02\n\x15KubeNodeConditionType\x12(\n$KUBE_NODE_CONDITION_TYPE_UNSPECIFIED\x10\x00\x12\"\n\x1eKUBE_NODE_CONDITION_TYPE_READY\x10\x01\x12,\n(KUBE_NODE_CONDITION_TYPE_MEMORY_PRESSURE\x10\x02\x12*\n&KUBE_NODE_CONDITION_TYPE_DISK_PRESSURE\x10\x03\x12)\n%KUBE_NODE_CONDITION_TYPE_PID_PRESSURE\x10\x04\x12,\n(KUBE_NODE_CONDITION_TYPE_NETWORK_UNAVAIL\x10\x05*\x99\x03\n\x13StorageHealthStatus\x12%\n!STORAGE_HEALTH_STATUS_UNSPECIFIED\x10\x00\x12!\n\x1dSTORAGE_HEALTH_STATUS_HEALTHY\x10\x01\x12\x42\n>STORAGE_HEALTH_STATUS_DEGRADED_2_REPLICA_AVAILABLE_REPLICATING\x10\x02\x12\x46\nBSTORAGE_HEALTH_STATUS_DEGRADED_2_REPLICA_AVAILABLE_NOT_REPLICATING\x10\x03\x12\x42\n>STORAGE_HEALTH_STATUS_DEGRADED_1_REPLICA_AVAILABLE_REPLICATING\x10\x04\x12\x46\nBSTORAGE_HEALTH_STATUS_DEGRADED_1_REPLICA_AVAILABLE_NOT_REPLICATING\x10\x05\x12 \n\x1cSTORAGE_HEALTH_STATUS_FAILED\x10\x06*\x8e\x02\n\x12StorageVolumeState\x12$\n STORAGE_VOLUME_STATE_UNSPECIFIED\x10\x00\x12!\n\x1dSTORAGE_VOLUME_STATE_CREATING\x10\x01\x12!\n\x1dSTORAGE_VOLUME_STATE_ATTACHED\x10\x02\x12!\n\x1dSTORAGE_VOLUME_STATE_DETACHED\x10\x03\x12\"\n\x1eSTORAGE_VOLUME_STATE_ATTACHING\x10\x04\x12\"\n\x1eSTORAGE_VOLUME_STATE_DETACHING\x10\x05\x12!\n\x1dSTORAGE_VOLUME_STATE_DELETING\x10\x06*\xba\x01\n\x17StorageVolumeRobustness\x12)\n%STORAGE_VOLUME_ROBUSTNESS_UNSPECIFIED\x10\x00\x12%\n!STORAGE_VOLUME_ROBUSTNESS_HEALTHY\x10\x01\x12&\n\"STORAGE_VOLUME_ROBUSTNESS_DEGRADED\x10\x02\x12%\n!STORAGE_VOLUME_ROBUSTNESS_FAULTED\x10\x03*\x86\x02\n\x16StorageVolumePVCStatus\x12)\n%STORAGE_VOLUME_PVC_STATUS_UNSPECIFIED\x10\x00\x12#\n\x1fSTORAGE_VOLUME_PVC_STATUS_BOUND\x10\x01\x12%\n!STORAGE_VOLUME_PVC_STATUS_PENDING\x10\x02\x12\'\n#STORAGE_VOLUME_PVC_STATUS_AVAILABLE\x10\x03\x12&\n\"STORAGE_VOLUME_PVC_STATUS_RELEASED\x10\x04\x12$\n STORAGE_VOLUME_PVC_STATUS_FAILED\x10\x05*\xd0\x02\n\x1aStorageVolumeReplicaStatus\x12-\n)STORAGE_VOLUME_REPLICA_STATUS_UNSPECIFIED\x10\x00\x12,\n(STORAGE_VOLUME_REPLICA_STATUS_REBUILDING\x10\x01\x12(\n$STORAGE_VOLUME_REPLICA_STATUS_ONLINE\x10\x02\x12(\n$STORAGE_VOLUME_REPLICA_STATUS_FAILED\x10\x03\x12)\n%STORAGE_VOLUME_REPLICA_STATUS_OFFLINE\x10\x04\x12*\n&STORAGE_VOLUME_REPLICA_STATUS_STARTING\x10\x05\x12*\n&STORAGE_VOLUME_REPLICA_STATUS_STOPPING\x10\x06*\xac\x02\n\rKubePodStatus\x12\x1f\n\x1bKUBE_POD_STATUS_UNSPECIFIED\x10\x00\x12\x1b\n\x17KUBE_POD_STATUS_PENDING\x10\x01\x12\x1b\n\x17KUBE_POD_STATUS_RUNNING\x10\x02\x12\x1d\n\x19KUBE_POD_STATUS_SUCCEEDED\x10\x03\x12&\n\"KUBE_POD_STATUS_CONTAINER_CREATING\x10\x04\x12%\n!KUBE_POD_STATUS_CRASHLOOP_BACKOFF\x10\x05\x12\x19\n\x15KUBE_POD_STATUS_ERROR\x10\x06\x12\x1b\n\x17KUBE_POD_STATUS_EVICTED\x10\x07\x12\x1a\n\x16KUBE_POD_STATUS_FAILED\x10\x08*\x83\x01\n\rServiceStatus\x12\x1e\n\x1aSERVICE_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15SERVICE_STATUS_FAILED\x10\x01\x12\x1b\n\x17SERVICE_STATUS_DEGRADED\x10\x02\x12\x1a\n\x16SERVICE_STATUS_HEALTHY\x10\x03*\x86\x02\n\x14KubeCompUpdateStatus\x12\'\n#KUBE_COMP_UPDATE_STATUS_UNSPECIFIED\x10\x00\x12$\n KUBE_COMP_UPDATE_STATUS_DOWNLOAD\x10\x01\x12+\n\'KUBE_COMP_UPDATE_STATUS_DOWNLOAD_FAILED\x10\x02\x12\'\n#KUBE_COMP_UPDATE_STATUS_IN_PROGRESS\x10\x03\x12\"\n\x1eKUBE_COMP_UPDATE_STATUS_FAILED\x10\x04\x12%\n!KUBE_COMP_UPDATE_STATUS_COMPLETED\x10\x05*\xab\x01\n\x08KubeComp\x12\x19\n\x15KUBE_COMP_UNSPECIFIED\x10\x00\x12\x18\n\x14KUBE_COMP_CONTAINERD\x10\x01\x12\x11\n\rKUBE_COMP_K3S\x10\x02\x12\x14\n\x10KUBE_COMP_MULTUS\x10\x03\x12\x16\n\x12KUBE_COMP_KUBEVIRT\x10\x04\x12\x11\n\rKUBE_COMP_CDI\x10\x05\x12\x16\n\x12KUBE_COMP_LONGHORN\x10\x06\x42\x39\n\x13org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/infob\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -23,24 +23,26 @@ DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\023org.lfedge.eve.infoZ\"github.com/lf-edge/eve-api/go/info' - _globals['_KUBENODECONDITIONTYPE']._serialized_start=1581 - _globals['_KUBENODECONDITIONTYPE']._serialized_end=1861 - _globals['_STORAGEHEALTHSTATUS']._serialized_start=1864 - _globals['_STORAGEHEALTHSTATUS']._serialized_end=2273 - _globals['_STORAGEVOLUMESTATE']._serialized_start=2276 - _globals['_STORAGEVOLUMESTATE']._serialized_end=2546 - _globals['_STORAGEVOLUMEROBUSTNESS']._serialized_start=2549 - _globals['_STORAGEVOLUMEROBUSTNESS']._serialized_end=2735 - _globals['_STORAGEVOLUMEPVCSTATUS']._serialized_start=2738 - _globals['_STORAGEVOLUMEPVCSTATUS']._serialized_end=3000 - _globals['_STORAGEVOLUMEREPLICASTATUS']._serialized_start=3003 - _globals['_STORAGEVOLUMEREPLICASTATUS']._serialized_end=3208 - _globals['_KUBEPODSTATUS']._serialized_start=3211 - _globals['_KUBEPODSTATUS']._serialized_end=3511 - _globals['_KUBECOMPUPDATESTATUS']._serialized_start=3514 - _globals['_KUBECOMPUPDATESTATUS']._serialized_end=3776 - _globals['_KUBECOMP']._serialized_start=3779 - _globals['_KUBECOMP']._serialized_end=3950 + _globals['_KUBENODECONDITIONTYPE']._serialized_start=1646 + _globals['_KUBENODECONDITIONTYPE']._serialized_end=1926 + _globals['_STORAGEHEALTHSTATUS']._serialized_start=1929 + _globals['_STORAGEHEALTHSTATUS']._serialized_end=2338 + _globals['_STORAGEVOLUMESTATE']._serialized_start=2341 + _globals['_STORAGEVOLUMESTATE']._serialized_end=2611 + _globals['_STORAGEVOLUMEROBUSTNESS']._serialized_start=2614 + _globals['_STORAGEVOLUMEROBUSTNESS']._serialized_end=2800 + _globals['_STORAGEVOLUMEPVCSTATUS']._serialized_start=2803 + _globals['_STORAGEVOLUMEPVCSTATUS']._serialized_end=3065 + _globals['_STORAGEVOLUMEREPLICASTATUS']._serialized_start=3068 + _globals['_STORAGEVOLUMEREPLICASTATUS']._serialized_end=3404 + _globals['_KUBEPODSTATUS']._serialized_start=3407 + _globals['_KUBEPODSTATUS']._serialized_end=3707 + _globals['_SERVICESTATUS']._serialized_start=3710 + _globals['_SERVICESTATUS']._serialized_end=3841 + _globals['_KUBECOMPUPDATESTATUS']._serialized_start=3844 + _globals['_KUBECOMPUPDATESTATUS']._serialized_end=4106 + _globals['_KUBECOMP']._serialized_start=4109 + _globals['_KUBECOMP']._serialized_end=4280 _globals['_KUBENODECONDITION']._serialized_start=86 _globals['_KUBENODECONDITION']._serialized_end=176 _globals['_KUBENODEINFO']._serialized_start=179 @@ -52,7 +54,7 @@ _globals['_KUBEVOLUMEREPLICAINFO']._serialized_start=845 _globals['_KUBEVOLUMEREPLICAINFO']._serialized_end=1004 _globals['_KUBEVOLUMEINFO']._serialized_start=1007 - _globals['_KUBEVOLUMEINFO']._serialized_end=1393 - _globals['_KUBESTORAGEINFO']._serialized_start=1396 - _globals['_KUBESTORAGEINFO']._serialized_end=1578 + _globals['_KUBEVOLUMEINFO']._serialized_end=1464 + _globals['_KUBESTORAGEINFO']._serialized_start=1467 + _globals['_KUBESTORAGEINFO']._serialized_end=1643 # @@protoc_insertion_point(module_scope)