Files
EdgeCommon/pkg/rpc/protos/service_server.proto

556 lines
14 KiB
Protocol Buffer
Raw Normal View History

2020-09-13 19:27:47 +08:00
syntax = "proto3";
option go_package = "./pb";
package pb;
2020-09-17 10:15:55 +08:00
import "models/model_server.proto";
import "models/model_dns_domain.proto";
import "models/model_server_name_auditing_result.proto";
import "models/rpc_messages.proto";
2021-11-28 20:11:54 +08:00
import "models/model_user_plan.proto";
2020-09-13 19:27:47 +08:00
service ServerService {
// 创建服务
rpc createServer (CreateServerRequest) returns (CreateServerResponse);
2020-09-15 14:44:38 +08:00
// 修改服务基本信息
rpc updateServerBasic (UpdateServerBasicRequest) returns (RPCSuccess);
2020-09-15 14:44:38 +08:00
2020-12-23 10:30:42 +08:00
// 修改服务是否启用
rpc updateServerIsOn (UpdateServerIsOnRequest) returns (RPCSuccess);
2020-09-15 14:44:38 +08:00
// 修改服务的HTTP设置
rpc updateServerHTTP (UpdateServerHTTPRequest) returns (RPCSuccess);
2020-09-15 14:44:38 +08:00
// 修改服务的HTTPS设置
rpc updateServerHTTPS (UpdateServerHTTPSRequest) returns (RPCSuccess);
2020-09-15 14:44:38 +08:00
// 修改服务的TCP设置
rpc updateServerTCP (UpdateServerTCPRequest) returns (RPCSuccess);
2020-09-15 14:44:38 +08:00
// 修改服务的TLS设置
rpc updateServerTLS (UpdateServerTLSRequest) returns (RPCSuccess);
2020-09-15 14:44:38 +08:00
// 修改服务的Unix设置
rpc updateServerUnix (UpdateServerUnixRequest) returns (RPCSuccess);
2020-09-15 14:44:38 +08:00
// 修改服务的UDP设置
rpc updateServerUDP (UpdateServerUDPRequest) returns (RPCSuccess);
2020-09-15 14:44:38 +08:00
// 修改服务的Web设置
rpc updateServerWeb (UpdateServerWebRequest) returns (RPCSuccess);
2020-09-15 14:44:38 +08:00
// 修改服务的反向代理设置
rpc updateServerReverseProxy (UpdateServerReverseProxyRequest) returns (RPCSuccess);
2020-09-15 14:44:38 +08:00
// 查找服务的域名设置
rpc findServerNames (FindServerNamesRequest) returns (FindServerNamesResponse);
2020-09-15 14:44:38 +08:00
// 修改服务的域名设置
rpc updateServerNames (UpdateServerNamesRequest) returns (RPCSuccess);
2020-09-13 19:27:47 +08:00
2020-12-23 10:30:42 +08:00
// 审核服务的域名设置
rpc updateServerNamesAuditing (UpdateServerNamesAuditingRequest) returns (RPCSuccess);
2021-10-16 12:03:44 +08:00
// 修改服务的DNS相关设置
rpc updateServerDNS(UpdateServerDNSRequest) returns (RPCSuccess);
// 重新生成CNAME
rpc regenerateServerCNAME(RegenerateServerCNAMERequest) returns (RPCSuccess);
2020-10-31 15:21:35 +08:00
// 计算匹配的服务数量
2020-11-12 14:41:23 +08:00
rpc countAllEnabledServersMatch (CountAllEnabledServersMatchRequest) returns (RPCCountResponse);
2020-09-13 19:27:47 +08:00
// 列出单页服务
2020-10-31 15:21:35 +08:00
rpc listEnabledServersMatch (ListEnabledServersMatchRequest) returns (ListEnabledServersMatchResponse);
2020-09-13 19:27:47 +08:00
// 禁用某服务
2020-12-23 10:30:42 +08:00
rpc deleteServer (DeleteServerRequest) returns (RPCSuccess);
2020-09-13 19:27:47 +08:00
// 查找单个服务
rpc findEnabledServer (FindEnabledServerRequest) returns (FindEnabledServerResponse);
2020-09-15 14:44:38 +08:00
2020-12-23 10:30:42 +08:00
// 查找服务配置
rpc findEnabledServerConfig (FindEnabledServerConfigRequest) returns (FindEnabledServerConfigResponse);
2020-09-15 14:44:38 +08:00
// 查找服务的服务类型
rpc findEnabledServerType (FindEnabledServerTypeRequest) returns (FindEnabledServerTypeResponse);
// 查找反向代理设置
2020-09-21 11:37:09 +08:00
rpc findAndInitServerReverseProxyConfig (FindAndInitServerReverseProxyConfigRequest) returns (FindAndInitServerReverseProxyConfigResponse);
2020-09-16 09:09:31 +08:00
// 初始化Web设置
2020-09-21 19:52:10 +08:00
rpc findAndInitServerWebConfig (FindAndInitServerWebConfigRequest) returns (FindAndInitServerWebConfigResponse);
2020-09-30 17:46:33 +08:00
// 计算使用某个SSL证书的服务数量
2020-11-12 14:41:23 +08:00
rpc countAllEnabledServersWithSSLCertId (CountAllEnabledServersWithSSLCertIdRequest) returns (RPCCountResponse);
2020-09-30 17:46:33 +08:00
// 查找使用某个SSL证书的所有服务
2020-10-02 17:22:46 +08:00
rpc findAllEnabledServersWithSSLCertId (FindAllEnabledServersWithSSLCertIdRequest) returns (FindAllEnabledServersWithSSLCertIdResponse);
2020-10-25 16:22:40 +08:00
// 计算运行在某个集群上的所有服务数量
2020-11-12 14:41:23 +08:00
rpc countAllEnabledServersWithNodeClusterId (CountAllEnabledServersWithNodeClusterIdRequest) returns (RPCCountResponse);
2020-10-29 20:53:47 +08:00
// 计算使用某个分组的服务数量
2021-05-25 17:08:52 +08:00
rpc countAllEnabledServersWithServerGroupId (CountAllEnabledServersWithServerGroupIdRequest) returns (RPCCountResponse);
// 通知更新
rpc notifyServersChange (NotifyServersChangeRequest) returns (NotifyServersChangeResponse);
2020-11-14 11:05:49 +08:00
// 取得某个集群下的所有服务相关的DNS
2021-05-25 17:08:52 +08:00
rpc findAllEnabledServersDNSWithNodeClusterId (FindAllEnabledServersDNSWithNodeClusterIdRequest) returns (FindAllEnabledServersDNSWithNodeClusterIdResponse);
2020-11-17 11:22:23 +08:00
// 查找单个服务的DNS信息
rpc findEnabledServerDNS (FindEnabledServerDNSRequest) returns (FindEnabledServerDNSResponse);
2020-12-23 10:30:42 +08:00
// 检查服务是否属于某个用户
rpc checkUserServer (CheckUserServerRequest) returns (RPCSuccess);
// 查找一个用户下的所有域名列表
rpc findAllEnabledServerNamesWithUserId (FindAllEnabledServerNamesWithUserIdRequest) returns (FindAllEnabledServerNamesWithUserIdResponse);
// 查找用户服务基本信息
rpc findEnabledUserServerBasic (FindEnabledUserServerBasicRequest) returns (FindEnabledUserServerBasicResponse);
// 修改用户服务基本信息
rpc updateEnabledUserServerBasic (UpdateEnabledUserServerBasicRequest) returns (RPCSuccess);
// 上传HTTP请求待统计数据
rpc uploadServerHTTPRequestStat (UploadServerHTTPRequestStatRequest) returns (RPCSuccess);
// 检查域名是否已经存在
rpc checkServerNameDuplicationInNodeCluster (CheckServerNameDuplicationInNodeClusterRequest) returns (CheckServerNameDuplicationInNodeClusterResponse);
2021-05-04 21:02:21 +08:00
// 查找最近访问的服务
rpc findLatestServers (FindLatestServersRequest) returns (FindLatestServersResponse);
// 查找某个服务附近的服务
rpc findNearbyServers(FindNearbyServersRequest) returns (FindNearbyServersResponse);
2021-10-17 17:12:36 +08:00
// 清除缓存
rpc purgeServerCache(PurgeServerCacheRequest) returns (PurgeServerCacheResponse);
2021-11-09 17:36:34 +08:00
// 查找流量限制
rpc findEnabledServerTrafficLimit(FindEnabledServerTrafficLimitRequest) returns (FindEnabledServerTrafficLimitResponse);
2021-11-09 17:36:34 +08:00
// 设置流量限制
rpc updateServerTrafficLimit(UpdateServerTrafficLimitRequest) returns (RPCSuccess);
2021-11-09 15:36:31 +08:00
// 修改服务套餐
rpc updateServerUserPlan(UpdateServerUserPlanRequest) returns (RPCSuccess);
2021-11-28 20:11:54 +08:00
// 获取服务套餐信息
rpc findServerUserPlan(FindServerUserPlanRequest) returns (FindServerUserPlanResponse);
2020-09-13 19:27:47 +08:00
}
// 创建服务
message CreateServerRequest {
int64 userId = 1;
int64 adminId = 2;
string type = 3;
string name = 4;
string description = 5;
2020-09-15 14:44:38 +08:00
// 配置相关
bytes serverNamesJON = 8;
bytes httpJSON = 9;
bytes httpsJSON = 10;
bytes tcpJSON = 11;
bytes tlsJSON = 12;
bytes unixJSON = 13;
bytes udpJSON = 14;
int64 webId = 15;
2020-09-21 11:37:09 +08:00
bytes reverseProxyJSON = 16;
2021-05-25 17:08:52 +08:00
repeated int64 serverGroupIds = 17;
2021-11-09 15:36:31 +08:00
int64 userPlanId = 18;
2020-09-15 14:44:38 +08:00
int64 nodeClusterId = 30;
2020-09-15 14:44:38 +08:00
bytes includeNodesJSON = 31;
bytes excludeNodesJSON = 32;
2020-09-13 19:27:47 +08:00
}
message CreateServerResponse {
int64 serverId = 1;
}
2020-09-15 14:44:38 +08:00
// 修改服务基本信息
message UpdateServerBasicRequest {
2020-09-13 19:27:47 +08:00
int64 serverId = 1;
2020-09-15 14:44:38 +08:00
string name = 2;
string description = 3;
int64 nodeClusterId = 4;
2020-09-28 16:25:49 +08:00
bool isOn = 5;
2021-05-25 17:08:52 +08:00
repeated int64 serverGroupIds = 6;
2020-09-15 14:44:38 +08:00
}
2020-12-23 10:30:42 +08:00
// 修改服务启是否启用
message UpdateServerIsOnRequest {
int64 serverId = 1;
bool isOn = 2;
}
2020-09-15 14:44:38 +08:00
// 修改服务的HTTP等设置
message UpdateServerHTTPRequest {
int64 serverId = 1;
2020-12-23 10:30:42 +08:00
bytes httpJSON = 2;
2020-09-15 14:44:38 +08:00
}
message UpdateServerHTTPSRequest {
int64 serverId = 1;
2020-12-23 10:30:42 +08:00
bytes httpsJSON = 2;
2020-09-15 14:44:38 +08:00
}
message UpdateServerTCPRequest {
int64 serverId = 1;
2020-12-23 10:30:42 +08:00
bytes tcpJSON = 2;
2020-09-15 14:44:38 +08:00
}
message UpdateServerTLSRequest {
int64 serverId = 1;
2020-12-23 10:30:42 +08:00
bytes tlsJSON = 2;
2020-09-15 14:44:38 +08:00
}
message UpdateServerUnixRequest {
int64 serverId = 1;
2020-12-23 10:30:42 +08:00
bytes unixJSON = 2;
2020-09-15 14:44:38 +08:00
}
message UpdateServerUDPRequest {
int64 serverId = 1;
2020-12-23 10:30:42 +08:00
bytes udpJSON = 2;
2020-09-15 14:44:38 +08:00
}
message UpdateServerWebRequest {
int64 serverId = 1;
int64 webId = 2;
2020-09-13 19:27:47 +08:00
}
2021-09-22 19:39:55 +08:00
// 修改服务的反向代理设置
2020-09-15 14:44:38 +08:00
message UpdateServerReverseProxyRequest {
int64 serverId = 1;
2020-09-21 11:37:09 +08:00
bytes reverseProxyJSON = 2;
2020-09-15 14:44:38 +08:00
}
// 查找服务的域名设置
message FindServerNamesRequest {
int64 serverId = 1;
}
message FindServerNamesResponse {
bytes serverNamesJSON = 1;
2020-12-23 10:30:42 +08:00
bool isAuditing = 2;
int64 auditingAt = 5;
2020-12-23 10:30:42 +08:00
bytes auditingServerNamesJSON = 3;
ServerNameAuditingResult auditingResult = 4;
}
// 修改服务的域名设置
2020-09-15 14:44:38 +08:00
message UpdateServerNamesRequest {
int64 serverId = 1;
2020-12-23 10:30:42 +08:00
bytes serverNamesJSON = 2;
}
// 审核服务的域名设置
message UpdateServerNamesAuditingRequest {
int64 serverId = 1;
ServerNameAuditingResult auditingResult = 2;
2020-09-15 14:44:38 +08:00
}
2021-10-16 12:03:44 +08:00
// 修改服务的DNS相关设置
message UpdateServerDNSRequest {
int64 serverId = 1;
bool supportCNAME = 2;
}
// 重新生成CNAME
message RegenerateServerCNAMERequest {
int64 serverId = 1;
}
2020-09-13 19:27:47 +08:00
// 计算服务数量
2020-10-31 15:21:35 +08:00
message CountAllEnabledServersMatchRequest {
2021-05-25 17:08:52 +08:00
int64 serverGroupId = 1;
2020-10-31 15:21:35 +08:00
string keyword = 2;
2020-12-18 21:19:25 +08:00
int64 userId = 3;
2021-05-25 17:08:52 +08:00
int64 nodeClusterId = 4;
2020-12-23 10:30:42 +08:00
int32 auditingFlag = 5;
string protocolFamily = 6;
2020-09-13 19:27:47 +08:00
}
// 列出单页服务
2020-10-31 15:21:35 +08:00
message ListEnabledServersMatchRequest {
2020-09-13 19:27:47 +08:00
int64 offset = 1;
int64 size = 2;
2021-05-25 17:08:52 +08:00
int64 serverGroupId = 3;
2020-10-31 15:21:35 +08:00
string keyword = 4;
2020-12-18 21:19:25 +08:00
int64 userId = 5;
2021-05-25 17:08:52 +08:00
int64 nodeClusterId = 6;
2020-12-23 10:30:42 +08:00
int32 auditingFlag = 7;
string protocolFamily = 8;
2020-09-13 19:27:47 +08:00
}
2020-10-31 15:21:35 +08:00
message ListEnabledServersMatchResponse {
2020-09-13 19:27:47 +08:00
repeated Server servers = 1;
}
// 禁用服务
2020-12-23 10:30:42 +08:00
message DeleteServerRequest {
2020-09-13 19:27:47 +08:00
int64 serverId = 1;
}
// 查找单个服务
message FindEnabledServerRequest {
int64 serverId = 1;
}
message FindEnabledServerResponse {
Server server = 1;
2020-09-15 14:44:38 +08:00
}
2020-12-23 10:30:42 +08:00
// 查找服务配置
message FindEnabledServerConfigRequest {
int64 serverId = 1;
}
message FindEnabledServerConfigResponse {
bytes serverJSON = 1;
}
2020-09-15 14:44:38 +08:00
// 查找服务的服务类型
message FindEnabledServerTypeRequest {
int64 serverId = 1;
}
message FindEnabledServerTypeResponse {
string type = 1;
}
// 查找反向代理设置
2020-09-21 11:37:09 +08:00
message FindAndInitServerReverseProxyConfigRequest {
2020-09-15 14:44:38 +08:00
int64 serverId = 1;
}
2020-09-21 11:37:09 +08:00
message FindAndInitServerReverseProxyConfigResponse {
2020-09-21 19:52:10 +08:00
bytes reverseProxyJSON = 1;
bytes reverseProxyRefJSON = 2;
2020-09-16 09:09:31 +08:00
}
// 初始化Web设置
2020-09-21 19:52:10 +08:00
message FindAndInitServerWebConfigRequest {
2020-09-16 09:09:31 +08:00
int64 serverId = 1;
}
2020-09-21 19:52:10 +08:00
message FindAndInitServerWebConfigResponse {
bytes webJSON = 1;
2020-09-30 17:46:33 +08:00
}
// 计算使用某个SSL证书的服务数量
2020-10-02 17:22:46 +08:00
message CountAllEnabledServersWithSSLCertIdRequest {
2020-12-18 21:19:25 +08:00
int64 sslCertId = 1;
2020-09-30 17:46:33 +08:00
}
// 查找使用某个SSL证书的所有服务
2020-10-02 17:22:46 +08:00
message FindAllEnabledServersWithSSLCertIdRequest {
2020-12-18 21:19:25 +08:00
int64 sslCertId = 1;
2020-09-30 17:46:33 +08:00
}
2020-10-02 17:22:46 +08:00
message FindAllEnabledServersWithSSLCertIdResponse {
repeated Server servers = 1;
}
2020-10-25 16:22:40 +08:00
// 计算运行在某个集群上的所有服务数量
message CountAllEnabledServersWithNodeClusterIdRequest {
int64 nodeClusterId = 1;
}
2020-10-29 20:53:47 +08:00
// 计算使用某个分组的服务数量
2021-05-25 17:08:52 +08:00
message CountAllEnabledServersWithServerGroupIdRequest {
int64 serverGroupId = 1;
2020-10-29 20:53:47 +08:00
}
// 通知更新
message NotifyServersChangeRequest {
}
message NotifyServersChangeResponse {
2020-11-14 11:05:49 +08:00
}
// 取得某个集群下的所有服务相关的DNS
2021-05-25 17:08:52 +08:00
message FindAllEnabledServersDNSWithNodeClusterIdRequest {
int64 nodeClusterId = 1;
2020-11-14 11:05:49 +08:00
}
2021-05-25 17:08:52 +08:00
message FindAllEnabledServersDNSWithNodeClusterIdResponse {
2020-11-14 11:05:49 +08:00
repeated ServerDNSInfo servers = 1;
}
message ServerDNSInfo {
int64 id = 1;
string name = 2;
string dnsName = 3;
2020-11-17 11:22:23 +08:00
}
// 查找单个服务的DNS信息
message FindEnabledServerDNSRequest {
int64 serverId = 1;
}
message FindEnabledServerDNSResponse {
string dnsName = 1;
DNSDomain domain = 2;
2021-10-16 12:03:44 +08:00
bool supportCNAME = 3;
2020-12-23 10:30:42 +08:00
}
// 检查服务是否属于某个用户
message CheckUserServerRequest {
int64 serverId = 1;
}
// 查找一个用户下的所有域名列表
message FindAllEnabledServerNamesWithUserIdRequest {
int64 userId = 1;
}
message FindAllEnabledServerNamesWithUserIdResponse {
repeated string serverNames = 1;
}
// 查找用户服务基本信息
message FindEnabledUserServerBasicRequest {
int64 serverId = 1;
}
message FindEnabledUserServerBasicResponse {
Server server = 1;
}
// 修改用户服务基本信息
message UpdateEnabledUserServerBasicRequest {
int64 serverId = 1;
string name = 2;
}
// 上传HTTP请求待统计数据
message UploadServerHTTPRequestStatRequest {
2021-01-26 18:40:08 +08:00
string month = 1;
string day = 2;
repeated RegionCity regionCities = 3;
repeated RegionProvider regionProviders = 4;
repeated System systems = 5;
repeated Browser browsers = 6;
repeated HTTPFirewallRuleGroup httpFirewallRuleGroups = 7;
message RegionCity {
int64 serverId = 1;
string countryName = 2;
string provinceName = 3;
string cityName = 4;
int64 count = 5;
}
message RegionProvider {
int64 serverId = 1;
string name = 2;
int64 count = 3;
}
message System {
int64 serverId = 1;
string name = 2;
string version = 3;
int64 count = 4;
}
message Browser {
int64 serverId = 1;
string name = 2;
string version = 3;
int64 count = 4;
}
2021-01-26 18:40:08 +08:00
message HTTPFirewallRuleGroup {
int64 serverId = 1;
int64 httpFirewallRuleGroupId = 2;
string action = 3;
int64 count = 4;
}
}
// 检查域名是否已经存在
message CheckServerNameDuplicationInNodeClusterRequest {
int64 nodeClusterId = 1;
repeated string serverNames = 2; // 可以同时检查一批域名
int64 excludeServerId = 3; // 要排除的服务ID
}
message CheckServerNameDuplicationInNodeClusterResponse {
repeated string duplicatedServerNames = 1;
2021-05-04 21:02:21 +08:00
}
// 查找最近访问的服务
message FindLatestServersRequest {
int64 size = 1;
}
message FindLatestServersResponse {
repeated Server servers = 1;
}
// 查找某个服务附近的服务
message FindNearbyServersRequest {
int64 serverId = 1;
}
message FindNearbyServersResponse {
string scope = 1; // 范围 cluster|group
repeated GroupInfo groups = 2;
message GroupInfo {
string name = 1;
repeated Server servers = 2;
}
2021-10-17 17:12:36 +08:00
}
// 清除缓存
message PurgeServerCacheRequest {
repeated string domains = 1;
repeated string keys = 2;
repeated string prefixes = 3;
}
message PurgeServerCacheResponse {
bool isOk = 1;
string message = 2;
}
2021-11-09 17:36:34 +08:00
// 查找流量限制
message FindEnabledServerTrafficLimitRequest {
int64 serverId = 1;
}
2021-11-09 17:36:34 +08:00
message FindEnabledServerTrafficLimitResponse {
bytes trafficLimitJSON = 1;
}
2021-11-09 17:36:34 +08:00
// 设置流量限制
message UpdateServerTrafficLimitRequest {
int64 serverId = 1;
2021-11-09 17:36:34 +08:00
bytes trafficLimitJSON = 2;
2021-11-09 15:36:31 +08:00
}
// 修改服务套餐
message UpdateServerUserPlanRequest {
int64 serverId = 1;
int64 userPlanId = 2;
2021-11-28 20:11:54 +08:00
}
// 获取服务套餐信息
message FindServerUserPlanRequest {
int64 serverId = 1;
}
message FindServerUserPlanResponse {
UserPlan userPlan = 1;
}