实现完整的集群、域名同步

This commit is contained in:
刘祥超
2020-11-14 21:28:07 +08:00
parent 9f67a584b4
commit 2da1ab384c
12 changed files with 507 additions and 172 deletions

View File

@@ -0,0 +1,40 @@
package services
import (
"context"
"github.com/TeaOSLab/EdgeAPI/internal/db/models"
rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
)
// DNS相关服务
type DNSService struct {
}
// 查找问题
func (this *DNSService) FindAllDNSIssues(ctx context.Context, req *pb.FindAllDNSIssuesRequest) (*pb.FindAllDNSIssuesResponse, error) {
// 校验请求
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
if err != nil {
return nil, err
}
result := []*pb.DNSIssue{}
clusters, err := models.SharedNodeClusterDAO.FindAllEnabledClustersHaveDNSDomain()
if err != nil {
return nil, err
}
for _, cluster := range clusters {
issues, err := models.SharedNodeClusterDAO.CheckClusterDNS(cluster)
if err != nil {
return nil, err
}
if len(issues) > 0 {
result = append(result, issues...)
break
}
}
return &pb.FindAllDNSIssuesResponse{Issues: result}, nil
}