管理端全部功能跑通

This commit is contained in:
robin
2026-02-27 10:35:22 +08:00
parent 4d275c921d
commit 150799f41d
263 changed files with 22664 additions and 4053 deletions

View File

@@ -0,0 +1,29 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message HTTPDNSAccessLog {
int64 id = 1;
string requestId = 2;
int64 clusterId = 3;
int64 nodeId = 4;
string appId = 5;
string appName = 6;
string domain = 7;
string qtype = 8;
string clientIP = 9;
string clientRegion = 10;
string carrier = 11;
string sdkVersion = 12;
string os = 13;
string resultIPs = 14;
string status = 15;
string errorCode = 16;
int32 costMs = 17;
int64 createdAt = 18;
string day = 19;
string summary = 20;
string nodeName = 21;
string clusterName = 22;
}

View File

@@ -0,0 +1,20 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message HTTPDNSApp {
int64 id = 1;
string name = 2;
string appId = 3;
bool isOn = 4;
int64 primaryClusterId = 5;
int64 backupClusterId = 6;
string sniMode = 7;
bool signEnabled = 8;
string signSecret = 9;
int64 signUpdatedAt = 10;
int64 createdAt = 11;
int64 updatedAt = 12;
int64 userId = 13;
}

View File

@@ -0,0 +1,18 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message HTTPDNSCluster {
int64 id = 1;
bool isOn = 2;
bool isDefault = 3;
string name = 4;
string serviceDomain = 5;
int32 defaultTTL = 6;
int32 fallbackTimeoutMs = 7;
string installDir = 8;
bytes tlsPolicyJSON = 9;
int64 createdAt = 10;
int64 updatedAt = 11;
}

View File

@@ -0,0 +1,14 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message HTTPDNSDomain {
int64 id = 1;
int64 appId = 2;
string domain = 3;
bool isOn = 4;
int64 createdAt = 5;
int64 updatedAt = 6;
int64 ruleCount = 7;
}

View File

@@ -0,0 +1,21 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message HTTPDNSNode {
int64 id = 1;
int64 clusterId = 2;
string name = 3;
bool isOn = 4;
bool isUp = 5;
bool isInstalled = 6;
bool isActive = 7;
string uniqueId = 8;
string secret = 9;
string installDir = 10;
bytes statusJSON = 11;
bytes installStatusJSON = 12;
int64 createdAt = 13;
int64 updatedAt = 14;
}

View File

@@ -0,0 +1,31 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message HTTPDNSRuleRecord {
int64 id = 1;
int64 ruleId = 2;
string recordType = 3;
string recordValue = 4;
int32 weight = 5;
int32 sort = 6;
}
message HTTPDNSCustomRule {
int64 id = 1;
int64 appId = 2;
int64 domainId = 3;
string ruleName = 4;
string lineScope = 5;
string lineCarrier = 6;
string lineRegion = 7;
string lineProvince = 8;
string lineContinent = 9;
string lineCountry = 10;
int32 ttl = 11;
bool isOn = 12;
int32 priority = 13;
int64 updatedAt = 14;
repeated HTTPDNSRuleRecord records = 15;
}

View File

@@ -0,0 +1,20 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message HTTPDNSRuntimeLog {
int64 id = 1;
int64 clusterId = 2;
int64 nodeId = 3;
string level = 4;
string type = 5;
string module = 6;
string description = 7;
int64 count = 8;
string requestId = 9;
int64 createdAt = 10;
string day = 11;
string clusterName = 12;
string nodeName = 13;
}

View File

@@ -0,0 +1,35 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_httpdns_access_log.proto";
service HTTPDNSAccessLogService {
rpc createHTTPDNSAccessLogs (CreateHTTPDNSAccessLogsRequest) returns (CreateHTTPDNSAccessLogsResponse);
rpc listHTTPDNSAccessLogs (ListHTTPDNSAccessLogsRequest) returns (ListHTTPDNSAccessLogsResponse);
}
message CreateHTTPDNSAccessLogsRequest {
repeated HTTPDNSAccessLog logs = 1;
}
message CreateHTTPDNSAccessLogsResponse {
}
message ListHTTPDNSAccessLogsRequest {
string day = 1;
int64 clusterId = 2;
int64 nodeId = 3;
string appId = 4;
string domain = 5;
string status = 6;
string keyword = 7;
int64 offset = 8;
int64 size = 9;
}
message ListHTTPDNSAccessLogsResponse {
repeated HTTPDNSAccessLog logs = 1;
int64 total = 2;
}

