chore(code-quality): linter warnings fixes

Signed-off-by: ivan katliarchuk <ivan.katliarchuk@gmail.com>
This commit is contained in:
ivan katliarchuk 2025-04-23 22:03:00 +01:00
parent 5eaf814b94
commit 757a57609f
No known key found for this signature in database
GPG Key ID: 90C9B4748A999097
15 changed files with 88 additions and 104 deletions

View File

@ -51,11 +51,12 @@ const (
// We have to use pointers to bools now, as the upstream cloudflare-go library requires them // We have to use pointers to bools now, as the upstream cloudflare-go library requires them
// see: https://github.com/cloudflare/cloudflare-go/pull/595 // see: https://github.com/cloudflare/cloudflare-go/pull/595
// proxyEnabled is a pointer to a bool true showing the record should be proxied through cloudflare var (
var proxyEnabled *bool = boolPtr(true) // proxyEnabled is a pointer to a bool true showing the record should be proxied through cloudflare
proxyEnabled *bool = boolPtr(true)
// proxyDisabled is a pointer to a bool false showing the record should not be proxied through cloudflare // proxyDisabled is a pointer to a bool false showing the record should not be proxied through cloudflare
var proxyDisabled *bool = boolPtr(false) proxyDisabled *bool = boolPtr(false)
)
// for faster getRecordID() lookup // for faster getRecordID() lookup
type DNSRecordIndex struct { type DNSRecordIndex struct {
@ -279,8 +280,8 @@ func NewCloudFlareProvider(domainFilter endpoint.DomainFilter, zoneIDFilter prov
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to initialize cloudflare provider: %w", err) return nil, fmt.Errorf("failed to initialize cloudflare provider: %w", err)
} }
provider := &CloudFlareProvider{
// Client: config, return &CloudFlareProvider{
Client: zoneService{config}, Client: zoneService{config},
domainFilter: domainFilter, domainFilter: domainFilter,
zoneIDFilter: zoneIDFilter, zoneIDFilter: zoneIDFilter,
@ -289,13 +290,12 @@ func NewCloudFlareProvider(domainFilter endpoint.DomainFilter, zoneIDFilter prov
DryRun: dryRun, DryRun: dryRun,
DNSRecordsPerPage: dnsRecordsPerPage, DNSRecordsPerPage: dnsRecordsPerPage,
RegionKey: regionKey, RegionKey: regionKey,
} }, nil
return provider, nil
} }
// Zones returns the list of hosted zones. // Zones returns the list of hosted zones.
func (p *CloudFlareProvider) Zones(ctx context.Context) ([]cloudflare.Zone, error) { func (p *CloudFlareProvider) Zones(ctx context.Context) ([]cloudflare.Zone, error) {
result := []cloudflare.Zone{} var result []cloudflare.Zone
// if there is a zoneIDfilter configured // if there is a zoneIDfilter configured
// && if the filter isn't just a blank string (used in tests) // && if the filter isn't just a blank string (used in tests)
@ -349,7 +349,7 @@ func (p *CloudFlareProvider) Records(ctx context.Context) ([]*endpoint.Endpoint,
return nil, err return nil, err
} }
endpoints := []*endpoint.Endpoint{} var endpoints []*endpoint.Endpoint
for _, zone := range zones { for _, zone := range zones {
records, err := p.listDNSRecordsWithAutoPagination(ctx, zone.ID) records, err := p.listDNSRecordsWithAutoPagination(ctx, zone.ID)
if err != nil { if err != nil {
@ -373,7 +373,7 @@ func (p *CloudFlareProvider) Records(ctx context.Context) ([]*endpoint.Endpoint,
// ApplyChanges applies a given set of changes in a given zone. // ApplyChanges applies a given set of changes in a given zone.
func (p *CloudFlareProvider) ApplyChanges(ctx context.Context, changes *plan.Changes) error { func (p *CloudFlareProvider) ApplyChanges(ctx context.Context, changes *plan.Changes) error {
cloudflareChanges := []*cloudFlareChange{} var cloudflareChanges []*cloudFlareChange
// if custom hostnames are enabled, deleting first allows to avoid conflicts with the new ones // if custom hostnames are enabled, deleting first allows to avoid conflicts with the new ones
if p.CustomHostnamesConfig.Enabled { if p.CustomHostnamesConfig.Enabled {
@ -425,7 +425,7 @@ func (p *CloudFlareProvider) submitCustomHostnameChanges(ctx context.Context, zo
failedChange := false failedChange := false
// return early if disabled // return early if disabled
if !p.CustomHostnamesConfig.Enabled { if !p.CustomHostnamesConfig.Enabled {
return !failedChange return true
} }
switch change.Action { switch change.Action {
@ -730,7 +730,7 @@ func (p *CloudFlareProvider) submitChanges(ctx context.Context, changes []*cloud
// AdjustEndpoints modifies the endpoints as needed by the specific provider // AdjustEndpoints modifies the endpoints as needed by the specific provider
func (p *CloudFlareProvider) AdjustEndpoints(endpoints []*endpoint.Endpoint) ([]*endpoint.Endpoint, error) { func (p *CloudFlareProvider) AdjustEndpoints(endpoints []*endpoint.Endpoint) ([]*endpoint.Endpoint, error) {
adjustedEndpoints := []*endpoint.Endpoint{} var adjustedEndpoints []*endpoint.Endpoint
for _, e := range endpoints { for _, e := range endpoints {
proxied := shouldBeProxied(e, p.proxiedByDefault) proxied := shouldBeProxied(e, p.proxiedByDefault)
if proxied { if proxied {
@ -969,7 +969,7 @@ func getEndpointCustomHostnames(ep *endpoint.Endpoint) []string {
} }
func groupByNameAndTypeWithCustomHostnames(records DNSRecordsMap, chs CustomHostnamesMap) []*endpoint.Endpoint { func groupByNameAndTypeWithCustomHostnames(records DNSRecordsMap, chs CustomHostnamesMap) []*endpoint.Endpoint {
endpoints := []*endpoint.Endpoint{} var endpoints []*endpoint.Endpoint
// group supported records by name and type // group supported records by name and type
groups := map[string][]cloudflare.DNSRecord{} groups := map[string][]cloudflare.DNSRecord{}
@ -994,7 +994,7 @@ func groupByNameAndTypeWithCustomHostnames(records DNSRecordsMap, chs CustomHost
customHostnames[c.CustomOriginServer] = append(customHostnames[c.CustomOriginServer], c.Hostname) customHostnames[c.CustomOriginServer] = append(customHostnames[c.CustomOriginServer], c.Hostname)
} }
// create single endpoint with all the targets for each name/type // create a single endpoint with all the targets for each name/type
for _, records := range groups { for _, records := range groups {
if len(records) == 0 { if len(records) == 0 {
return endpoints return endpoints
@ -1016,7 +1016,7 @@ func groupByNameAndTypeWithCustomHostnames(records DNSRecordsMap, chs CustomHost
continue continue
} }
e = e.WithProviderSpecific(source.CloudflareProxiedKey, strconv.FormatBool(proxied)) e = e.WithProviderSpecific(source.CloudflareProxiedKey, strconv.FormatBool(proxied))
// noop (customHostnames is empty) if custom hostnames feature is not in use // noop (customHostnames is empty) if the custom hostnames feature is not in use
if customHostnames, ok := customHostnames[records[0].Name]; ok { if customHostnames, ok := customHostnames[records[0].Name]; ok {
sort.Strings(customHostnames) sort.Strings(customHostnames)
e = e.WithProviderSpecific(source.CloudflareCustomHostnameKey, strings.Join(customHostnames, ",")) e = e.WithProviderSpecific(source.CloudflareCustomHostnameKey, strings.Join(customHostnames, ","))

View File

@ -92,7 +92,7 @@ type etcdClient struct {
var _ coreDNSClient = etcdClient{} var _ coreDNSClient = etcdClient{}
// GetService return all Service records stored in etcd stored anywhere under the given key (recursively) // GetServices GetService return all Service records stored in etcd stored anywhere under the given key (recursively)
func (c etcdClient) GetServices(prefix string) ([]*Service, error) { func (c etcdClient) GetServices(prefix string) ([]*Service, error) {
ctx, cancel := context.WithTimeout(c.ctx, etcdTimeout) ctx, cancel := context.WithTimeout(c.ctx, etcdTimeout)
defer cancel() defer cancel()

View File

@ -33,7 +33,13 @@ import (
"sigs.k8s.io/external-dns/provider" "sigs.k8s.io/external-dns/provider"
) )
const dnsimpleRecordTTL = 3600 // Default TTL of 1 hour if not set (DNSimple's default) const (
dnsimpleCreate = "CREATE"
dnsimpleDelete = "DELETE"
dnsimpleUpdate = "UPDATE"
dnsimpleRecordTTL = 3600 // Default TTL of 1 hour if not set (DNSimple's default)
)
type dnsimpleIdentityService struct { type dnsimpleIdentityService struct {
service *dnsimple.IdentityService service *dnsimple.IdentityService
@ -91,12 +97,6 @@ type dnsimpleChange struct {
ResourceRecordSet dnsimple.ZoneRecord ResourceRecordSet dnsimple.ZoneRecord
} }
const (
dnsimpleCreate = "CREATE"
dnsimpleDelete = "DELETE"
dnsimpleUpdate = "UPDATE"
)
// NewDnsimpleProvider initializes a new Dnsimple based provider // NewDnsimpleProvider initializes a new Dnsimple based provider
func NewDnsimpleProvider(domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool) (provider.Provider, error) { func NewDnsimpleProvider(domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, dryRun bool) (provider.Provider, error) {
oauthToken := os.Getenv("DNSIMPLE_OAUTH") oauthToken := os.Getenv("DNSIMPLE_OAUTH")
@ -149,7 +149,7 @@ func ZonesFromZoneString(zonestring string) map[string]dnsimple.Zone {
return zones return zones
} }
// Returns a list of filtered Zones // Zones Return a list of filtered Zones
func (p *dnsimpleProvider) Zones(ctx context.Context) (map[string]dnsimple.Zone, error) { func (p *dnsimpleProvider) Zones(ctx context.Context) (map[string]dnsimple.Zone, error) {
zones := make(map[string]dnsimple.Zone) zones := make(map[string]dnsimple.Zone)

View File

@ -181,7 +181,7 @@ func (ep *ExoscaleProvider) ApplyChanges(ctx context.Context, changes *plan.Chan
} }
for _, epoint := range changes.UpdateOld { for _, epoint := range changes.UpdateOld {
// Since Exoscale "Patches", we ignore UpdateOld // Since Exoscale "Patches", we've ignored UpdateOld
// We leave this logging here for information // We leave this logging here for information
log.Debugf("UPDATE-OLD (ignored) for epoint: %+v", epoint) log.Debugf("UPDATE-OLD (ignored) for epoint: %+v", epoint)
} }

View File

@ -34,17 +34,15 @@ import (
"sigs.k8s.io/external-dns/pkg/apis/externaldns" "sigs.k8s.io/external-dns/pkg/apis/externaldns"
) )
// DefaultTimeout api requests after 180s
const DefaultTimeout = 180 * time.Second
// Errors // Errors
var ( var (
ErrAPIDown = errors.New("godaddy: the GoDaddy API is down") ErrAPIDown = errors.New("godaddy: the GoDaddy API is down")
) )
// error codes
const ( const (
ErrCodeQuotaExceeded = "QUOTA_EXCEEDED" ErrCodeQuotaExceeded = "QUOTA_EXCEEDED"
// DefaultTimeout api requests after 180s
DefaultTimeout = 180 * time.Second
) )
// APIError error // APIError error

View File

@ -36,6 +36,8 @@ const (
gdCreate = 0 gdCreate = 0
gdReplace = 1 gdReplace = 1
gdDelete = 2 gdDelete = 2
domainsURI = "/v1/domains?statuses=ACTIVE,PENDING_DNS_ACTIVE"
) )
var actionNames = []string{ var actionNames = []string{
@ -44,8 +46,6 @@ var actionNames = []string{
"delete", "delete",
} }
const domainsURI = "/v1/domains?statuses=ACTIVE,PENDING_DNS_ACTIVE"
type gdClient interface { type gdClient interface {
Patch(string, interface{}, interface{}) error Patch(string, interface{}, interface{}) error
Post(string, interface{}, interface{}) error Post(string, interface{}, interface{}) error

View File

@ -154,7 +154,7 @@ func NewGoogleProvider(ctx context.Context, project string, domainFilter endpoin
zoneTypeFilter := provider.NewZoneTypeFilter(zoneVisibility) zoneTypeFilter := provider.NewZoneTypeFilter(zoneVisibility)
provider := &GoogleProvider{ return &GoogleProvider{
project: project, project: project,
dryRun: dryRun, dryRun: dryRun,
batchChangeSize: batchChangeSize, batchChangeSize: batchChangeSize,
@ -166,9 +166,7 @@ func NewGoogleProvider(ctx context.Context, project string, domainFilter endpoin
managedZonesClient: managedZonesService{dnsClient.ManagedZones}, managedZonesClient: managedZonesService{dnsClient.ManagedZones},
changesClient: changesService{dnsClient.Changes}, changesClient: changesService{dnsClient.Changes},
ctx: ctx, ctx: ctx,
} }, nil
return provider, nil
} }
// Zones returns the list of hosted zones. // Zones returns the list of hosted zones.
@ -261,11 +259,11 @@ func (p *GoogleProvider) SupportedRecordType(recordType string) bool {
// newFilteredRecords returns a collection of RecordSets based on the given endpoints and domainFilter. // newFilteredRecords returns a collection of RecordSets based on the given endpoints and domainFilter.
func (p *GoogleProvider) newFilteredRecords(endpoints []*endpoint.Endpoint) []*dns.ResourceRecordSet { func (p *GoogleProvider) newFilteredRecords(endpoints []*endpoint.Endpoint) []*dns.ResourceRecordSet {
records := []*dns.ResourceRecordSet{} var records []*dns.ResourceRecordSet
for _, endpoint := range endpoints { for _, ep := range endpoints {
if p.domainFilter.Match(endpoint.DNSName) { if p.domainFilter.Match(ep.DNSName) {
records = append(records, newRecord(endpoint)) records = append(records, newRecord(ep))
} }
} }
@ -314,7 +312,7 @@ func (p *GoogleProvider) submitChange(ctx context.Context, change *dns.Change) e
// batchChange separates a zone in multiple transaction. // batchChange separates a zone in multiple transaction.
func batchChange(change *dns.Change, batchSize int) []*dns.Change { func batchChange(change *dns.Change, batchSize int) []*dns.Change {
changes := []*dns.Change{} var changes []*dns.Change
if batchSize == 0 { if batchSize == 0 {
return append(changes, change) return append(changes, change)

View File

@ -322,7 +322,7 @@ func NewIBMCloudProvider(configFile string, domainFilter endpoint.DomainFilter,
return nil, err return nil, err
} }
provider := &IBMCloudProvider{ return &IBMCloudProvider{
Client: client, Client: client,
source: source, source: source,
domainFilter: domainFilter, domainFilter: domainFilter,
@ -331,8 +331,7 @@ func NewIBMCloudProvider(configFile string, domainFilter endpoint.DomainFilter,
privateZone: isPrivate, privateZone: isPrivate,
proxiedByDefault: proxiedByDefault, proxiedByDefault: proxiedByDefault,
DryRun: dryRun, DryRun: dryRun,
} }, nil
return provider, nil
} }
// Records gets the current records. // Records gets the current records.
@ -680,8 +679,8 @@ func (p *IBMCloudProvider) privateRecords(ctx context.Context) ([]*endpoint.Endp
return nil, err return nil, err
} }
// Filter VPC annoation for private zone active // Filter VPC annoation for private zone active
for _, source := range sources { for _, src := range sources {
vpc = checkVPCAnnotation(source) vpc = checkVPCAnnotation(src)
if len(vpc) > 0 { if len(vpc) > 0 {
log.Debugf("VPC found: %s", vpc) log.Debugf("VPC found: %s", vpc)
break break
@ -984,7 +983,7 @@ func checkVPCAnnotation(endpoint *endpoint.Endpoint) string {
for _, v := range endpoint.ProviderSpecific { for _, v := range endpoint.ProviderSpecific {
if v.Name == vpcFilter { if v.Name == vpcFilter {
vpcCrn, err := crn.Parse(v.Value) vpcCrn, err := crn.Parse(v.Value)
if vpcCrn.ResourceType != "vpc" || err != nil { if err != nil || vpcCrn.ResourceType != "vpc" {
log.Errorf("Failed to parse vpc [%s]: %v", v.Value, err) log.Errorf("Failed to parse vpc [%s]: %v", v.Value, err)
} else { } else {
vpc = v.Value vpc = v.Value
@ -1002,6 +1001,7 @@ func isNil(i interface{}) bool {
switch reflect.TypeOf(i).Kind() { switch reflect.TypeOf(i).Kind() {
case reflect.Ptr, reflect.Map, reflect.Array, reflect.Chan, reflect.Slice: case reflect.Ptr, reflect.Map, reflect.Array, reflect.Chan, reflect.Slice:
return reflect.ValueOf(i).IsNil() return reflect.ValueOf(i).IsNil()
default:
return false
} }
return false
} }

View File

@ -96,15 +96,14 @@ func NewLinodeProvider(domainFilter endpoint.DomainFilter, dryRun bool) (*Linode
linodeClient := linodego.NewClient(oauth2Client) linodeClient := linodego.NewClient(oauth2Client)
linodeClient.SetUserAgent(fmt.Sprintf("%s linodego/%s", externaldns.UserAgent(), linodego.Version)) linodeClient.SetUserAgent(fmt.Sprintf("%s linodego/%s", externaldns.UserAgent(), linodego.Version))
provider := &LinodeProvider{ return &LinodeProvider{
Client: &linodeClient, Client: &linodeClient,
domainFilter: domainFilter, domainFilter: domainFilter,
DryRun: dryRun, DryRun: dryRun,
} }, nil
return provider, nil
} }
// Zones returns the list of hosted zones. // Zones return the list of hosted zones.
func (p *LinodeProvider) Zones(ctx context.Context) ([]linodego.Domain, error) { func (p *LinodeProvider) Zones(ctx context.Context) ([]linodego.Domain, error) {
zones, err := p.fetchZones(ctx) zones, err := p.fetchZones(ctx)
if err != nil { if err != nil {

View File

@ -136,13 +136,12 @@ func newNS1ProviderWithHTTPClient(config NS1Config, client *http.Client) (*NS1Pr
apiClient := api.NewClient(client, clientArgs...) apiClient := api.NewClient(client, clientArgs...)
provider := &NS1Provider{ return &NS1Provider{
client: NS1DomainService{apiClient}, client: NS1DomainService{apiClient},
domainFilter: config.DomainFilter, domainFilter: config.DomainFilter,
zoneIDFilter: config.ZoneIDFilter, zoneIDFilter: config.ZoneIDFilter,
minTTLSeconds: config.MinTTLSeconds, minTTLSeconds: config.MinTTLSeconds,
} }, nil
return provider, nil
} }
// Records returns the endpoints this provider knows about // Records returns the endpoints this provider knows about
@ -257,7 +256,7 @@ func (p *NS1Provider) zonesFiltered() ([]*dns.Zone, error) {
return nil, err return nil, err
} }
toReturn := []*dns.Zone{} var toReturn []*dns.Zone
for _, z := range zones { for _, z := range zones {
if p.domainFilter.Match(z.Zone) && p.zoneIDFilter.Match(z.ID) { if p.domainFilter.Match(z.Zone) && p.zoneIDFilter.Match(z.ID) {
@ -292,10 +291,10 @@ func (p *NS1Provider) ApplyChanges(ctx context.Context, changes *plan.Changes) e
func newNS1Changes(action string, endpoints []*endpoint.Endpoint) []*ns1Change { func newNS1Changes(action string, endpoints []*endpoint.Endpoint) []*ns1Change {
changes := make([]*ns1Change, 0, len(endpoints)) changes := make([]*ns1Change, 0, len(endpoints))
for _, endpoint := range endpoints { for _, ep := range endpoints {
changes = append(changes, &ns1Change{ changes = append(changes, &ns1Change{
Action: action, Action: action,
Endpoint: endpoint, Endpoint: ep,
}, },
) )
} }

View File

@ -186,13 +186,13 @@ func mergeEndpointsMultiTargets(endpoints []*endpoint.Endpoint) []*endpoint.Endp
// Otherwise, create a new list of endpoints with the consolidated targets. // Otherwise, create a new list of endpoints with the consolidated targets.
var mergedEndpoints []*endpoint.Endpoint var mergedEndpoints []*endpoint.Endpoint
for _, endpoints := range endpointsByNameType { for _, ep := range endpointsByNameType {
dnsName := endpoints[0].DNSName dnsName := ep[0].DNSName
recordType := endpoints[0].RecordType recordType := ep[0].RecordType
recordTTL := endpoints[0].RecordTTL recordTTL := ep[0].RecordTTL
targets := make([]string, len(endpoints)) targets := make([]string, len(ep))
for i, e := range endpoints { for i, e := range ep {
targets[i] = e.Targets[0] targets[i] = e.Targets[0]
} }

View File

@ -324,9 +324,9 @@ func (p *OVHProvider) change(ctx context.Context, change ovhChange) error {
return nil return nil
} }
return p.client.PutWithContext(ctx, fmt.Sprintf("/domain/zone/%s/record/%d", url.PathEscape(change.Zone), change.ID), change.ovhRecordFieldUpdate, nil) return p.client.PutWithContext(ctx, fmt.Sprintf("/domain/zone/%s/record/%d", url.PathEscape(change.Zone), change.ID), change.ovhRecordFieldUpdate, nil)
default:
return nil
} }
return nil
} }
func (p *OVHProvider) invalidateCache(zone string) { func (p *OVHProvider) invalidateCache(zone string) {
@ -357,8 +357,8 @@ func (p *OVHProvider) zonesRecords(ctx context.Context) ([]string, []ovhRecord,
} }
func (p *OVHProvider) zones(ctx context.Context) ([]string, error) { func (p *OVHProvider) zones(ctx context.Context) ([]string, error) {
zones := []string{} var zones []string
filteredZones := []string{} var filteredZones []string
p.apiRateLimiter.Take() p.apiRateLimiter.Take()
if err := p.client.GetWithContext(ctx, "/domain/zone", &zones); err != nil { if err := p.client.GetWithContext(ctx, "/domain/zone", &zones); err != nil {
@ -476,25 +476,25 @@ func ovhGroupByNameAndType(records []ovhRecord) []*endpoint.Endpoint {
// create single endpoint with all the targets for each name/type // create single endpoint with all the targets for each name/type
for _, records := range groups { for _, records := range groups {
targets := []string{} var targets []string
for _, record := range records { for _, record := range records {
targets = append(targets, record.Target) targets = append(targets, record.Target)
} }
endpoint := endpoint.NewEndpointWithTTL( ep := endpoint.NewEndpointWithTTL(
strings.TrimPrefix(records[0].SubDomain+"."+records[0].Zone, "."), strings.TrimPrefix(records[0].SubDomain+"."+records[0].Zone, "."),
records[0].FieldType, records[0].FieldType,
endpoint.TTL(records[0].TTL), endpoint.TTL(records[0].TTL),
targets..., targets...,
) )
endpoints = append(endpoints, endpoint) endpoints = append(endpoints, ep)
} }
return endpoints return endpoints
} }
func (p OVHProvider) newOvhChangeCreateDelete(action int, endpoints []*endpoint.Endpoint, zone string, existingRecords []ovhRecord) ([]ovhChange, []ovhRecord) { func (p OVHProvider) newOvhChangeCreateDelete(action int, endpoints []*endpoint.Endpoint, zone string, existingRecords []ovhRecord) ([]ovhChange, []ovhRecord) {
ovhChanges := []ovhChange{} var ovhChanges []ovhChange
toDeleteIds := []int{} var toDeleteIds []int
for _, e := range endpoints { for _, e := range endpoints {
for _, target := range e.Targets { for _, target := range e.Targets {
@ -579,13 +579,13 @@ func (p OVHProvider) newOvhChangeUpdate(endpointsOld []*endpoint.Endpoint, endpo
} }
} }
changes := []ovhChange{} var changes []ovhChange
for id := range oldEndpointByTypeAndName { for id := range oldEndpointByTypeAndName {
oldRecords := slices.Clone(oldRecordsInZone[id]) oldRecords := slices.Clone(oldRecordsInZone[id])
endpointsNew := newEndpointByTypeAndName[id] endpointsNew := newEndpointByTypeAndName[id]
toInsertTarget := []string{} var toInsertTarget []string
for _, target := range endpointsNew.Targets { for _, target := range endpointsNew.Targets {
var toDelete = -1 var toDelete = -1

View File

@ -45,7 +45,6 @@ type RecordChange struct {
func NewPluralProvider(cluster, provider string) (*PluralProvider, error) { func NewPluralProvider(cluster, provider string) (*PluralProvider, error) {
token := os.Getenv("PLURAL_ACCESS_TOKEN") token := os.Getenv("PLURAL_ACCESS_TOKEN")
endpoint := os.Getenv("PLURAL_ENDPOINT")
if token == "" { if token == "" {
return nil, fmt.Errorf("no plural access token provided, you must set the PLURAL_ACCESS_TOKEN env var") return nil, fmt.Errorf("no plural access token provided, you must set the PLURAL_ACCESS_TOKEN env var")
@ -53,21 +52,19 @@ func NewPluralProvider(cluster, provider string) (*PluralProvider, error) {
config := &Config{ config := &Config{
Token: token, Token: token,
Endpoint: endpoint, Endpoint: os.Getenv("PLURAL_ENDPOINT"),
Cluster: cluster, Cluster: cluster,
Provider: provider, Provider: provider,
} }
client, err := NewClient(config) cl, err := NewClient(config)
if err != nil { if err != nil {
return nil, err return nil, err
} }
prov := &PluralProvider{ return &PluralProvider{
Client: client, Client: cl,
} }, nil
return prov, nil
} }
func (p *PluralProvider) Records(_ context.Context) (endpoints []*endpoint.Endpoint, err error) { func (p *PluralProvider) Records(_ context.Context) (endpoints []*endpoint.Endpoint, err error) {
@ -89,8 +86,8 @@ func (p *PluralProvider) AdjustEndpoints(endpoints []*endpoint.Endpoint) ([]*end
func (p *PluralProvider) ApplyChanges(_ context.Context, diffs *plan.Changes) error { func (p *PluralProvider) ApplyChanges(_ context.Context, diffs *plan.Changes) error {
var changes []*RecordChange var changes []*RecordChange
for _, endpoint := range diffs.Create { for _, ep := range diffs.Create {
changes = append(changes, makeChange(CreateAction, endpoint.Targets, endpoint)) changes = append(changes, makeChange(CreateAction, ep.Targets, ep))
} }
for _, desired := range diffs.UpdateNew { for _, desired := range diffs.UpdateNew {

View File

@ -32,8 +32,6 @@ import (
func NewMockTencentCloudProvider(domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, zoneType string) *TencentCloudProvider { func NewMockTencentCloudProvider(domainFilter endpoint.DomainFilter, zoneIDFilter provider.ZoneIDFilter, zoneType string) *TencentCloudProvider {
cfg := tencentCloudConfig{ cfg := tencentCloudConfig{
// SecretId: "",
// SecretKey: "",
RegionId: "ap-shanghai", RegionId: "ap-shanghai",
VPCId: "vpc-abcdefg", VPCId: "vpc-abcdefg",
} }

View File

@ -39,23 +39,20 @@ const (
rdPoolOrder = "ROUND_ROBIN" rdPoolOrder = "ROUND_ROBIN"
) )
// global variables
var sbPoolRunProbes = true
var ( var (
sbPoolActOnProbes = true sbPoolActOnProbes = true
ultradnsPoolType = "rdpool" ultradnsPoolType = "rdpool"
accountName string accountName string
sbPoolRunProbes = true
// Setting custom headers for ultradns api calls
customHeader = []udnssdk.CustomHeader{
{
Key: "UltraClient",
Value: "kube-client",
},
}
) )
// Setting custom headers for ultradns api calls
var customHeader = []udnssdk.CustomHeader{
{
Key: "UltraClient",
Value: "kube-client",
},
}
// UltraDNSProvider struct // UltraDNSProvider struct
type UltraDNSProvider struct { type UltraDNSProvider struct {
provider.BaseProvider provider.BaseProvider
@ -128,13 +125,11 @@ func NewUltraDNSProvider(domainFilter endpoint.DomainFilter, dryRun bool) (*Ultr
return nil, fmt.Errorf("connection cannot be established") return nil, fmt.Errorf("connection cannot be established")
} }
provider := &UltraDNSProvider{ return &UltraDNSProvider{
client: *client, client: *client,
domainFilter: domainFilter, domainFilter: domainFilter,
dryRun: dryRun, dryRun: dryRun,
} }, nil
return provider, nil
} }
// Zones returns list of hosted zones // Zones returns list of hosted zones
@ -216,7 +211,7 @@ func (p *UltraDNSProvider) fetchRecords(ctx context.Context, k udnssdk.RRSetKey)
maxerrs := 5 maxerrs := 5
waittime := 5 * time.Second waittime := 5 * time.Second
rrsets := []udnssdk.RRSet{} var rrsets []udnssdk.RRSet
errcnt := 0 errcnt := 0
offset := 0 offset := 0
limit := 1000 limit := 1000