Files
EdgeCommon/pkg/rpc/protos/service_node.proto
2021-05-26 14:40:21 +08:00

429 lines
10 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 "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/model_size_capacity.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 findAllEnabledNodesWithNodeClusterId (FindAllEnabledNodesWithNodeClusterIdRequest) returns (FindAllEnabledNodesWithNodeClusterIdResponse);
// 删除节点
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 countAllEnabledNodesWithNodeGrantId (CountAllEnabledNodesWithNodeGrantIdRequest) returns (RPCCountResponse);
// 查找使用某个认证的所有节点
rpc findAllEnabledNodesWithNodeGrantId (FindAllEnabledNodesWithNodeGrantIdRequest) returns (FindAllEnabledNodesWithNodeGrantIdResponse);
// 计算没有安装的节点数量
rpc countAllNotInstalledNodesWithNodeClusterId (CountAllNotInstalledNodesWithNodeClusterIdRequest) returns (RPCCountResponse);
// 列出所有未安装的节点
rpc findAllNotInstalledNodesWithNodeClusterId (FindAllNotInstalledNodesWithNodeClusterIdRequest) returns (FindAllNotInstalledNodesWithNodeClusterIdResponse);
// 计算需要升级的节点数量
rpc countAllUpgradeNodesWithNodeClusterId (CountAllUpgradeNodesWithNodeClusterIdRequest) returns (RPCCountResponse);
// 列出所有需要升级的节点
rpc findAllUpgradeNodesWithNodeClusterId (FindAllUpgradeNodesWithNodeClusterIdRequest) returns (FindAllUpgradeNodesWithNodeClusterIdResponse);
// 读取节点安装状态
rpc findNodeInstallStatus (FindNodeInstallStatusRequest) returns (FindNodeInstallStatusResponse);
// 修改节点登录信息
rpc updateNodeLogin (UpdateNodeLoginRequest) returns (RPCSuccess);
// 计算某个节点分组内的节点数量
rpc countAllEnabledNodesWithNodeGroupId (CountAllEnabledNodesWithNodeGroupIdRequest) returns (RPCCountResponse);
// 取得某个集群下的所有节点DNS信息
rpc findAllEnabledNodesDNSWithNodeClusterId (FindAllEnabledNodesDNSWithNodeClusterIdRequest) returns (FindAllEnabledNodesDNSWithNodeClusterIdResponse);
// 查找单个节点的域名解析信息
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 nodeLogin = 3;
int64 nodeGroupId = 4;
int64 dnsDomainId = 5;
repeated string dnsRoutes = 6;
int64 nodeRegionId = 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 nodeGroupId = 7;
int64 nodeRegionId = 8;
}
message ListEnabledNodesMatchResponse {
repeated Node nodes = 1;
}
// 根据集群查找所有节点
message FindAllEnabledNodesWithNodeClusterIdRequest {
int64 nodeClusterId = 1;
}
message FindAllEnabledNodesWithNodeClusterIdResponse {
repeated Node nodes = 1;
}
// 删除节点
message DeleteNodeRequest {
int64 nodeId = 1;
}
// 修改节点
message UpdateNodeRequest {
int64 nodeId = 1;
string name = 2;
int64 nodeClusterId = 3;
NodeLogin nodeLogin = 4;
int32 maxCPU = 5;
bool isOn = 6;
int64 nodeGroupId = 7;
int64 dnsDomainId = 8;
repeated string dnsRoutes = 9;
int64 nodeRegionId = 10;
SizeCapacity maxCacheDiskCapacity = 11;
SizeCapacity maxCacheMemoryCapacity = 12;
}
// 获取单个节点信息
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 nodeGroupId = 5;
int64 nodeRegionId = 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 CountAllEnabledNodesWithNodeGrantIdRequest {
int64 nodeGrantId = 1;
}
// 查找使用某个认证的所有节点
message FindAllEnabledNodesWithNodeGrantIdRequest {
int64 nodeGrantId = 1;
}
message FindAllEnabledNodesWithNodeGrantIdResponse {
repeated Node nodes = 1;
}
// 列出所有未安装的节点
message FindAllNotInstalledNodesWithNodeClusterIdRequest {
int64 nodeClusterId = 1;
}
message FindAllNotInstalledNodesWithNodeClusterIdResponse {
repeated Node nodes = 1;
}
// 计算未安装的节点数量
message CountAllNotInstalledNodesWithNodeClusterIdRequest {
int64 nodeClusterId = 1;
}
// 计算需要升级的节点数量
message CountAllUpgradeNodesWithNodeClusterIdRequest {
int64 nodeClusterId = 1;
}
// 列出所有需要升级的节点
message FindAllUpgradeNodesWithNodeClusterIdRequest {
int64 nodeClusterId = 1;
}
message FindAllUpgradeNodesWithNodeClusterIdResponse {
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 nodeLogin = 2;
}
// 计算某个节点分组内的节点数量
message CountAllEnabledNodesWithNodeGroupIdRequest {
int64 nodeGroupId = 1;
}
// 取得某个集群下的所有节点
message FindAllEnabledNodesDNSWithNodeClusterIdRequest {
int64 nodeClusterId = 1;
}
message FindAllEnabledNodesDNSWithNodeClusterIdResponse {
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;
}