View File

@@ -0,0 +1,84 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_httpdns_app.proto";
import "models/rpc_messages.proto";
service HTTPDNSAppService {
rpc createHTTPDNSApp (CreateHTTPDNSAppRequest) returns (CreateHTTPDNSAppResponse);
rpc updateHTTPDNSApp (UpdateHTTPDNSAppRequest) returns (RPCSuccess);
rpc deleteHTTPDNSApp (DeleteHTTPDNSAppRequest) returns (RPCSuccess);
rpc findHTTPDNSApp (FindHTTPDNSAppRequest) returns (FindHTTPDNSAppResponse);
rpc listHTTPDNSApps (ListHTTPDNSAppsRequest) returns (ListHTTPDNSAppsResponse);
rpc findAllHTTPDNSApps (FindAllHTTPDNSAppsRequest) returns (FindAllHTTPDNSAppsResponse);
rpc updateHTTPDNSAppSignEnabled (UpdateHTTPDNSAppSignEnabledRequest) returns (RPCSuccess);
rpc resetHTTPDNSAppSignSecret (ResetHTTPDNSAppSignSecretRequest) returns (ResetHTTPDNSAppSignSecretResponse);
}
message CreateHTTPDNSAppRequest {
string name = 1;
string appId = 2;
int64 primaryClusterId = 3;
int64 backupClusterId = 4;
bool isOn = 5;
bool signEnabled = 6;
int64 userId = 7;
}
message CreateHTTPDNSAppResponse {
int64 appDbId = 1;
}
message UpdateHTTPDNSAppRequest {
int64 appDbId = 1;
string name = 2;
int64 primaryClusterId = 3;
int64 backupClusterId = 4;
bool isOn = 5;
int64 userId = 6;
}
message DeleteHTTPDNSAppRequest {
int64 appDbId = 1;
}
message FindHTTPDNSAppRequest {
int64 appDbId = 1;
}
message FindHTTPDNSAppResponse {
HTTPDNSApp app = 1;
}
message ListHTTPDNSAppsRequest {
int64 offset = 1;
int64 size = 2;
string keyword = 3;
}
message ListHTTPDNSAppsResponse {
repeated HTTPDNSApp apps = 1;
}
message FindAllHTTPDNSAppsRequest {
}
message FindAllHTTPDNSAppsResponse {
repeated HTTPDNSApp apps = 1;
}
message UpdateHTTPDNSAppSignEnabledRequest {
int64 appDbId = 1;
bool signEnabled = 2;
}
message ResetHTTPDNSAppSignSecretRequest {
int64 appDbId = 1;
}
message ResetHTTPDNSAppSignSecretResponse {
string signSecret = 1;
int64 updatedAt = 2;
}

View File

