Files
EdgeCommon/pkg/rpc/protos/service_node.proto
2020-11-30 20:01:27 +08:00

379 lines
8.8 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
option go_package = "./pb";
package pb;
import "model_node.proto";
import "model_node_login.proto";
import "model_node_install_status.proto";
import "model_dns_route.proto";
import "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 syncNodesVersionWithCluster (SyncNodesVersionWithClusterRequest) returns (SyncNodesVersionWithClusterResponse);
// 修改节点安装状态
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 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 countAllEnabledNodesWithGroupId (CountAllEnabledNodesWithGroupIdRequest) returns (RPCCountResponse);
// 取得某个集群下的所有节点DNS信息
rpc findAllEnabledNodesDNSWithClusterId (FindAllEnabledNodesDNSWithClusterIdRequest) returns (FindAllEnabledNodesDNSWithClusterIdResponse);
// 查找单个节点的域名解析信息
rpc findEnabledNodeDNS (FindEnabledNodeDNSRequest) returns (FindEnabledNodeDNSResponse);
// 修改节点的DNS解析信息
rpc updateNodeDNS (UpdateNodeDNSRequest) returns (RPCSuccess);
}
// 创建节点
message CreateNodeRequest {
string name = 1;
int64 clusterId = 2;
NodeLogin Login = 3;
int64 groupId = 4;
int64 dnsDomainId = 5;
repeated string dnsRoutes = 6;
}
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 clusterId = 3;
int32 installState = 4;
int32 activeState = 5;
string keyword = 6;
int64 groupId = 7;
}
message ListEnabledNodesMatchResponse {
repeated Node nodes = 1;
}
// 根据集群查找所有节点
message FindAllEnabledNodesWithClusterIdRequest {
int64 clusterId = 1;
}
message FindAllEnabledNodesWithClusterIdResponse {
repeated Node nodes = 1;
}
// 删除节点
message DeleteNodeRequest {
int64 nodeId = 1;
}
// 修改节点
message UpdateNodeRequest {
int64 nodeId = 1;
string name = 2;
int64 clusterId = 3;
NodeLogin Login = 4;
int32 maxCPU = 5;
bool isOn = 6;
int64 groupId = 7;
int64 dnsDomainId = 8;
repeated string dnsRoutes = 9;
}
// 查找节点
message FindEnabledNodeRequest {
int64 nodeId = 1;
}
message FindEnabledNodeResponse {
Node node = 1;
}
// 组合单个节点配置
message FindCurrentNodeConfigRequest {
// 由于登录信息中已经包含了节点信息所以这里不需要nodeId
}
message FindCurrentNodeConfigResponse {
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;
string keyword = 4;
int64 groupId = 5;
}
// 修改节点安装状态
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 clusterId = 1;
}
message FindAllNotInstalledNodesWithClusterIdResponse {
repeated Node nodes = 1;
}
// 计算需要升级的节点数量
message CountAllUpgradeNodesWithClusterIdRequest {
int64 clusterId = 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;
}
// 计算某个节点分组内的节点数量
message CountAllEnabledNodesWithGroupIdRequest {
int64 groupId = 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 clusterId = 5;
int64 dnsDomainId = 6;
string dnsDomainName = 7;
}
// 查找单个节点的域名解析信息
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;
}