mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	实现最基本的域名服务节点管理
This commit is contained in:
		
							
								
								
									
										17
									
								
								pkg/nodeconfigs/node_roles.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								pkg/nodeconfigs/node_roles.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
package nodeconfigs
 | 
			
		||||
 | 
			
		||||
type NodeRole = string
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	NodeRoleAdmin     NodeRole = "admin"
 | 
			
		||||
	NodeRoleUser      NodeRole = "user"
 | 
			
		||||
	NodeRoleProvider  NodeRole = "provider"
 | 
			
		||||
	NodeRoleAPI       NodeRole = "api"
 | 
			
		||||
	NodeRoleDatabase  NodeRole = "database"
 | 
			
		||||
	NodeRoleLog       NodeRole = "log"
 | 
			
		||||
	NodeRoleDNS       NodeRole = "dns"
 | 
			
		||||
	NodeRoleMonitor   NodeRole = "monitor"
 | 
			
		||||
	NodeRoleNode      NodeRole = "node"
 | 
			
		||||
	NodeRoleCluster   NodeRole = "cluster"
 | 
			
		||||
	NodeRoleAuthority NodeRole = "authority"
 | 
			
		||||
)
 | 
			
		||||
@@ -31,9 +31,10 @@ type NSCluster struct {
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Id   int64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
			
		||||
	IsOn bool   `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	Id         int64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
			
		||||
	IsOn       bool   `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
	Name       string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	InstallDir string `protobuf:"bytes,4,opt,name=installDir,proto3" json:"installDir,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSCluster) Reset() {
 | 
			
		||||
@@ -89,16 +90,25 @@ func (x *NSCluster) GetName() string {
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSCluster) GetInstallDir() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.InstallDir
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_models_model_ns_cluster_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_models_model_ns_cluster_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
 | 
			
		||||
	0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
 | 
			
		||||
	0x02, 0x70, 0x62, 0x22, 0x43, 0x0a, 0x09, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x02, 0x70, 0x62, 0x22, 0x63, 0x0a, 0x09, 0x4e, 0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
 | 
			
		||||
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64,
 | 
			
		||||
	0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04,
 | 
			
		||||
	0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74,
 | 
			
		||||
	0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e,
 | 
			
		||||
	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
 | 
			
		||||
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -31,12 +31,18 @@ type NSNode struct {
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Id        int64      `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
			
		||||
	Name      string     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	IsOn      bool       `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
	UniqueId  string     `protobuf:"bytes,4,opt,name=uniqueId,proto3" json:"uniqueId,omitempty"`
 | 
			
		||||
	Secret    string     `protobuf:"bytes,5,opt,name=secret,proto3" json:"secret,omitempty"`
 | 
			
		||||
	NsCluster *NSCluster `protobuf:"bytes,32,opt,name=nsCluster,proto3" json:"nsCluster,omitempty"`
 | 
			
		||||
	Id          int64      `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
			
		||||
	Name        string     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	IsOn        bool       `protobuf:"varint,3,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
			
		||||
	UniqueId    string     `protobuf:"bytes,4,opt,name=uniqueId,proto3" json:"uniqueId,omitempty"`
 | 
			
		||||
	Secret      string     `protobuf:"bytes,5,opt,name=secret,proto3" json:"secret,omitempty"`
 | 
			
		||||
	StatusJSON  []byte     `protobuf:"bytes,6,opt,name=statusJSON,proto3" json:"statusJSON,omitempty"`
 | 
			
		||||
	IsInstalled bool       `protobuf:"varint,7,opt,name=isInstalled,proto3" json:"isInstalled,omitempty"`
 | 
			
		||||
	InstallDir  string     `protobuf:"bytes,9,opt,name=installDir,proto3" json:"installDir,omitempty"`
 | 
			
		||||
	IsUp        bool       `protobuf:"varint,8,opt,name=isUp,proto3" json:"isUp,omitempty"`
 | 
			
		||||
	NsCluster   *NSCluster `protobuf:"bytes,32,opt,name=nsCluster,proto3" json:"nsCluster,omitempty"`
 | 
			
		||||
	//NodeLogin login = 33;
 | 
			
		||||
	InstallStatus *NodeInstallStatus `protobuf:"bytes,34,opt,name=installStatus,proto3" json:"installStatus,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSNode) Reset() {
 | 
			
		||||
@@ -106,6 +112,34 @@ func (x *NSNode) GetSecret() string {
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSNode) GetStatusJSON() []byte {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.StatusJSON
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSNode) GetIsInstalled() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsInstalled
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSNode) GetInstallDir() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.InstallDir
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSNode) GetIsUp() bool {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.IsUp
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSNode) GetNsCluster() *NSCluster {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.NsCluster
 | 
			
		||||
@@ -113,25 +147,45 @@ func (x *NSNode) GetNsCluster() *NSCluster {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *NSNode) GetInstallStatus() *NodeInstallStatus {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.InstallStatus
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_models_model_ns_node_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_models_model_ns_node_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x1a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
 | 
			
		||||
	0x73, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
 | 
			
		||||
	0x1a, 0x1d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e,
 | 
			
		||||
	0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
 | 
			
		||||
	0xa1, 0x01, 0x0a, 0x06, 0x4e, 0x53, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
 | 
			
		||||
	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
 | 
			
		||||
	0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73,
 | 
			
		||||
	0x4f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x18, 0x04,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x16,
 | 
			
		||||
	0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
 | 
			
		||||
	0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e,
 | 
			
		||||
	0x53, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73,
 | 
			
		||||
	0x74, 0x65, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x33,
 | 
			
		||||
	0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
 | 
			
		||||
	0x26, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
 | 
			
		||||
	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x02, 0x0a, 0x06, 0x4e, 0x53, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02,
 | 
			
		||||
	0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x03,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x6e,
 | 
			
		||||
	0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x6e,
 | 
			
		||||
	0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74,
 | 
			
		||||
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1e,
 | 
			
		||||
	0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x20,
 | 
			
		||||
	0x0a, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64,
 | 
			
		||||
	0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x18, 0x09,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72,
 | 
			
		||||
	0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x55, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04,
 | 
			
		||||
	0x69, 0x73, 0x55, 0x70, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x53, 0x43,
 | 
			
		||||
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x09, 0x6e, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
 | 
			
		||||
	0x72, 0x12, 0x3b, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x75, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
 | 
			
		||||
	0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x06,
 | 
			
		||||
	0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
@@ -148,16 +202,18 @@ func file_models_model_ns_node_proto_rawDescGZIP() []byte {
 | 
			
		||||
 | 
			
		||||
var file_models_model_ns_node_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
			
		||||
var file_models_model_ns_node_proto_goTypes = []interface{}{
 | 
			
		||||
	(*NSNode)(nil),    // 0: pb.NSNode
 | 
			
		||||
	(*NSCluster)(nil), // 1: pb.NSCluster
 | 
			
		||||
	(*NSNode)(nil),            // 0: pb.NSNode
 | 
			
		||||
	(*NSCluster)(nil),         // 1: pb.NSCluster
 | 
			
		||||
	(*NodeInstallStatus)(nil), // 2: pb.NodeInstallStatus
 | 
			
		||||
}
 | 
			
		||||
var file_models_model_ns_node_proto_depIdxs = []int32{
 | 
			
		||||
	1, // 0: pb.NSNode.nsCluster:type_name -> pb.NSCluster
 | 
			
		||||
	1, // [1:1] is the sub-list for method output_type
 | 
			
		||||
	1, // [1:1] is the sub-list for method input_type
 | 
			
		||||
	1, // [1:1] is the sub-list for extension type_name
 | 
			
		||||
	1, // [1:1] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:1] is the sub-list for field type_name
 | 
			
		||||
	2, // 1: pb.NSNode.installStatus:type_name -> pb.NodeInstallStatus
 | 
			
		||||
	2, // [2:2] is the sub-list for method output_type
 | 
			
		||||
	2, // [2:2] is the sub-list for method input_type
 | 
			
		||||
	2, // [2:2] is the sub-list for extension type_name
 | 
			
		||||
	2, // [2:2] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:2] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_models_model_ns_node_proto_init() }
 | 
			
		||||
@@ -166,6 +222,7 @@ func file_models_model_ns_node_proto_init() {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	file_models_model_ns_cluster_proto_init()
 | 
			
		||||
	file_models_model_node_install_status_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_models_model_ns_node_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*NSNode); i {
 | 
			
		||||
 
 | 
			
		||||
@@ -283,7 +283,7 @@ func (x *RegisterClusterNodeResponse) GetEndpoints() []string {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 节点数量
 | 
			
		||||
// 所有可用的节点数量
 | 
			
		||||
type CountAllEnabledNodesRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
@@ -752,7 +752,7 @@ func (x *UpdateNodeRequest) GetMaxCacheMemoryCapacity() *SizeCapacity {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找节点
 | 
			
		||||
// 获取单个节点信息
 | 
			
		||||
type FindEnabledNodeRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
@@ -4478,7 +4478,7 @@ type NodeServiceClient interface {
 | 
			
		||||
	CreateNode(ctx context.Context, in *CreateNodeRequest, opts ...grpc.CallOption) (*CreateNodeResponse, error)
 | 
			
		||||
	// 注册集群节点
 | 
			
		||||
	RegisterClusterNode(ctx context.Context, in *RegisterClusterNodeRequest, opts ...grpc.CallOption) (*RegisterClusterNodeResponse, error)
 | 
			
		||||
	// 节点数量
 | 
			
		||||
	// 所有可用的节点数量
 | 
			
		||||
	CountAllEnabledNodes(ctx context.Context, in *CountAllEnabledNodesRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
 | 
			
		||||
	// 计算匹配的节点数量
 | 
			
		||||
	CountAllEnabledNodesMatch(ctx context.Context, in *CountAllEnabledNodesMatchRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
 | 
			
		||||
@@ -4490,7 +4490,7 @@ type NodeServiceClient interface {
 | 
			
		||||
	DeleteNode(ctx context.Context, in *DeleteNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 修改节点
 | 
			
		||||
	UpdateNode(ctx context.Context, in *UpdateNodeRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 查看单个节点
 | 
			
		||||
	// 获取单个节点信息
 | 
			
		||||
	FindEnabledNode(ctx context.Context, in *FindEnabledNodeRequest, opts ...grpc.CallOption) (*FindEnabledNodeResponse, error)
 | 
			
		||||
	// 获取当前节点配置
 | 
			
		||||
	FindCurrentNodeConfig(ctx context.Context, in *FindCurrentNodeConfigRequest, opts ...grpc.CallOption) (*FindCurrentNodeConfigResponse, error)
 | 
			
		||||
@@ -4897,7 +4897,7 @@ type NodeServiceServer interface {
 | 
			
		||||
	CreateNode(context.Context, *CreateNodeRequest) (*CreateNodeResponse, error)
 | 
			
		||||
	// 注册集群节点
 | 
			
		||||
	RegisterClusterNode(context.Context, *RegisterClusterNodeRequest) (*RegisterClusterNodeResponse, error)
 | 
			
		||||
	// 节点数量
 | 
			
		||||
	// 所有可用的节点数量
 | 
			
		||||
	CountAllEnabledNodes(context.Context, *CountAllEnabledNodesRequest) (*RPCCountResponse, error)
 | 
			
		||||
	// 计算匹配的节点数量
 | 
			
		||||
	CountAllEnabledNodesMatch(context.Context, *CountAllEnabledNodesMatchRequest) (*RPCCountResponse, error)
 | 
			
		||||
@@ -4909,7 +4909,7 @@ type NodeServiceServer interface {
 | 
			
		||||
	DeleteNode(context.Context, *DeleteNodeRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 修改节点
 | 
			
		||||
	UpdateNode(context.Context, *UpdateNodeRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 查看单个节点
 | 
			
		||||
	// 获取单个节点信息
 | 
			
		||||
	FindEnabledNode(context.Context, *FindEnabledNodeRequest) (*FindEnabledNodeResponse, error)
 | 
			
		||||
	// 获取当前节点配置
 | 
			
		||||
	FindCurrentNodeConfig(context.Context, *FindCurrentNodeConfigRequest) (*FindCurrentNodeConfigResponse, error)
 | 
			
		||||
 
 | 
			
		||||
@@ -36,9 +36,10 @@ type CreateNodeIPAddressRequest struct {
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	NodeId    int64  `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
 | 
			
		||||
	Name      string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	Ip        string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"`
 | 
			
		||||
	CanAccess bool   `protobuf:"varint,4,opt,name=canAccess,proto3" json:"canAccess,omitempty"`
 | 
			
		||||
	Role      string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
 | 
			
		||||
	Name      string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
 | 
			
		||||
	Ip        string `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"`
 | 
			
		||||
	CanAccess bool   `protobuf:"varint,5,opt,name=canAccess,proto3" json:"canAccess,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateNodeIPAddressRequest) Reset() {
 | 
			
		||||
@@ -80,6 +81,13 @@ func (x *CreateNodeIPAddressRequest) GetNodeId() int64 {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateNodeIPAddressRequest) GetRole() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Role
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateNodeIPAddressRequest) GetName() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Name
 | 
			
		||||
@@ -368,7 +376,8 @@ type DisableAllIPAddressesWithNodeIdRequest struct {
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
 | 
			
		||||
	NodeId int64  `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
 | 
			
		||||
	Role   string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DisableAllIPAddressesWithNodeIdRequest) Reset() {
 | 
			
		||||
@@ -410,6 +419,13 @@ func (x *DisableAllIPAddressesWithNodeIdRequest) GetNodeId() int64 {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DisableAllIPAddressesWithNodeIdRequest) GetRole() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Role
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type DisableAllIPAddressesWithNodeIdResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
@@ -549,7 +565,8 @@ type FindAllEnabledIPAddressesWithNodeIdRequest struct {
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
 | 
			
		||||
	NodeId int64  `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
 | 
			
		||||
	Role   string `protobuf:"bytes,2,opt,name=role,proto3" json:"role,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllEnabledIPAddressesWithNodeIdRequest) Reset() {
 | 
			
		||||
@@ -591,6 +608,13 @@ func (x *FindAllEnabledIPAddressesWithNodeIdRequest) GetNodeId() int64 {
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindAllEnabledIPAddressesWithNodeIdRequest) GetRole() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Role
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindAllEnabledIPAddressesWithNodeIdResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
@@ -647,110 +671,114 @@ var file_service_node_ip_address_proto_rawDesc = []byte{
 | 
			
		||||
	0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f,
 | 
			
		||||
	0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x22, 0x76, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
 | 
			
		||||
	0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
			
		||||
	0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c,
 | 
			
		||||
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a,
 | 
			
		||||
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
 | 
			
		||||
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
 | 
			
		||||
	0x70, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22,
 | 
			
		||||
	0x3b, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41,
 | 
			
		||||
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c,
 | 
			
		||||
	0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x1a,
 | 
			
		||||
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64,
 | 
			
		||||
	0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61,
 | 
			
		||||
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
 | 
			
		||||
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02,
 | 
			
		||||
	0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09,
 | 
			
		||||
	0x63, 0x61, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
 | 
			
		||||
	0x09, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x3b, 0x0a, 0x1b, 0x43, 0x72,
 | 
			
		||||
	0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64,
 | 
			
		||||
	0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64,
 | 
			
		||||
	0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0x7c, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x09, 0x63, 0x61, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x58, 0x0a, 0x20, 0x55, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c,
 | 
			
		||||
	0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
 | 
			
		||||
	0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49,
 | 
			
		||||
	0x64, 0x22, 0x1e, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x22, 0x54, 0x0a, 0x26, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49,
 | 
			
		||||
	0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x29, 0x0a, 0x27, 0x44, 0x69, 0x73, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73,
 | 
			
		||||
	0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x22, 0x3f, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x03, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x41, 0x63,
 | 
			
		||||
	0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x41,
 | 
			
		||||
	0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x58, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65,
 | 
			
		||||
	0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64,
 | 
			
		||||
	0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x64,
 | 
			
		||||
	0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
 | 
			
		||||
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22,
 | 
			
		||||
	0x3b, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50,
 | 
			
		||||
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c,
 | 
			
		||||
	0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0x1e, 0x0a, 0x1c,
 | 
			
		||||
	0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64,
 | 
			
		||||
	0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x26,
 | 
			
		||||
	0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x73, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c,
 | 
			
		||||
	0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64,
 | 
			
		||||
	0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x69,
 | 
			
		||||
	0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x58, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x29,
 | 
			
		||||
	0x0a, 0x27, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64,
 | 
			
		||||
	0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x0a, 0x1f, 0x46, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64,
 | 
			
		||||
	0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09,
 | 
			
		||||
	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x20, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41,
 | 
			
		||||
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f,
 | 
			
		||||
	0x0a, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64,
 | 
			
		||||
	0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22,
 | 
			
		||||
	0x44, 0x0a, 0x2a, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
 | 
			
		||||
	0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e,
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x5e, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x12,
 | 
			
		||||
	0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f,
 | 
			
		||||
	0x6c, 0x65, 0x22, 0x5e, 0x0a, 0x2b, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57,
 | 
			
		||||
	0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x2f, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50,
 | 
			
		||||
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x65, 0x73, 0x32, 0xcf, 0x05, 0x0a, 0x14, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64,
 | 
			
		||||
	0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x63,
 | 
			
		||||
	0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
	0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f,
 | 
			
		||||
	0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a, 0x19, 0x75, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64,
 | 
			
		||||
	0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a,
 | 
			
		||||
	0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64,
 | 
			
		||||
	0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x1f, 0x64, 0x69, 0x73, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65,
 | 
			
		||||
	0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, 0x64,
 | 
			
		||||
	0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86, 0x01, 0x0a, 0x23,
 | 
			
		||||
	0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50,
 | 
			
		||||
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65,
 | 
			
		||||
	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x65, 0x73, 0x32, 0xcf, 0x05, 0x0a, 0x14, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50,
 | 
			
		||||
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56,
 | 
			
		||||
	0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64,
 | 
			
		||||
	0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
 | 
			
		||||
	0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41,
 | 
			
		||||
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x51, 0x0a,
 | 
			
		||||
	0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64,
 | 
			
		||||
	0x72, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
 | 
			
		||||
	0x12, 0x59, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49,
 | 
			
		||||
	0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69,
 | 
			
		||||
	0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x44,
 | 
			
		||||
	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x1f, 0x64,
 | 
			
		||||
	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2a,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50,
 | 
			
		||||
	0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6c, 0x6c, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x41,
 | 
			
		||||
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x86,
 | 
			
		||||
	0x01, 0x0a, 0x23, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68,
 | 
			
		||||
	0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72,
 | 
			
		||||
	0x65, 0x73, 0x73, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x52,
 | 
			
		||||
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
 | 
			
		||||
	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
 | 
			
		||||
	0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -8,4 +8,5 @@ message NSCluster {
 | 
			
		||||
	int64 id = 1;
 | 
			
		||||
	bool isOn = 2;
 | 
			
		||||
	string name = 3;
 | 
			
		||||
	string installDir = 4;
 | 
			
		||||
}
 | 
			
		||||
@@ -4,6 +4,7 @@ option go_package = "./pb";
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "models/model_ns_cluster.proto";
 | 
			
		||||
import "models/model_node_install_status.proto";
 | 
			
		||||
 | 
			
		||||
// 域名服务节点
 | 
			
		||||
message NSNode {
 | 
			
		||||
@@ -12,10 +13,14 @@ message NSNode {
 | 
			
		||||
	bool isOn = 3;
 | 
			
		||||
	string uniqueId = 4;
 | 
			
		||||
	string secret = 5;
 | 
			
		||||
	bytes statusJSON = 6;
 | 
			
		||||
	bool isInstalled = 7;
 | 
			
		||||
	string installDir = 9;
 | 
			
		||||
	bool isUp = 8;
 | 
			
		||||
 | 
			
		||||
	NSCluster nsCluster = 32;
 | 
			
		||||
	//NodeLogin login = 33;
 | 
			
		||||
	//NodeInstallStatus installStatus = 34;
 | 
			
		||||
	NodeInstallStatus installStatus = 34;
 | 
			
		||||
	//repeated NodeIPAddress ipAddresses = 35;
 | 
			
		||||
	//NodeGroup nodeGroup = 36;
 | 
			
		||||
	//NodeRegion region = 37;
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@ service NodeService {
 | 
			
		||||
	// 注册集群节点
 | 
			
		||||
	rpc registerClusterNode (RegisterClusterNodeRequest) returns (RegisterClusterNodeResponse);
 | 
			
		||||
 | 
			
		||||
	// 节点数量
 | 
			
		||||
	// 所有可用的节点数量
 | 
			
		||||
	rpc countAllEnabledNodes (CountAllEnabledNodesRequest) returns (RPCCountResponse);
 | 
			
		||||
 | 
			
		||||
	// 计算匹配的节点数量
 | 
			
		||||
@@ -35,7 +35,7 @@ service NodeService {
 | 
			
		||||
	// 修改节点
 | 
			
		||||
	rpc updateNode (UpdateNodeRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 查看单个节点
 | 
			
		||||
	// 获取单个节点信息
 | 
			
		||||
	rpc findEnabledNode (FindEnabledNodeRequest) returns (FindEnabledNodeResponse);
 | 
			
		||||
 | 
			
		||||
	// 获取当前节点配置
 | 
			
		||||
@@ -143,7 +143,7 @@ message RegisterClusterNodeResponse {
 | 
			
		||||
	repeated string endpoints = 3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 节点数量
 | 
			
		||||
// 所有可用的节点数量
 | 
			
		||||
message CountAllEnabledNodesRequest {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -194,7 +194,7 @@ message UpdateNodeRequest {
 | 
			
		||||
	SizeCapacity maxCacheMemoryCapacity = 12;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找节点
 | 
			
		||||
// 获取单个节点信息
 | 
			
		||||
message FindEnabledNodeRequest {
 | 
			
		||||
	int64 nodeId = 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -32,9 +32,10 @@ service NodeIPAddressService {
 | 
			
		||||
// 创建IP地址
 | 
			
		||||
message CreateNodeIPAddressRequest {
 | 
			
		||||
	int64 nodeId = 1;
 | 
			
		||||
	string name = 2;
 | 
			
		||||
	string ip = 3;
 | 
			
		||||
	bool canAccess = 4;
 | 
			
		||||
	string role = 2;
 | 
			
		||||
	string name = 3;
 | 
			
		||||
	string ip = 4;
 | 
			
		||||
	bool canAccess = 5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message CreateNodeIPAddressResponse {
 | 
			
		||||
@@ -67,6 +68,7 @@ message DisableNodeIPAddressResponse {
 | 
			
		||||
// 禁用节点的所有IP地址
 | 
			
		||||
message DisableAllIPAddressesWithNodeIdRequest {
 | 
			
		||||
	int64 nodeId = 1;
 | 
			
		||||
	string role = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message DisableAllIPAddressesWithNodeIdResponse {
 | 
			
		||||
@@ -85,6 +87,7 @@ message FindEnabledNodeIPAddressResponse {
 | 
			
		||||
// 查找节点的所有地址
 | 
			
		||||
message FindAllEnabledIPAddressesWithNodeIdRequest {
 | 
			
		||||
	int64 nodeId = 1;
 | 
			
		||||
	string role = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindAllEnabledIPAddressesWithNodeIdResponse {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ option go_package = "./pb";
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "models/model_ns_node.proto";
 | 
			
		||||
import "models/model_node_install_status.proto";
 | 
			
		||||
import "models/rpc_messages.proto";
 | 
			
		||||
 | 
			
		||||
// 域名服务器节点服务
 | 
			
		||||
@@ -11,7 +12,7 @@ service NSNodeService {
 | 
			
		||||
	// 根据集群查找所有节点
 | 
			
		||||
	rpc findAllEnabledNSNodesWithNSClusterId (FindAllEnabledNSNodesWithNSClusterIdRequest) returns (FindAllEnabledNSNodesWithNSClusterIdResponse);
 | 
			
		||||
 | 
			
		||||
	// 节点数量
 | 
			
		||||
	// 所有可用的节点数量
 | 
			
		||||
	rpc countAllEnabledNSNodes (CountAllEnabledNSNodesRequest) returns (RPCCountResponse);
 | 
			
		||||
 | 
			
		||||
	// 计算匹配的节点数量
 | 
			
		||||
@@ -19,6 +20,30 @@ service NSNodeService {
 | 
			
		||||
 | 
			
		||||
	// 列出单页节点
 | 
			
		||||
	rpc listEnabledNSNodesMatch (ListEnabledNSNodesMatchRequest) returns (ListEnabledNSNodesMatchResponse);
 | 
			
		||||
 | 
			
		||||
	// 计算需要升级的节点数量
 | 
			
		||||
	rpc countAllUpgradeNSNodesWithNSClusterId (CountAllUpgradeNSNodesWithNSClusterIdRequest) returns (RPCCountResponse);
 | 
			
		||||
 | 
			
		||||
	// 创建节点
 | 
			
		||||
	rpc createNSNode (CreateNSNodeRequest) returns (CreateNSNodeResponse);
 | 
			
		||||
 | 
			
		||||
	// 删除节点
 | 
			
		||||
	rpc deleteNSNode (DeleteNSNodeRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 获取单个节点信息
 | 
			
		||||
	rpc findEnabledNSNode (FindEnabledNSNodeRequest) returns (FindEnabledNSNodeResponse);
 | 
			
		||||
 | 
			
		||||
	// 修改节点
 | 
			
		||||
	rpc updateNSNode (UpdateNSNodeRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 安装节点
 | 
			
		||||
	rpc installNSNode (InstallNSNodeRequest) returns (InstallNSNodeResponse);
 | 
			
		||||
 | 
			
		||||
	// 读取节点安装状态
 | 
			
		||||
	rpc findNSNodeInstallStatus (FindNSNodeInstallStatusRequest) returns (FindNSNodeInstallStatusResponse);
 | 
			
		||||
 | 
			
		||||
	// 修改节点安装状态
 | 
			
		||||
	rpc updateNSNodeIsInstalled (UpdateNSNodeIsInstalledRequest) returns (RPCSuccess);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据集群查找所有节点
 | 
			
		||||
@@ -30,7 +55,7 @@ message FindAllEnabledNSNodesWithNSClusterIdResponse {
 | 
			
		||||
	repeated NSNode nsNodes = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 节点数量
 | 
			
		||||
// 所有可用的节点数量
 | 
			
		||||
message CountAllEnabledNSNodesRequest {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -38,8 +63,8 @@ message CountAllEnabledNSNodesRequest {
 | 
			
		||||
// 计算匹配的节点数量
 | 
			
		||||
message CountAllEnabledNSNodesMatchRequest {
 | 
			
		||||
	int64 nsClusterId = 1;
 | 
			
		||||
	//int32 installState = 2;
 | 
			
		||||
	//int32 activeState = 3;
 | 
			
		||||
	int32 installState = 2;
 | 
			
		||||
	int32 activeState = 3;
 | 
			
		||||
	string keyword = 4;
 | 
			
		||||
	//int64 nodeGroupId = 5;
 | 
			
		||||
	//int64 nodeRegionId = 6;
 | 
			
		||||
@@ -50,6 +75,8 @@ message ListEnabledNSNodesMatchRequest {
 | 
			
		||||
	int64 offset = 1;
 | 
			
		||||
	int64 size = 2;
 | 
			
		||||
	int64 nsClusterId = 3;
 | 
			
		||||
	int32 installState = 4;
 | 
			
		||||
	int32 activeState = 5;
 | 
			
		||||
	string keyword = 6;
 | 
			
		||||
	//int64 nodeGroupId = 7;
 | 
			
		||||
	//int64 nodeRegionId = 8;
 | 
			
		||||
@@ -57,4 +84,65 @@ message ListEnabledNSNodesMatchRequest {
 | 
			
		||||
 | 
			
		||||
message ListEnabledNSNodesMatchResponse {
 | 
			
		||||
	repeated NSNode nsNodes = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 计算需要升级的节点数量
 | 
			
		||||
message CountAllUpgradeNSNodesWithNSClusterIdRequest {
 | 
			
		||||
	int64 nsClusterId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 创建节点
 | 
			
		||||
message CreateNSNodeRequest {
 | 
			
		||||
	string name = 1;
 | 
			
		||||
	int64 nodeClusterId = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message CreateNSNodeResponse {
 | 
			
		||||
	int64 nsNodeId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 删除节点
 | 
			
		||||
message DeleteNSNodeRequest {
 | 
			
		||||
	int64 nsNodeId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获取单个节点信息
 | 
			
		||||
message FindEnabledNSNodeRequest {
 | 
			
		||||
	int64 nsNodeId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindEnabledNSNodeResponse {
 | 
			
		||||
	NSNode nsNode = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改节点
 | 
			
		||||
message UpdateNSNodeRequest {
 | 
			
		||||
	int64 nsNodeId = 1;
 | 
			
		||||
	string name = 2;
 | 
			
		||||
	int64 nsClusterId = 3;
 | 
			
		||||
	bool isOn = 6;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 安装节点
 | 
			
		||||
message InstallNSNodeRequest {
 | 
			
		||||
	int64 nsNodeId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message InstallNSNodeResponse {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 读取节点安装状态
 | 
			
		||||
message FindNSNodeInstallStatusRequest {
 | 
			
		||||
	int64 nsNodeId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindNSNodeInstallStatusResponse {
 | 
			
		||||
	NodeInstallStatus installStatus = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改节点安装状态
 | 
			
		||||
message UpdateNSNodeIsInstalledRequest {
 | 
			
		||||
	int64 nsNodeId = 1;
 | 
			
		||||
	bool isInstalled = 2;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user