@@ -0,0 +1,87 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_httpdns_cluster.proto";
import "models/model_httpdns_node.proto";
import "models/rpc_messages.proto";
service HTTPDNSClusterService {
rpc createHTTPDNSCluster (CreateHTTPDNSClusterRequest) returns (CreateHTTPDNSClusterResponse);
rpc updateHTTPDNSCluster (UpdateHTTPDNSClusterRequest) returns (RPCSuccess);
rpc deleteHTTPDNSCluster (DeleteHTTPDNSClusterRequest) returns (RPCSuccess);
rpc findHTTPDNSCluster (FindHTTPDNSClusterRequest) returns (FindHTTPDNSClusterResponse);
rpc listHTTPDNSClusters (ListHTTPDNSClustersRequest) returns (ListHTTPDNSClustersResponse);
rpc findAllHTTPDNSClusters (FindAllHTTPDNSClustersRequest) returns (FindAllHTTPDNSClustersResponse);
rpc updateHTTPDNSClusterDefault (UpdateHTTPDNSClusterDefaultRequest) returns (RPCSuccess);
rpc listHTTPDNSNodesWithClusterId (ListHTTPDNSNodesWithClusterIdRequest) returns (ListHTTPDNSNodesWithClusterIdResponse);
}
message CreateHTTPDNSClusterRequest {
string name = 1;
string serviceDomain = 2;
int32 defaultTTL = 3;
int32 fallbackTimeoutMs = 4;
string installDir = 5;
bytes tlsPolicyJSON = 6;
bool isOn = 7;
bool isDefault = 8;
}
message CreateHTTPDNSClusterResponse {
int64 clusterId = 1;
}
message UpdateHTTPDNSClusterRequest {
int64 clusterId = 1;
string name = 2;
string serviceDomain = 3;
int32 defaultTTL = 4;
int32 fallbackTimeoutMs = 5;
string installDir = 6;
bytes tlsPolicyJSON = 7;
bool isOn = 8;
bool isDefault = 9;
}
message DeleteHTTPDNSClusterRequest {
int64 clusterId = 1;
}
message FindHTTPDNSClusterRequest {
int64 clusterId = 1;
}
message FindHTTPDNSClusterResponse {
HTTPDNSCluster cluster = 1;
}
message ListHTTPDNSClustersRequest {
int64 offset = 1;
int64 size = 2;
string keyword = 3;
}
message ListHTTPDNSClustersResponse {
repeated HTTPDNSCluster clusters = 1;
}
message FindAllHTTPDNSClustersRequest {
}
message FindAllHTTPDNSClustersResponse {
repeated HTTPDNSCluster clusters = 1;
}
message UpdateHTTPDNSClusterDefaultRequest {
int64 clusterId = 1;
}
message ListHTTPDNSNodesWithClusterIdRequest {
int64 clusterId = 1;
}
message ListHTTPDNSNodesWithClusterIdResponse {
repeated HTTPDNSNode nodes = 1;
}

View File

@@ -0,0 +1,42 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_httpdns_domain.proto";
import "models/rpc_messages.proto";
service HTTPDNSDomainService {
rpc createHTTPDNSDomain (CreateHTTPDNSDomainRequest) returns (CreateHTTPDNSDomainResponse);
rpc deleteHTTPDNSDomain (DeleteHTTPDNSDomainRequest) returns (RPCSuccess);
rpc updateHTTPDNSDomainStatus (UpdateHTTPDNSDomainStatusRequest) returns (RPCSuccess);
rpc listHTTPDNSDomainsWithAppId (ListHTTPDNSDomainsWithAppIdRequest) returns (ListHTTPDNSDomainsWithAppIdResponse);
}
message CreateHTTPDNSDomainRequest {
int64 appDbId = 1;
string domain = 2;
bool isOn = 3;
}
message CreateHTTPDNSDomainResponse {
int64 domainId = 1;
}
message DeleteHTTPDNSDomainRequest {
int64 domainId = 1;
}
message UpdateHTTPDNSDomainStatusRequest {
int64 domainId = 1;
bool isOn = 2;
}
message ListHTTPDNSDomainsWithAppIdRequest {
int64 appDbId = 1;
string keyword = 2;
}
message ListHTTPDNSDomainsWithAppIdResponse {
repeated HTTPDNSDomain domains = 1;
}

View File

@@ -0,0 +1,63 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_httpdns_node.proto";
import "models/rpc_messages.proto";
service HTTPDNSNodeService {
rpc createHTTPDNSNode (CreateHTTPDNSNodeRequest) returns (CreateHTTPDNSNodeResponse);
rpc updateHTTPDNSNode (UpdateHTTPDNSNodeRequest) returns (RPCSuccess);
rpc deleteHTTPDNSNode (DeleteHTTPDNSNodeRequest) returns (RPCSuccess);
rpc findHTTPDNSNode (FindHTTPDNSNodeRequest) returns (FindHTTPDNSNodeResponse);
rpc listHTTPDNSNodes (ListHTTPDNSNodesRequest) returns (ListHTTPDNSNodesResponse);
rpc updateHTTPDNSNodeStatus (UpdateHTTPDNSNodeStatusRequest) returns (RPCSuccess);
}
message CreateHTTPDNSNodeRequest {
int64 clusterId = 1;
string name = 2;
string installDir = 3;
bool isOn = 4;
}
message CreateHTTPDNSNodeResponse {
int64 nodeId = 1;
}
message UpdateHTTPDNSNodeRequest {
int64 nodeId = 1;
string name = 2;
string installDir = 3;
bool isOn = 4;
}
message DeleteHTTPDNSNodeRequest {
int64 nodeId = 1;
}
message FindHTTPDNSNodeRequest {
int64 nodeId = 1;
}
message FindHTTPDNSNodeResponse {
HTTPDNSNode node = 1;
}
message ListHTTPDNSNodesRequest {
int64 clusterId = 1;
}
message ListHTTPDNSNodesResponse {
repeated HTTPDNSNode nodes = 1;
}
message UpdateHTTPDNSNodeStatusRequest {
int64 nodeId = 1;
bool isUp = 2;
bool isInstalled = 3;
bool isActive = 4;
bytes statusJSON = 5;
bytes installStatusJSON = 6;
}

