99 "github.com/TeaOSLab/EdgeAPI/internal/dnsclients/dnstypes"
1010 "github.com/TeaOSLab/EdgeAPI/internal/errors"
1111 rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils"
12+ "github.com/TeaOSLab/EdgeAPI/internal/utils"
1213 "github.com/TeaOSLab/EdgeAPI/internal/utils/numberutils"
1314 "github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
1415 "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
@@ -17,12 +18,12 @@ import (
1718 "net"
1819)
1920
20- // DNS域名相关服务
21+ // DNSDomainService DNS域名相关服务
2122type DNSDomainService struct {
2223 BaseService
2324}
2425
25- // 创建域名
26+ // CreateDNSDomain 创建域名
2627func (this * DNSDomainService ) CreateDNSDomain (ctx context.Context , req * pb.CreateDNSDomainRequest ) (* pb.CreateDNSDomainResponse , error ) {
2728 // 校验请求
2829 adminId , userId , err := this .ValidateAdminAndUser (ctx , 0 , 0 )
@@ -93,7 +94,7 @@ func (this *DNSDomainService) CreateDNSDomain(ctx context.Context, req *pb.Creat
9394 return & pb.CreateDNSDomainResponse {DnsDomainId : domainId }, nil
9495}
9596
96- // 修改域名
97+ // UpdateDNSDomain 修改域名
9798func (this * DNSDomainService ) UpdateDNSDomain (ctx context.Context , req * pb.UpdateDNSDomainRequest ) (* pb.RPCSuccess , error ) {
9899 // 校验请求
99100 _ , _ , err := rpcutils .ValidateRequest (ctx , rpcutils .UserTypeAdmin )
@@ -110,7 +111,7 @@ func (this *DNSDomainService) UpdateDNSDomain(ctx context.Context, req *pb.Updat
110111 return this .Success ()
111112}
112113
113- // 删除域名
114+ // DeleteDNSDomain 删除域名
114115func (this * DNSDomainService ) DeleteDNSDomain (ctx context.Context , req * pb.DeleteDNSDomainRequest ) (* pb.RPCSuccess , error ) {
115116 // 校验请求
116117 _ , _ , err := rpcutils .ValidateRequest (ctx , rpcutils .UserTypeAdmin )
@@ -127,7 +128,7 @@ func (this *DNSDomainService) DeleteDNSDomain(ctx context.Context, req *pb.Delet
127128 return this .Success ()
128129}
129130
130- // 查询单个域名完整信息
131+ // FindEnabledDNSDomain 查询单个域名完整信息
131132func (this * DNSDomainService ) FindEnabledDNSDomain (ctx context.Context , req * pb.FindEnabledDNSDomainRequest ) (* pb.FindEnabledDNSDomainResponse , error ) {
132133 // 校验请求
133134 _ , _ , err := rpcutils .ValidateRequest (ctx , rpcutils .UserTypeAdmin )
@@ -149,7 +150,7 @@ func (this *DNSDomainService) FindEnabledDNSDomain(ctx context.Context, req *pb.
149150 return & pb.FindEnabledDNSDomainResponse {DnsDomain : pbDomain }, nil
150151}
151152
152- // 查询单个域名基础信息
153+ // FindEnabledBasicDNSDomain 查询单个域名基础信息
153154func (this * DNSDomainService ) FindEnabledBasicDNSDomain (ctx context.Context , req * pb.FindEnabledBasicDNSDomainRequest ) (* pb.FindEnabledBasicDNSDomainResponse , error ) {
154155 // 校验请求
155156 _ , _ , err := rpcutils .ValidateRequest (ctx , rpcutils .UserTypeAdmin )
@@ -175,7 +176,7 @@ func (this *DNSDomainService) FindEnabledBasicDNSDomain(ctx context.Context, req
175176 }}, nil
176177}
177178
178- // 计算服务商下的域名数量
179+ // CountAllEnabledDNSDomainsWithDNSProviderId 计算服务商下的域名数量
179180func (this * DNSDomainService ) CountAllEnabledDNSDomainsWithDNSProviderId (ctx context.Context , req * pb.CountAllEnabledDNSDomainsWithDNSProviderIdRequest ) (* pb.RPCCountResponse , error ) {
180181 // 校验请求
181182 _ , _ , err := rpcutils .ValidateRequest (ctx , rpcutils .UserTypeAdmin )
@@ -192,7 +193,7 @@ func (this *DNSDomainService) CountAllEnabledDNSDomainsWithDNSProviderId(ctx con
192193 return this .SuccessCount (count )
193194}
194195
195- // 列出服务商下的所有域名
196+ // FindAllEnabledDNSDomainsWithDNSProviderId 列出服务商下的所有域名
196197func (this * DNSDomainService ) FindAllEnabledDNSDomainsWithDNSProviderId (ctx context.Context , req * pb.FindAllEnabledDNSDomainsWithDNSProviderIdRequest ) (* pb.FindAllEnabledDNSDomainsWithDNSProviderIdResponse , error ) {
197198 // 校验请求
198199 _ , _ , err := rpcutils .ValidateRequest (ctx , rpcutils .UserTypeAdmin )
@@ -219,7 +220,7 @@ func (this *DNSDomainService) FindAllEnabledDNSDomainsWithDNSProviderId(ctx cont
219220 return & pb.FindAllEnabledDNSDomainsWithDNSProviderIdResponse {DnsDomains : result }, nil
220221}
221222
222- // 列出服务商下的所有域名基本信息
223+ // FindAllEnabledBasicDNSDomainsWithDNSProviderId 列出服务商下的所有域名基本信息
223224func (this * DNSDomainService ) FindAllEnabledBasicDNSDomainsWithDNSProviderId (ctx context.Context , req * pb.FindAllEnabledBasicDNSDomainsWithDNSProviderIdRequest ) (* pb.FindAllEnabledBasicDNSDomainsWithDNSProviderIdResponse , error ) {
224225 // 校验请求
225226 _ , _ , err := rpcutils .ValidateRequest (ctx , rpcutils .UserTypeAdmin )
@@ -246,7 +247,7 @@ func (this *DNSDomainService) FindAllEnabledBasicDNSDomainsWithDNSProviderId(ctx
246247 return & pb.FindAllEnabledBasicDNSDomainsWithDNSProviderIdResponse {DnsDomains : result }, nil
247248}
248249
249- // 同步域名数据
250+ // SyncDNSDomainData 同步域名数据
250251func (this * DNSDomainService ) SyncDNSDomainData (ctx context.Context , req * pb.SyncDNSDomainDataRequest ) (* pb.SyncDNSDomainDataResponse , error ) {
251252 // 校验请求
252253 _ , _ , err := rpcutils .ValidateRequest (ctx , rpcutils .UserTypeAdmin )
@@ -256,7 +257,7 @@ func (this *DNSDomainService) SyncDNSDomainData(ctx context.Context, req *pb.Syn
256257 return this .syncClusterDNS (req )
257258}
258259
259- // 查看支持的线路
260+ // FindAllDNSDomainRoutes 查看支持的线路
260261func (this * DNSDomainService ) FindAllDNSDomainRoutes (ctx context.Context , req * pb.FindAllDNSDomainRoutesRequest ) (* pb.FindAllDNSDomainRoutesResponse , error ) {
261262 // 校验请求
262263 _ , _ , err := rpcutils .ValidateRequest (ctx , rpcutils .UserTypeAdmin )
@@ -282,7 +283,7 @@ func (this *DNSDomainService) FindAllDNSDomainRoutes(ctx context.Context, req *p
282283 return & pb.FindAllDNSDomainRoutesResponse {Routes : pbRoutes }, nil
283284}
284285
285- // 判断是否有域名可选
286+ // ExistAvailableDomains 判断是否有域名可选
286287func (this * DNSDomainService ) ExistAvailableDomains (ctx context.Context , req * pb.ExistAvailableDomainsRequest ) (* pb.ExistAvailableDomainsResponse , error ) {
287288 // 校验请求
288289 _ , _ , err := rpcutils .ValidateRequest (ctx , rpcutils .UserTypeAdmin )
@@ -404,7 +405,7 @@ func (this *DNSDomainService) findClusterDNSChanges(cluster *models.NodeCluster,
404405 nodeRecords := []* dnstypes.Record {} // 之所以用数组再存一遍,是因为dnsName可能会重复
405406 nodeRecordMapping := map [string ]* dnstypes.Record {} // value_route => *Record
406407 for _ , record := range records {
407- if record .Type == dnstypes .RecordTypeA && record .Name == clusterDnsName {
408+ if ( record .Type == dnstypes .RecordTypeA || record . Type == dnstypes . RecordTypeAAAA ) && record .Name == clusterDnsName {
408409 nodeRecords = append (nodeRecords , record )
409410 nodeRecordMapping [record .Value + "_" + record .Route ] = record
410411 }
@@ -440,12 +441,16 @@ func (this *DNSDomainService) findClusterDNSChanges(cluster *models.NodeCluster,
440441 nodeKeys = append (nodeKeys , key )
441442 record , ok := nodeRecordMapping [key ]
442443 if ! ok {
444+ recordType := dnstypes .RecordTypeA
445+ if utils .IsIPv6 (ip ) {
446+ recordType = dnstypes .RecordTypeAAAA
447+ }
443448 result = append (result , maps.Map {
444449 "action" : "create" ,
445450 "record" : & dnstypes.Record {
446451 Id : "" ,
447452 Name : clusterDnsName ,
448- Type : dnstypes . RecordTypeA ,
453+ Type : recordType ,
449454 Value : ip ,
450455 Route : route ,
451456 },
0 commit comments