mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-15 00:40:26 +08:00
可以修改服务的DNS设置
This commit is contained in:
@@ -848,6 +848,35 @@ func (this *ServerDAO) FindAllServersToFixWithDNSDomainId(dnsDomainId int64) (re
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取某个集群下的服务DNS信息
|
||||||
|
func (this *ServerDAO) FindAllServersDNSWithClusterId(clusterId int64) (result []*Server, err error) {
|
||||||
|
_, err = this.Query().
|
||||||
|
State(ServerStateEnabled).
|
||||||
|
Attr("isOn", true).
|
||||||
|
Attr("clusterId", clusterId).
|
||||||
|
Result("id", "name", "dnsName").
|
||||||
|
DescPk().
|
||||||
|
Slice(&result).
|
||||||
|
FindAll()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 重新生成子域名
|
||||||
|
func (this *ServerDAO) GenerateServerDNSName(serverId int64) (string, error) {
|
||||||
|
if serverId <= 0 {
|
||||||
|
return "", errors.New("invalid serverId")
|
||||||
|
}
|
||||||
|
dnsName, err := this.genDNSName()
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
op := NewServerOperator()
|
||||||
|
op.Id = serverId
|
||||||
|
op.DnsName = dnsName
|
||||||
|
_, err = this.Save(op)
|
||||||
|
return dnsName, err
|
||||||
|
}
|
||||||
|
|
||||||
// 创建事件
|
// 创建事件
|
||||||
func (this *ServerDAO) createEvent() error {
|
func (this *ServerDAO) createEvent() error {
|
||||||
return SharedSysEventDAO.CreateEvent(NewServerChangeEvent())
|
return SharedSysEventDAO.CreateEvent(NewServerChangeEvent())
|
||||||
|
|||||||
@@ -856,3 +856,37 @@ func (this *ServerService) NotifyServersChange(ctx context.Context, req *pb.Noti
|
|||||||
|
|
||||||
return &pb.NotifyServersChangeResponse{}, nil
|
return &pb.NotifyServersChangeResponse{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 取得某个集群下的所有服务相关的DNS
|
||||||
|
func (this *ServerService) FindAllEnabledServersDNSWithClusterId(ctx context.Context, req *pb.FindAllEnabledServersDNSWithClusterIdRequest) (*pb.FindAllEnabledServersDNSWithClusterIdResponse, error) {
|
||||||
|
// 校验请求
|
||||||
|
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
servers, err := models.SharedServerDAO.FindAllServersDNSWithClusterId(req.ClusterId)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
result := []*pb.ServerDNSInfo{}
|
||||||
|
for _, server := range servers {
|
||||||
|
// 如果子域名为空
|
||||||
|
if len(server.DnsName) == 0 {
|
||||||
|
// 自动生成子域名
|
||||||
|
dnsName, err := models.SharedServerDAO.GenerateServerDNSName(int64(server.Id))
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
server.DnsName = dnsName
|
||||||
|
}
|
||||||
|
|
||||||
|
result = append(result, &pb.ServerDNSInfo{
|
||||||
|
Id: int64(server.Id),
|
||||||
|
Name: server.Name,
|
||||||
|
DnsName: server.DnsName,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
return &pb.FindAllEnabledServersDNSWithClusterIdResponse{Servers: result}, nil
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user