View File

@@ -0,0 +1,44 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_httpdns_rule.proto";
import "models/rpc_messages.proto";
service HTTPDNSRuleService {
rpc createHTTPDNSCustomRule (CreateHTTPDNSCustomRuleRequest) returns (CreateHTTPDNSCustomRuleResponse);
rpc updateHTTPDNSCustomRule (UpdateHTTPDNSCustomRuleRequest) returns (RPCSuccess);
rpc deleteHTTPDNSCustomRule (DeleteHTTPDNSCustomRuleRequest) returns (RPCSuccess);
rpc updateHTTPDNSCustomRuleStatus (UpdateHTTPDNSCustomRuleStatusRequest) returns (RPCSuccess);
rpc listHTTPDNSCustomRulesWithDomainId (ListHTTPDNSCustomRulesWithDomainIdRequest) returns (ListHTTPDNSCustomRulesWithDomainIdResponse);
}
message CreateHTTPDNSCustomRuleRequest {
HTTPDNSCustomRule rule = 1;
}
message CreateHTTPDNSCustomRuleResponse {
int64 ruleId = 1;
}
message UpdateHTTPDNSCustomRuleRequest {
HTTPDNSCustomRule rule = 1;
}
message DeleteHTTPDNSCustomRuleRequest {
int64 ruleId = 1;
}
message UpdateHTTPDNSCustomRuleStatusRequest {
int64 ruleId = 1;
bool isOn = 2;
}
message ListHTTPDNSCustomRulesWithDomainIdRequest {
int64 domainId = 1;
}
message ListHTTPDNSCustomRulesWithDomainIdResponse {
repeated HTTPDNSCustomRule rules = 1;
}

View File

@@ -0,0 +1,33 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/model_httpdns_runtime_log.proto";
service HTTPDNSRuntimeLogService {
rpc createHTTPDNSRuntimeLogs (CreateHTTPDNSRuntimeLogsRequest) returns (CreateHTTPDNSRuntimeLogsResponse);
rpc listHTTPDNSRuntimeLogs (ListHTTPDNSRuntimeLogsRequest) returns (ListHTTPDNSRuntimeLogsResponse);
}
message CreateHTTPDNSRuntimeLogsRequest {
repeated HTTPDNSRuntimeLog logs = 1;
}
message CreateHTTPDNSRuntimeLogsResponse {
}
message ListHTTPDNSRuntimeLogsRequest {
string day = 1;
int64 clusterId = 2;
int64 nodeId = 3;
string level = 4;
string keyword = 5;
int64 offset = 6;
int64 size = 7;
}
message ListHTTPDNSRuntimeLogsResponse {
repeated HTTPDNSRuntimeLog logs = 1;
int64 total = 2;
}

View File

@@ -0,0 +1,45 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "models/rpc_messages.proto";
service HTTPDNSSandboxService {
rpc testHTTPDNSResolve (TestHTTPDNSResolveRequest) returns (TestHTTPDNSResolveResponse);
}
message TestHTTPDNSResolveRequest {
int64 clusterId = 1;
string appId = 2;
string domain = 3;
string qtype = 4;
string clientIP = 5;
string sid = 6;
string sdkVersion = 7;
string os = 8;
}
message HTTPDNSResolveRecord {
string type = 1;
string ip = 2;
int32 ttl = 3;
int32 weight = 4;
string line = 5;
string region = 6;
}
message TestHTTPDNSResolveResponse {
string code = 1;
string message = 2;
string requestId = 3;
string domain = 4;
string qtype = 5;
int32 ttl = 6;
repeated HTTPDNSResolveRecord records = 7;
string clientIP = 8;
string clientRegion = 9;
string clientCarrier = 10;
string clientCountry = 11;
string summary = 12;
}