syntax = "proto3"; option go_package = "./pb"; package pb; import "models/model_node.proto"; import "models/model_node_login.proto"; import "models/model_node_install_status.proto"; import "models/model_dns_route.proto"; import "models/rpc_messages.proto"; service NodeService { // 创建节点 rpc createNode (CreateNodeRequest) returns (CreateNodeResponse); // 注册集群节点 rpc registerClusterNode (RegisterClusterNodeRequest) returns (RegisterClusterNodeResponse); // 节点数量 rpc countAllEnabledNodes (CountAllEnabledNodesRequest) returns (RPCCountResponse); // 计算匹配的节点数量 rpc countAllEnabledNodesMatch (CountAllEnabledNodesMatchRequest) returns (RPCCountResponse); // 列出单页节点 rpc listEnabledNodesMatch (ListEnabledNodesMatchRequest) returns (ListEnabledNodesMatchResponse); // 根据集群查找所有节点 rpc findAllEnabledNodesWithClusterId (FindAllEnabledNodesWithClusterIdRequest) returns (FindAllEnabledNodesWithClusterIdResponse); // 删除节点 rpc deleteNode (DeleteNodeRequest) returns (RPCSuccess); // 修改节点 rpc updateNode (UpdateNodeRequest) returns (RPCSuccess); // 查看单个节点 rpc findEnabledNode (FindEnabledNodeRequest) returns (FindEnabledNodeResponse); // 获取当前节点配置 rpc findCurrentNodeConfig (FindCurrentNodeConfigRequest) returns (FindCurrentNodeConfigResponse); // 节点stream rpc nodeStream (stream NodeStreamMessage) returns (stream NodeStreamMessage); // 向节点发送命令 rpc sendCommandToNode (NodeStreamMessage) returns (NodeStreamMessage); // 更新节点状态 rpc updateNodeStatus (UpdateNodeStatusRequest) returns (RPCSuccess); // 修改节点安装状态 rpc updateNodeIsInstalled (UpdateNodeIsInstalledRequest) returns (RPCSuccess); // 安装节点 rpc installNode (InstallNodeRequest) returns (InstallNodeResponse); // 升级节点 rpc upgradeNode (UpgradeNodeRequest) returns (UpgradeNodeResponse); // 启动节点 rpc startNode (StartNodeRequest) returns (StartNodeResponse); // 停止节点 rpc stopNode (StopNodeRequest) returns (StopNodeResponse); // 更改节点连接的API节点信息 rpc updateNodeConnectedAPINodes (UpdateNodeConnectedAPINodesRequest) returns (RPCSuccess); // 计算使用某个认证的节点数量 rpc countAllEnabledNodesWithGrantId (CountAllEnabledNodesWithGrantIdRequest) returns (RPCCountResponse); // 查找使用某个认证的所有节点 rpc findAllEnabledNodesWithGrantId (FindAllEnabledNodesWithGrantIdRequest) returns (FindAllEnabledNodesWithGrantIdResponse); // 计算没有安装的节点数量 rpc countAllNotInstalledNodesWithClusterId (CountAllNotInstalledNodesWithClusterIdRequest) returns (RPCCountResponse); // 列出所有未安装的节点 rpc findAllNotInstalledNodesWithClusterId (FindAllNotInstalledNodesWithClusterIdRequest) returns (FindAllNotInstalledNodesWithClusterIdResponse); // 计算需要升级的节点数量 rpc countAllUpgradeNodesWithClusterId (CountAllUpgradeNodesWithClusterIdRequest) returns (RPCCountResponse); // 列出所有需要升级的节点 rpc findAllUpgradeNodesWithClusterId (FindAllUpgradeNodesWithClusterIdRequest) returns (FindAllUpgradeNodesWithClusterIdResponse); // 读取节点安装状态 rpc findNodeInstallStatus (FindNodeInstallStatusRequest) returns (FindNodeInstallStatusResponse); // 修改节点登录信息 rpc updateNodeLogin (UpdateNodeLoginRequest) returns (RPCSuccess); // 计算某个节点分组内的节点数量 rpc countAllEnabledNodesWithNodeGroupId (CountAllEnabledNodesWithNodeGroupIdRequest) returns (RPCCountResponse); // 取得某个集群下的所有节点DNS信息 rpc findAllEnabledNodesDNSWithClusterId (FindAllEnabledNodesDNSWithClusterIdRequest) returns (FindAllEnabledNodesDNSWithClusterIdResponse); // 查找单个节点的域名解析信息 rpc findEnabledNodeDNS (FindEnabledNodeDNSRequest) returns (FindEnabledNodeDNSResponse); // 修改节点的DNS解析信息 rpc updateNodeDNS (UpdateNodeDNSRequest) returns (RPCSuccess); // 计算某个区域下的节点数量 rpc countAllEnabledNodesWithNodeRegionId (CountAllEnabledNodesWithNodeRegionIdRequest) returns (RPCCountResponse); // 根据一组ID获取节点信息 rpc findEnabledNodesWithIds (FindEnabledNodesWithIdsRequest) returns (FindEnabledNodesWithIdsResponse); // 检查新版本 rpc checkNodeLatestVersion (CheckNodeLatestVersionRequest) returns (CheckNodeLatestVersionResponse); // 设置节点上线状态 rpc updateNodeUp (UpdateNodeUpRequest) returns (RPCSuccess); } // 创建节点 message CreateNodeRequest { string name = 1; int64 nodeClusterId = 2; NodeLogin Login = 3; int64 groupId = 4; int64 dnsDomainId = 5; repeated string dnsRoutes = 6; int64 regionId = 7; } message CreateNodeResponse { int64 nodeId = 1; } // 注册集群节点 message RegisterClusterNodeRequest { string name = 1; } message RegisterClusterNodeResponse { string uniqueId = 1; string secret = 2; repeated string endpoints = 3; } // 节点数量 message CountAllEnabledNodesRequest { } // 列出单页节点 message ListEnabledNodesMatchRequest { int64 offset = 1; int64 size = 2; int64 nodeClusterId = 3; int32 installState = 4; int32 activeState = 5; string keyword = 6; int64 groupId = 7; int64 regionId = 8; } message ListEnabledNodesMatchResponse { repeated Node nodes = 1; } // 根据集群查找所有节点 message FindAllEnabledNodesWithClusterIdRequest { int64 nodeClusterId = 1; } message FindAllEnabledNodesWithClusterIdResponse { repeated Node nodes = 1; } // 删除节点 message DeleteNodeRequest { int64 nodeId = 1; } // 修改节点 message UpdateNodeRequest { int64 nodeId = 1; string name = 2; int64 nodeClusterId = 3; NodeLogin Login = 4; int32 maxCPU = 5; bool isOn = 6; int64 groupId = 7; int64 dnsDomainId = 8; repeated string dnsRoutes = 9; int64 regionId = 10; } // 查找节点 message FindEnabledNodeRequest { int64 nodeId = 1; } message FindEnabledNodeResponse { Node node = 1; } // 组合单个节点配置 message FindCurrentNodeConfigRequest { // 由于登录信息中已经包含了节点信息,所以这里不需要nodeId int64 version = 1; } message FindCurrentNodeConfigResponse { bytes nodeJSON = 1; bool isChanged = 2; } // 节点stream message NodeStreamMessage { int64 nodeId = 1; int64 requestId = 2; int32 timeoutSeconds = 3; string code = 4; bytes dataJSON = 5; bool isOk = 6; string message = 7; } // 更新节点状态 message UpdateNodeStatusRequest { int64 nodeId = 1; bytes statusJSON = 2; } // 计算匹配的节点数量 message CountAllEnabledNodesMatchRequest { int64 nodeClusterId = 1; int32 installState = 2; int32 activeState = 3; string keyword = 4; int64 groupId = 5; int64 regionId = 6; } // 修改节点安装状态 message UpdateNodeIsInstalledRequest { int64 nodeId = 1; bool isInstalled = 2; } // 安装节点 message InstallNodeRequest { int64 nodeId = 1; } message InstallNodeResponse { } // 升级节点 message UpgradeNodeRequest { int64 nodeId = 1; } message UpgradeNodeResponse { } // 启动节点 message StartNodeRequest { int64 nodeId = 1; } message StartNodeResponse { bool isOk = 1; string error = 2; } // 停止节点 message StopNodeRequest { int64 nodeId = 1; } message StopNodeResponse { bool isOk = 1; string error = 2; } // 更改节点连接的API节点信息 message UpdateNodeConnectedAPINodesRequest { repeated int64 apiNodeIds = 1; } // 计算使用某个认证的节点数量 message CountAllEnabledNodesWithGrantIdRequest { int64 grantId = 1; } // 查找使用某个认证的所有节点 message FindAllEnabledNodesWithGrantIdRequest { int64 grantId = 1; } message FindAllEnabledNodesWithGrantIdResponse { repeated Node nodes = 1; } // 列出所有未安装的节点 message FindAllNotInstalledNodesWithClusterIdRequest { int64 nodeClusterId = 1; } message FindAllNotInstalledNodesWithClusterIdResponse { repeated Node nodes = 1; } // 计算未安装的节点数量 message CountAllNotInstalledNodesWithClusterIdRequest { int64 nodeClusterId = 1; } // 计算需要升级的节点数量 message CountAllUpgradeNodesWithClusterIdRequest { int64 nodeClusterId = 1; } // 列出所有需要升级的节点 message FindAllUpgradeNodesWithClusterIdRequest { int64 nodeClusterId = 1; } message FindAllUpgradeNodesWithClusterIdResponse { repeated NodeUpgrade nodes = 1; message NodeUpgrade { Node node = 1; string os = 2; string arch = 3; string oldVersion = 4; string newVersion = 5; } } // 读取节点安装状态 message FindNodeInstallStatusRequest { int64 nodeId = 1; } message FindNodeInstallStatusResponse { NodeInstallStatus installStatus = 1; } // 修改节点登录信息 message UpdateNodeLoginRequest { int64 nodeId = 1; NodeLogin Login = 2; } // 计算某个节点分组内的节点数量 message CountAllEnabledNodesWithNodeGroupIdRequest { int64 nodeGroupId = 1; } // 取得某个集群下的所有节点 message FindAllEnabledNodesDNSWithClusterIdRequest { int64 nodeClusterId = 1; } message FindAllEnabledNodesDNSWithClusterIdResponse { repeated NodeDNSInfo nodes = 1; } message NodeDNSInfo { int64 id = 1; string name = 2; string ipAddr = 3; repeated DNSRoute routes = 4; int64 nodeClusterId = 5; int64 dnsDomainId = 6; string dnsDomainName = 7; string nodeClusterDNSName = 8; } // 查找单个节点的域名解析信息 message FindEnabledNodeDNSRequest { int64 nodeId = 1; } message FindEnabledNodeDNSResponse { NodeDNSInfo node = 1; } // 修改节点的DNS信息 message UpdateNodeDNSRequest { int64 nodeId = 1; string ipAddr = 2; int64 dnsDomainId = 3; repeated string routes = 4; } // 计算某个区域下的节点数量 message CountAllEnabledNodesWithNodeRegionIdRequest { int64 nodeRegionId = 1; } // 根据一组ID获取节点信息 message FindEnabledNodesWithIdsRequest { repeated int64 nodeIds = 1; } message FindEnabledNodesWithIdsResponse { repeated Node nodes = 1; } // 检查新版本 message CheckNodeLatestVersionRequest { string os = 1; string arch = 2; string currentVersion = 3; } message CheckNodeLatestVersionResponse { bool hasNewVersion = 1; string newVersion = 2; } // 设置节点上线状态 message UpdateNodeUpRequest { int64 nodeId = 1; bool isUp = 2; }