syntax = "proto3"; option go_package = "./pb"; package pb; import "model_node.proto"; import "model_node_login.proto"; import "model_node_install_status.proto"; import "rpc_messages.proto"; service NodeService { // 创建节点 rpc createNode (CreateNodeRequest) returns (CreateNodeResponse); // 注册集群节点 rpc registerClusterNode (RegisterClusterNodeRequest) returns (RegisterClusterNodeResponse); // 节点数量 rpc countAllEnabledNodes (CountAllEnabledNodesRequest) returns (CountAllEnabledNodesResponse); // 计算匹配的节点数量 rpc countAllEnabledNodesMatch (CountAllEnabledNodesMatchRequest) returns (CountAllEnabledNodesMatchResponse); // 列出单页节点 rpc listEnabledNodesMatch (ListEnabledNodesMatchRequest) returns (ListEnabledNodesMatchResponse); // 根据集群查找所有节点 rpc findAllEnabledNodesWithClusterId (FindAllEnabledNodesWithClusterIdRequest) returns (FindAllEnabledNodesWithClusterIdResponse); // 禁用节点 rpc disableNode (DisableNodeRequest) returns (DisableNodeResponse); // 修改节点 rpc updateNode (UpdateNodeRequest) returns (RPCUpdateSuccess); // 查看单个节点 rpc findEnabledNode (FindEnabledNodeRequest) returns (FindEnabledNodeResponse); // 组合单个节点配置 rpc composeNodeConfig (ComposeNodeConfigRequest) returns (ComposeNodeConfigResponse); // 节点stream rpc nodeStream (stream NodeStreamMessage) returns (stream NodeStreamMessage); // 向节点发送命令 rpc sendCommandToNode (NodeStreamMessage) returns (NodeStreamMessage); // 更新节点状态 rpc updateNodeStatus (UpdateNodeStatusRequest) returns (RPCUpdateSuccess); // 同步集群中的节点版本 rpc syncNodesVersionWithCluster (SyncNodesVersionWithClusterRequest) returns (SyncNodesVersionWithClusterResponse); // 修改节点安装状态 rpc updateNodeIsInstalled (UpdateNodeIsInstalledRequest) returns (RPCUpdateSuccess); // 安装节点 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 (RPCUpdateSuccess); // 计算使用某个认证的节点数量 rpc countAllEnabledNodesWithGrantId (CountAllEnabledNodesWithGrantIdRequest) returns (CountAllEnabledNodesWithGrantIdResponse); // 查找使用某个认证的所有节点 rpc findAllEnabledNodesWithGrantId (FindAllEnabledNodesWithGrantIdRequest) returns (FindAllEnabledNodesWithGrantIdResponse); // 列出所有未安装的节点 rpc findAllNotInstalledNodesWithClusterId (FindAllNotInstalledNodesWithClusterIdRequest) returns (FindAllNotInstalledNodesWithClusterIdResponse); // 列出所有需要升级的节点 rpc findAllUpgradeNodesWithClusterId (FindAllUpgradeNodesWithClusterIdRequest) returns (FindAllUpgradeNodesWithClusterIdResponse); // 读取节点安装状态 rpc findNodeInstallStatus (FindNodeInstallStatusRequest) returns (FindNodeInstallStatusResponse); // 修改节点登录信息 rpc updateNodeLogin (UpdateNodeLoginRequest) returns (RPCUpdateSuccess); } // 创建节点 message CreateNodeRequest { string name = 1; int64 clusterId = 2; NodeLogin Login = 3; } 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 CountAllEnabledNodesResponse { int64 count = 1; } // 列出单页节点 message ListEnabledNodesMatchRequest { int64 offset = 1; int64 size = 2; int64 clusterId = 3; int32 installState = 4; int32 activeState = 5; } message ListEnabledNodesMatchResponse { repeated Node nodes = 1; } // 根据集群查找所有节点 message FindAllEnabledNodesWithClusterIdRequest { int64 clusterId = 1; } message FindAllEnabledNodesWithClusterIdResponse { repeated Node nodes = 1; } // 禁用节点 message DisableNodeRequest { int64 nodeId = 1; } message DisableNodeResponse { } // 修改节点 message UpdateNodeRequest { int64 nodeId = 1; string name = 2; int64 clusterId = 3; NodeLogin Login = 4; int32 maxCPU = 5; bool isOn = 6; } // 查找节点 message FindEnabledNodeRequest { int64 nodeId = 1; } message FindEnabledNodeResponse { Node node = 1; } // 组合单个节点配置 message ComposeNodeConfigRequest { } message ComposeNodeConfigResponse { bytes nodeJSON = 1; } // 节点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 SyncNodesVersionWithClusterRequest { int64 clusterId = 1; } message SyncNodesVersionWithClusterResponse { } // 计算匹配的节点数量 message CountAllEnabledNodesMatchRequest { int64 clusterId = 1; int32 installState = 2; int32 activeState = 3; } message CountAllEnabledNodesMatchResponse { int64 count = 1; } // 修改节点安装状态 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 CountAllEnabledNodesWithGrantIdResponse { int64 count = 1; } // 查找使用某个认证的所有节点 message FindAllEnabledNodesWithGrantIdRequest { int64 grantId = 1; } message FindAllEnabledNodesWithGrantIdResponse { repeated Node nodes = 1; } // 列出所有未安装的节点 message FindAllNotInstalledNodesWithClusterIdRequest { int64 clusterId = 1; } message FindAllNotInstalledNodesWithClusterIdResponse { repeated Node nodes = 1; } // 列出所有需要升级的节点 message FindAllUpgradeNodesWithClusterIdRequest { int64 clusterId = 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; }