Skip to content

Commit abdf8bb

Browse files
chore(refactore): added lint checks
Signed-off-by: ivan katliarchuk <[email protected]>
1 parent 8e695e6 commit abdf8bb

File tree

12 files changed

+81
-104
lines changed

12 files changed

+81
-104
lines changed

.golangci.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
# https://golangci-lint.run/usage/configuration/
12
version: "2"
23
linters:
34
default: none
4-
enable:
5+
enable: # golangci-lint help linters
56
- dogsled
67
- goprintffuncname
78
- govet
@@ -13,6 +14,9 @@ linters:
1314
- unconvert
1415
- unused
1516
- whitespace
17+
- predeclared # Find code that shadows one of Go's predeclared identifiers
18+
- sloglint # Ensure consistent code style when using log/slog
19+
- asciicheck # Checks that all code identifiers does not have non-ASCII symbols in the name
1620
settings:
1721
exhaustive:
1822
default-signifies-exhaustive: false

plan/conflict.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
)
2626

2727
// ConflictResolver is used to make a decision in case of two or more different kubernetes resources
28-
// are trying to acquire same DNS name
28+
// are trying to acquire the same DNS name
2929
type ConflictResolver interface {
3030
ResolveCreate(candidates []*endpoint.Endpoint) *endpoint.Endpoint
3131
ResolveUpdate(current *endpoint.Endpoint, candidates []*endpoint.Endpoint) *endpoint.Endpoint
@@ -38,13 +38,13 @@ type PerResource struct{}
3838
// ResolveCreate is invoked when dns name is not owned by any resource
3939
// ResolveCreate takes "minimal" (string comparison of Target) endpoint to acquire the DNS record
4040
func (s PerResource) ResolveCreate(candidates []*endpoint.Endpoint) *endpoint.Endpoint {
41-
var min *endpoint.Endpoint
41+
var minE *endpoint.Endpoint
4242
for _, ep := range candidates {
43-
if min == nil || s.less(ep, min) {
44-
min = ep
43+
if minE == nil || s.less(ep, minE) {
44+
minE = ep
4545
}
4646
}
47-
return min
47+
return minE
4848
}
4949

5050
// ResolveUpdate is invoked when dns name is already owned by "current" endpoint

provider/akamai/akamai.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,6 @@ type akamaiZone struct {
9090
func NewAkamaiProvider(akamaiConfig AkamaiConfig, akaService AkamaiDNSService) (provider.Provider, error) {
9191
var edgeGridConfig edgegrid.Config
9292

93-
/*
94-
log.Debugf("Host: %s", akamaiConfig.ServiceConsumerDomain)
95-
log.Debugf("ClientToken: %s", akamaiConfig.ClientToken)
96-
log.Debugf("ClientSecret: %s", akamaiConfig.ClientSecret)
97-
log.Debugf("AccessToken: %s", akamaiConfig.AccessToken)
98-
log.Debugf("EdgePath: %s", akamaiConfig.EdgercPath)
99-
log.Debugf("EdgeSection: %s", akamaiConfig.EdgercSection)
100-
*/
10193
// environment overrides edgerc file but config needs to be complete
10294
if akamaiConfig.ServiceConsumerDomain == "" || akamaiConfig.ClientToken == "" || akamaiConfig.ClientSecret == "" || akamaiConfig.AccessToken == "" {
10395
// Kubernetes config incomplete or non existent. Can't mix and match.
@@ -106,7 +98,7 @@ func NewAkamaiProvider(akamaiConfig AkamaiConfig, akaService AkamaiDNSService) (
10698
edgeGridConfig, err = edgegrid.Init(akamaiConfig.EdgercPath, akamaiConfig.EdgercSection) // use default .edgerc location and section
10799
if err != nil {
108100
log.Errorf("Edgegrid Init Failed")
109-
return &AkamaiProvider{}, err // return empty provider for backward compatibility
101+
return &AkamaiProvider{}, err // return an empty provider for backward compatibility
110102
}
111103
edgeGridConfig.HeaderToSign = append(edgeGridConfig.HeaderToSign, "X-External-DNS")
112104
} else {

provider/alibabacloud/alibaba_cloud_test.go

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222

2323
"github.com/aliyun/alibaba-cloud-sdk-go/services/alidns"
2424
"github.com/aliyun/alibaba-cloud-sdk-go/services/pvtz"
25+
"github.com/stretchr/testify/assert"
2526

2627
"sigs.k8s.io/external-dns/endpoint"
2728
"sigs.k8s.io/external-dns/plan"
@@ -223,18 +224,7 @@ func newTestAlibabaCloudProvider(private bool) *AlibabaCloudProvider {
223224
cfg := alibabaCloudConfig{
224225
VPCID: "vpc-xxxxxx",
225226
}
226-
//
227-
//dnsClient, _ := alidns.NewClientWithAccessKey(
228-
// cfg.RegionID,
229-
// cfg.AccessKeyID,
230-
// cfg.AccessKeySecret,
231-
//)
232-
//
233-
//pvtzClient, _ := pvtz.NewClientWithAccessKey(
234-
// "cn-hangzhou",
235-
// cfg.AccessKeyID,
236-
// cfg.AccessKeySecret,
237-
//)
227+
238228
domainFilterTest := endpoint.NewDomainFilter([]string{"container-service.top.", "example.org"})
239229

240230
return &AlibabaCloudProvider{
@@ -256,8 +246,8 @@ func TestAlibabaCloudPrivateProvider_Records(t *testing.T) {
256246
if len(endpoints) != 2 {
257247
t.Errorf("Incorrect number of records: %d", len(endpoints))
258248
}
259-
for _, endpoint := range endpoints {
260-
t.Logf("Endpoint for %++v", *endpoint)
249+
for _, ep := range endpoints {
250+
t.Logf("Endpoint for %++v", *ep)
261251
}
262252
}
263253
}
@@ -271,8 +261,8 @@ func TestAlibabaCloudProvider_Records(t *testing.T) {
271261
if len(endpoints) != 2 {
272262
t.Errorf("Incorrect number of records: %d", len(endpoints))
273263
}
274-
for _, endpoint := range endpoints {
275-
t.Logf("Endpoint for %++v", *endpoint)
264+
for _, ep := range endpoints {
265+
t.Logf("Endpoint for %++v", *ep)
276266
}
277267
}
278268
}
@@ -313,16 +303,17 @@ func TestAlibabaCloudProvider_ApplyChanges(t *testing.T) {
313303
},
314304
}
315305
ctx := context.Background()
316-
p.ApplyChanges(ctx, &changes)
306+
err := p.ApplyChanges(ctx, &changes)
307+
assert.NoError(t, err)
317308
endpoints, err := p.Records(ctx)
318309
if err != nil {
319310
t.Errorf("Failed to get records: %v", err)
320311
} else {
321312
if len(endpoints) != 3 {
322313
t.Errorf("Incorrect number of records: %d", len(endpoints))
323314
}
324-
for _, endpoint := range endpoints {
325-
t.Logf("Endpoint for %++v", *endpoint)
315+
for _, ep := range endpoints {
316+
t.Logf("Endpoint for %++v", *ep)
326317
}
327318
}
328319
for _, ep := range endpoints {
@@ -343,8 +334,8 @@ func TestAlibabaCloudProvider_Records_PrivateZone(t *testing.T) {
343334
if len(endpoints) != 2 {
344335
t.Errorf("Incorrect number of records: %d", len(endpoints))
345336
}
346-
for _, endpoint := range endpoints {
347-
t.Logf("Endpoint for %++v", *endpoint)
337+
for _, ep := range endpoints {
338+
t.Logf("Endpoint for %++v", *ep)
348339
}
349340
}
350341
}
@@ -378,16 +369,17 @@ func TestAlibabaCloudProvider_ApplyChanges_PrivateZone(t *testing.T) {
378369
},
379370
}
380371
ctx := context.Background()
381-
p.ApplyChanges(ctx, &changes)
372+
err := p.ApplyChanges(ctx, &changes)
373+
assert.NoError(t, err)
382374
endpoints, err := p.Records(ctx)
383375
if err != nil {
384376
t.Errorf("Failed to get records: %v", err)
385377
} else {
386378
if len(endpoints) != 2 {
387379
t.Errorf("Incorrect number of records: %d", len(endpoints))
388380
}
389-
for _, endpoint := range endpoints {
390-
t.Logf("Endpoint for %++v", *endpoint)
381+
for _, ep := range endpoints {
382+
t.Logf("Endpoint for %++v", *ep)
391383
}
392384
}
393385
}

provider/aws/aws.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ type profiledZone struct {
232232
}
233233

234234
func (cs Route53Changes) Route53Changes() []route53types.Change {
235-
ret := []route53types.Change{}
235+
var ret []route53types.Change
236236
for _, c := range cs {
237237
ret = append(ret, c.Change)
238238
}
@@ -313,7 +313,7 @@ type AWSConfig struct {
313313

314314
// NewAWSProvider initializes a new AWS Route53 based Provider.
315315
func NewAWSProvider(awsConfig AWSConfig, clients map[string]Route53API) (*AWSProvider, error) {
316-
provider := &AWSProvider{
316+
pr := &AWSProvider{
317317
clients: clients,
318318
domainFilter: awsConfig.DomainFilter,
319319
zoneIDFilter: awsConfig.ZoneIDFilter,
@@ -331,7 +331,7 @@ func NewAWSProvider(awsConfig AWSConfig, clients map[string]Route53API) (*AWSPro
331331
failedChangesQueue: make(map[string]Route53Changes),
332332
}
333333

334-
return provider, nil
334+
return pr, nil
335335
}
336336

337337
// Zones returns the list of hosted zones.
@@ -561,33 +561,33 @@ func (p *AWSProvider) records(ctx context.Context, zones map[string]*profiledZon
561561
}
562562

563563
// Identify if old and new endpoints require DELETE/CREATE instead of UPDATE.
564-
func (p *AWSProvider) requiresDeleteCreate(old *endpoint.Endpoint, new *endpoint.Endpoint) bool {
565-
// a change of record type
566-
if old.RecordType != new.RecordType {
564+
func (p *AWSProvider) requiresDeleteCreate(old *endpoint.Endpoint, newE *endpoint.Endpoint) bool {
565+
// a change of a record type
566+
if old.RecordType != newE.RecordType {
567567
return true
568568
}
569569

570570
// an ALIAS record change to/from an A
571571
if old.RecordType == endpoint.RecordTypeA {
572572
oldAlias, _ := old.GetProviderSpecificProperty(providerSpecificAlias)
573-
newAlias, _ := new.GetProviderSpecificProperty(providerSpecificAlias)
573+
newAlias, _ := newE.GetProviderSpecificProperty(providerSpecificAlias)
574574
if oldAlias != newAlias {
575575
return true
576576
}
577577
}
578578

579579
// a set identifier change
580-
if old.SetIdentifier != new.SetIdentifier {
580+
if old.SetIdentifier != newE.SetIdentifier {
581581
return true
582582
}
583583

584584
// a change of routing policy
585-
// default to true for geolocation properties if any geolocation property exists in old/new but not the other
585+
// defaults to true for geolocation properties if any geolocation property exists in old/new but not the other
586586
for _, propType := range [7]string{providerSpecificWeight, providerSpecificRegion, providerSpecificFailover,
587587
providerSpecificFailover, providerSpecificGeolocationContinentCode, providerSpecificGeolocationCountryCode,
588588
providerSpecificGeolocationSubdivisionCode} {
589589
_, oldPolicy := old.GetProviderSpecificProperty(propType)
590-
_, newPolicy := new.GetProviderSpecificProperty(propType)
590+
_, newPolicy := newE.GetProviderSpecificProperty(propType)
591591
if oldPolicy != newPolicy {
592592
return true
593593
}
@@ -601,14 +601,14 @@ func (p *AWSProvider) createUpdateChanges(newEndpoints, oldEndpoints []*endpoint
601601
var creates []*endpoint.Endpoint
602602
var updates []*endpoint.Endpoint
603603

604-
for i, new := range newEndpoints {
605-
old := oldEndpoints[i]
606-
if p.requiresDeleteCreate(old, new) {
607-
deletes = append(deletes, old)
608-
creates = append(creates, new)
604+
for i, newE := range newEndpoints {
605+
oldE := oldEndpoints[i]
606+
if p.requiresDeleteCreate(oldE, newE) {
607+
deletes = append(deletes, oldE)
608+
creates = append(creates, newE)
609609
} else {
610610
// Safe to perform an UPSERT.
611-
updates = append(updates, new)
611+
updates = append(updates, newE)
612612
}
613613
}
614614

@@ -760,8 +760,8 @@ func (p *AWSProvider) submitChanges(ctx context.Context, changes Route53Changes,
760760
func (p *AWSProvider) newChanges(action route53types.ChangeAction, endpoints []*endpoint.Endpoint) Route53Changes {
761761
changes := make(Route53Changes, 0, len(endpoints))
762762

763-
for _, endpoint := range endpoints {
764-
change := p.newChange(action, endpoint)
763+
for _, ep := range endpoints {
764+
change := p.newChange(action, ep)
765765
changes = append(changes, change)
766766
}
767767

provider/azure/config_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func TestGetCloudConfiguration(t *testing.T) {
5050

5151
func TestOverrideConfiguration(t *testing.T) {
5252
_, filename, _, _ := runtime.Caller(0)
53-
configFile := path.Join(path.Dir(filename), "config_test.json")
53+
configFile := path.Join(path.Dir(filename), "fixtures/config_test.json")
5454
cfg, err := getConfig(configFile, "subscription-override", "rg-override", "", "aad-endpoint-override")
5555
if err != nil {
5656
t.Errorf("got unexpected err %v", err)
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
{
2-
"tenantId": "tenant",
3-
"subscriptionId": "subscription",
4-
"resourceGroup": "rg",
5-
"aadClientId": "clientId",
6-
"aadClientSecret": "clientSecret"
7-
}
1+
{
2+
"tenantId": "tenant",
3+
"subscriptionId": "subscription",
4+
"resourceGroup": "rg",
5+
"aadClientId": "clientId",
6+
"aadClientSecret": "clientSecret"
7+
}

provider/exoscale/exoscale.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -310,10 +310,10 @@ func (f *zoneFilter) EndpointZoneID(endpoint *endpoint.Endpoint, zones map[strin
310310

311311
func merge(updateOld, updateNew []*endpoint.Endpoint) []*endpoint.Endpoint {
312312
findMatch := func(template *endpoint.Endpoint) *endpoint.Endpoint {
313-
for _, new := range updateNew {
314-
if template.DNSName == new.DNSName &&
315-
template.RecordType == new.RecordType {
316-
return new
313+
for _, record := range updateNew {
314+
if template.DNSName == record.DNSName &&
315+
template.RecordType == record.RecordType {
316+
return record
317317
}
318318
}
319319
return nil
@@ -323,7 +323,7 @@ func merge(updateOld, updateNew []*endpoint.Endpoint) []*endpoint.Endpoint {
323323
for _, old := range updateOld {
324324
matchingNew := findMatch(old)
325325
if matchingNew == nil {
326-
// no match, shouldn't happen
326+
// no match shouldn't happen
327327
continue
328328
}
329329

provider/godaddy/godaddy.go

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ package godaddy
1919
import (
2020
"context"
2121
"encoding/json"
22-
"errors"
2322
"fmt"
23+
"slices"
2424
"strings"
2525

2626
log "github.com/sirupsen/logrus"
@@ -46,9 +46,6 @@ var actionNames = []string{
4646

4747
const domainsURI = "/v1/domains?statuses=ACTIVE,PENDING_DNS_ACTIVE"
4848

49-
// ErrRecordToMutateNotFound when ApplyChange has to update/delete and didn't found the record in the existing zone (Change with no record ID)
50-
var ErrRecordToMutateNotFound = errors.New("record to mutate not found in current zone")
51-
5249
type gdClient interface {
5350
Patch(string, interface{}, interface{}) error
5451
Post(string, interface{}, interface{}) error
@@ -294,14 +291,14 @@ func (p *GDProvider) groupByNameAndType(zoneRecords []gdRecords) []*endpoint.End
294291
recordName = strings.TrimPrefix(fmt.Sprintf("%s.%s", records[0].Name, zoneName), ".")
295292
}
296293

297-
endpoint := endpoint.NewEndpointWithTTL(
294+
ep := endpoint.NewEndpointWithTTL(
298295
recordName,
299296
records[0].Type,
300297
endpoint.TTL(records[0].TTL),
301298
targets...,
302299
)
303300

304-
endpoints = append(endpoints, endpoint)
301+
endpoints = append(endpoints, ep)
305302
}
306303
}
307304

@@ -584,24 +581,16 @@ func countTargets(p *plan.Changes) int {
584581
count := 0
585582

586583
for _, endpoints := range changes {
587-
for _, endpoint := range endpoints {
588-
count += len(endpoint.Targets)
584+
for _, ep := range endpoints {
585+
count += len(ep.Targets)
589586
}
590587
}
591588

592589
return count
593590
}
594591

595592
func maxOf(vars ...int64) int64 {
596-
max := vars[0]
597-
598-
for _, i := range vars {
599-
if max < i {
600-
max = i
601-
}
602-
}
603-
604-
return max
593+
return slices.Max(vars)
605594
}
606595

607596
func toString(obj interface{}) string {

0 commit comments

Comments
 (0)