Merge pull request #716 from fudiwei/bugfix

bugfix
This commit is contained in:
RHQYZ 2025-05-21 20:31:09 +08:00 committed by GitHub
commit 0e8b271e8d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -89,6 +89,8 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
return &DNSProvider{ return &DNSProvider{
client: client, client: client,
config: config, config: config,
siteIDs: make(map[string]int64),
}, nil }, nil
} }
@ -100,7 +102,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
return fmt.Errorf("alicloud-esa: could not find zone for domain %q: %w", domain, err) return fmt.Errorf("alicloud-esa: could not find zone for domain %q: %w", domain, err)
} }
siteId, err := d.getSiteId(authZone) siteId, err := d.getSiteId(strings.TrimRight(authZone, "."))
if err != nil { if err != nil {
return fmt.Errorf("alicloud-esa: could not find site for zone %q: %w", authZone, err) return fmt.Errorf("alicloud-esa: could not find site for zone %q: %w", authZone, err)
} }
@ -120,7 +122,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("alicloud-esa: could not find zone for domain %q: %w", domain, err) return fmt.Errorf("alicloud-esa: could not find zone for domain %q: %w", domain, err)
} }
siteId, err := d.getSiteId(authZone) siteId, err := d.getSiteId(strings.TrimRight(authZone, "."))
if err != nil { if err != nil {
return fmt.Errorf("alicloud-esa: could not find site for zone %q: %w", authZone, err) return fmt.Errorf("alicloud-esa: could not find site for zone %q: %w", authZone, err)
} }
@ -149,8 +151,9 @@ func (d *DNSProvider) getSiteId(siteName string) (int64, error) {
for { for {
request := &aliesa.ListSitesRequest{ request := &aliesa.ListSitesRequest{
SiteName: tea.String(siteName), SiteName: tea.String(siteName),
SiteSearchType: tea.String("exact"),
PageNumber: tea.Int32(int32(pageNumber)), PageNumber: tea.Int32(int32(pageNumber)),
PageSize: tea.Int32(int32(pageNumber)), PageSize: tea.Int32(int32(pageSize)),
AccessType: tea.String("NS"), AccessType: tea.String("NS"),
} }
response, err := d.client.ListSites(request) response, err := d.client.ListSites(request)
@ -178,7 +181,7 @@ func (d *DNSProvider) getSiteId(siteName string) (int64, error) {
} }
} }
return 0, errors.New("failed to get site id") return 0, errors.New("site not found")
} }
func (d *DNSProvider) findDNSRecord(siteId int64, effectiveFQDN string) (*aliesa.ListRecordsResponseBodyRecords, error) { func (d *DNSProvider) findDNSRecord(siteId int64, effectiveFQDN string) (*aliesa.ListRecordsResponseBodyRecords, error) {
@ -189,8 +192,9 @@ func (d *DNSProvider) findDNSRecord(siteId int64, effectiveFQDN string) (*aliesa
SiteId: tea.Int64(siteId), SiteId: tea.Int64(siteId),
Type: tea.String("TXT"), Type: tea.String("TXT"),
RecordName: tea.String(effectiveFQDN), RecordName: tea.String(effectiveFQDN),
RecordMatchType: tea.String("exact"),
PageNumber: tea.Int32(int32(pageNumber)), PageNumber: tea.Int32(int32(pageNumber)),
PageSize: tea.Int32(int32(pageNumber)), PageSize: tea.Int32(int32(pageSize)),
} }
response, err := d.client.ListRecords(request) response, err := d.client.ListRecords(request)
if err != nil { if err != nil {