域名解析功能实现健康检查

This commit is contained in:
GoEdgeLab
2023-05-03 17:09:36 +08:00
parent 276f492152
commit f52a55e670
9 changed files with 1298 additions and 375 deletions

View File

@@ -19,6 +19,7 @@ message NSDomain {
repeated int64 nsDomainGroupIds = 8;
string status = 9;
int64 userId = 10; // 用户ID
bytes recordsHealthCheckJSON = 11; // 健康检查设置
NSCluster nsCluster = 30;
User user = 31;

View File

@@ -8,11 +8,11 @@ import "models/model_ns_route.proto";
// 域名记录
message NSRecord {
int64 id = 1;
string description = 2;
string name = 3;
string type = 4;
string value = 5;
int64 id = 1; // 记录ID
string description = 2; // 备注
string name = 3; // 记录名
string type = 4; // 记录类型
string value = 5; // 记录值
int32 mxPriority = 12; // mx优先级
@@ -23,13 +23,16 @@ message NSRecord {
int32 caaFlag = 16; // CAA Flag
string caaTag = 17; // CAA TAG
int32 ttl = 6;
int32 weight = 7;
int32 ttl = 6; // TTL
int32 weight = 7; // 权重
int64 createdAt = 8;
bool isDeleted = 9;
int64 version = 10;
bool isOn = 11;
bool isOn = 11; // 是否启用
NSDomain nsDomain = 30;
repeated NSRoute nsRoutes = 31;
bytes healthCheckJSON = 18; // 健康检查配置
bool isUp = 19; // 是否在线(根据健康检查结果)
NSDomain nsDomain = 30; // 所属域名
repeated NSRoute nsRoutes = 31; // 线路
}

View File

@@ -61,6 +61,12 @@ service NSDomainService {
// 验证域名信息
rpc verifyNSDomain(VerifyNSDomainRequest) returns (VerifyNSDomainResponse);
// 查询记录健康检查全局设置
rpc findNSDomainRecordsHealthCheck(FindNSDomainRecordsHealthCheckRequest) returns (FindNSDomainRecordsHealthCheckResponse);
// 修改记录健康检查全局设置
rpc updateNSDomainRecordsHealthCheck(UpdateNSDomainRecordsHealthCheckRequest) returns (RPCSuccess);
}
// 创建单个域名
@@ -231,4 +237,19 @@ message VerifyNSDomainResponse {
bool isOk = 1; // 是否成功
string errorCode = 2; // 错误代码
string errorMessage = 3; // 错误消息
}
// 查询记录健康检查全局设置
message FindNSDomainRecordsHealthCheckRequest {
int64 nsDomainId = 1; // 域名ID
}
message FindNSDomainRecordsHealthCheckResponse {
bytes nsDomainRecordsHealthCheckJSON = 1; // 健康检查设置
}
// 修改记录健康检查全局设置
message UpdateNSDomainRecordsHealthCheckRequest {
int64 nsDomainId = 1; // 域名ID
bytes nsDomainRecordsHealthCheckJSON = 2; // 健康检查设置
}

View File

@@ -55,6 +55,15 @@ service NSRecordService {
// 根据版本列出一组记录
rpc listNSRecordsAfterVersion (ListNSRecordsAfterVersionRequest) returns (ListNSRecordsAfterVersionResponse);
// 查询记录健康检查设置
rpc findNSRecordHealthCheck(FindNSRecordHealthCheckRequest) returns (FindNSRecordHealthCheckResponse);
// 修改记录健康检查设置
rpc updateNSRecordHealthCheck(UpdateNSRecordHealthCheckRequest) returns (RPCSuccess);
// 手动修改记录在线状态
rpc updateNSRecordIsUp(UpdateNSRecordIsUpRequest) returns (RPCSuccess);
}
// 创建记录
@@ -233,6 +242,8 @@ message ListNSRecordsRequest {
bool typeDesc = 11;
bool ttlAsc = 12;
bool ttlDesc = 13;
bool upAsc = 14;
bool upDesc = 15;
int64 offset = 5;
int64 size = 6;
@@ -281,4 +292,25 @@ message ListNSRecordsAfterVersionRequest {
message ListNSRecordsAfterVersionResponse {
repeated NSRecord nsRecords = 1;
}
// 查询记录健康检查设置
message FindNSRecordHealthCheckRequest {
int64 nsRecordId = 1; // 记录ID
}
message FindNSRecordHealthCheckResponse {
bytes nsRecordHealthCheckJSON = 1; // 记录健康检查配置
}
// 修改记录健康检查设置
message UpdateNSRecordHealthCheckRequest {
int64 nsRecordId = 1; // 记录ID
bytes nsRecordHealthCheckJSON = 2; // 记录健康检查配置
}
// 手动修改记录在线状态
message UpdateNSRecordIsUpRequest {
int64 nsRecordId = 1; // 记录ID
bool isUp = 2; // 是否在线
}