chore: clean maps

This commit is contained in:
Fernandez Ludovic 2025-12-10 19:07:25 +01:00
commit a6e6b92d35
29 changed files with 111 additions and 52 deletions

View file

@ -212,6 +212,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("aliesa: delete record: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -186,5 +186,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("allinkl: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -53,10 +53,11 @@ func NewDefaultConfig() *Config {
// DNSProvider implements the challenge.Provider interface.
type DNSProvider struct {
config *Config
client *auroradns.Client
recordIDs map[string]string
recordIDsMu sync.Mutex
config *Config
client *auroradns.Client
}
// NewDNSProvider returns a DNSProvider instance configured for AuroraDNS.

View file

@ -6,7 +6,6 @@ import (
"errors"
"fmt"
"net/http"
"sync"
"time"
"github.com/aziontech/azionapi-go-sdk/idns"
@ -56,9 +55,6 @@ func NewDefaultConfig() *Config {
type DNSProvider struct {
config *Config
client *idns.APIClient
recordIDs map[string]int32
recordIDsMu sync.Mutex
}
// NewDNSProvider returns a DNSProvider instance configured for Azion.
@ -98,9 +94,8 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
client := idns.NewAPIClient(clientConfig)
return &DNSProvider{
config: config,
client: client,
recordIDs: make(map[string]int32),
config: config,
client: client,
}, nil
}
@ -161,12 +156,6 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
return errors.New("azion: create zone record error")
}
results := resp.GetResults()
d.recordIDsMu.Lock()
d.recordIDs[token] = results.GetId()
d.recordIDsMu.Unlock()
return nil
}
@ -186,13 +175,6 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("azion: %w", err)
}
defer func() {
// Cleans the record ID.
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
}()
existingRecord, err := d.findExistingTXTRecord(ctxAuth, zone.GetId(), subDomain)
if err != nil {
return fmt.Errorf("azion: find existing record: %w", err)

View file

@ -151,6 +151,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("binarylane: delete record: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -36,11 +36,11 @@ const maxInt = int((^uint(0)) >> 1)
// Client the Autodns API client.
type Client struct {
domainIDMapping map[string]int
domainIDMu sync.Mutex
BaseURL *url.URL
httpClient *http.Client
domainIDMapping map[string]int
domainIDMu sync.Mutex
}
// NewClient creates a new Client.

View file

@ -61,8 +61,9 @@ func NewDefaultConfig() *Config {
}
type DNSProvider struct {
config *Config
client *internal.Client
config *Config
client *internal.Client
records map[string]*internal.Record
recordsMu sync.Mutex
}

View file

@ -68,8 +68,9 @@ func NewDefaultConfig() *Config {
// DNSProvider implements the challenge.Provider interface.
type DNSProvider struct {
config *Config
client *gophercloud.ServiceClient
config *Config
client *gophercloud.ServiceClient
dnsEntriesMu sync.Mutex
}

View file

@ -190,16 +190,14 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
}
err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), recordID)
d.recordIDsMu.Lock()
defer delete(d.recordIDs, key)
d.recordIDsMu.Unlock()
if err != nil {
return fmt.Errorf("easydns: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, key)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -119,10 +119,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
}
return &DNSProvider{
config: config,
client: client,
recordIDs: map[string]*string{},
recordIDsMu: sync.Mutex{},
config: config,
client: client,
recordIDs: map[string]*string{},
}, nil
}
@ -190,6 +189,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("edgeone: delete record failed: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -163,6 +163,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("gravity: delete record: %w", err)
}
d.recordsMu.Lock()
delete(d.records, token)
d.recordsMu.Unlock()
return nil
}

View file

@ -174,5 +174,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("hosttech: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -209,6 +209,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("huaweicloud: delete record: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -165,16 +165,16 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
RecordsToDelete: rec,
}
// Delete record ID from map
d.recordIDsMu.Lock()
delete(d.recordIDs, info.EffectiveFQDN)
d.recordIDsMu.Unlock()
_, err = d.client.UpdateZone(ctx, req)
if err != nil {
return err
}
// Delete record ID from map
d.recordIDsMu.Lock()
delete(d.recordIDs, info.EffectiveFQDN)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -193,6 +193,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("limacity: delete record (domain ID=%d, record ID=%d): %w", domainID, recordID, err)
}
d.domainIDsMu.Lock()
delete(d.domainIDs, info.EffectiveFQDN)
d.domainIDsMu.Unlock()
return nil
}

View file

@ -62,8 +62,9 @@ func NewDefaultConfig() *Config {
// DNSProvider implements the challenge.Provider interface.
type DNSProvider struct {
config *Config
client *lw.API
config *Config
client *lw.API
recordIDs map[string]int
recordIDsMu sync.Mutex
}

View file

@ -104,10 +104,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
client.HTTPClient = clientdebug.Wrap(client.HTTPClient)
return &DNSProvider{
config: config,
client: client,
recordsMu: sync.Mutex{},
records: make(map[string]*internal.DNSRecord),
config: config,
client: client,
records: make(map[string]*internal.DNSRecord),
}, nil
}

View file

@ -153,6 +153,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("metaname: delete record: %w", err)
}
d.recordsMu.Lock()
delete(d.records, token)
d.recordsMu.Unlock()
return nil
}

View file

@ -170,6 +170,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("mittwald: update/delete TXT record: %w", err)
}
d.zoneIDsMu.Lock()
delete(d.zoneIDs, token)
d.zoneIDsMu.Unlock()
return nil
}

View file

@ -208,5 +208,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("regru: failed to remove TXT records [domain: %s]: %w", dns01.UnFqdn(authZone), err)
}
d.zoneIDsMu.Lock()
delete(d.zoneIDs, token)
d.zoneIDsMu.Unlock()
return nil
}

View file

@ -169,6 +169,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
break
}
d.domainIDsMu.Lock()
delete(d.domainIDs, token)
d.domainIDsMu.Unlock()
return nil
}

View file

@ -102,8 +102,9 @@ func (c *Config) hasAppKeyAuth() bool {
// DNSProvider implements the challenge.Provider interface.
type DNSProvider struct {
config *Config
client *ovh.Client
config *Config
client *ovh.Client
recordIDs map[string]int64
recordIDsMu sync.Mutex
}

View file

@ -173,5 +173,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("plesk: failed to delete record (%d): %w", recordID, err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -171,6 +171,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("porkbun: failed to delete record: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -186,5 +186,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("selfhostde: emptied DNS TXT record (id=%s): %w", recordID, err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -172,6 +172,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("shellrent: delete record: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -172,6 +172,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("syse: delete record: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -180,6 +180,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("variomedia: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}

View file

@ -171,6 +171,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return fmt.Errorf("volcengine: delete record: %w", err)
}
d.recordIDsMu.Lock()
delete(d.recordIDs, token)
d.recordIDsMu.Unlock()
return nil
}