Preparing report...

Report for github.com/kubernetes-sigs/external-dns

A+    Excellent!    Found 47 issues across 163 files

Tweet

gofmt96%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


gocyclo85%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.

    • external-dns/source/service.go
    • Line 257: warning: cyclomatic complexity 23 of function (*serviceSource).extractHeadlessEndpoints() is high (> 15) (gocyclo)
    • Line 160: warning: cyclomatic complexity 22 of function (*serviceSource).Endpoints() is high (> 15) (gocyclo)
    • Line 561: warning: cyclomatic complexity 18 of function (*serviceSource).extractNodePortTargets() is high (> 15) (gocyclo)
    • Line 446: warning: cyclomatic complexity 16 of function (*serviceSource).generateEndpoints() is high (> 15) (gocyclo)
    • external-dns/provider/aws/aws.go
    • Line 309: warning: cyclomatic complexity 23 of function (*AWSProvider).records() is high (> 15) (gocyclo)
    • Line 622: warning: cyclomatic complexity 17 of function (*AWSProvider).newChange() is high (> 15) (gocyclo)

golint87%

Golint is a linter for Go source code.

    • external-dns/provider/gandi/gandi.go
    • Line 40: warning: exported type GandiChanges should have comment or be unexported (golint)
    • Line 46: warning: exported type GandiProvider should have comment or be unexported (golint)
    • Line 54: warning: exported function NewGandiProvider should have comment or be unexported (golint)
    • Line 80: warning: exported method GandiProvider.Zones should have comment or be unexported (golint)
    • Line 102: warning: exported method GandiProvider.Records should have comment or be unexported (golint)
    • Line 134: warning: exported method GandiProvider.ApplyChanges should have comment or be unexported (golint)
    • external-dns/provider/provider.go
    • Line 37: warning: exported type BaseProvider should have comment or be unexported (golint)
    • Line 40: warning: exported method BaseProvider.AdjustEndpoints should have comment or be unexported (golint)
    • Line 44: warning: exported method BaseProvider.PropertyValuesEqual should have comment or be unexported (golint)
    • Line 48: warning: exported method BaseProvider.GetDomainFilter should have comment or be unexported (golint)
    • external-dns/source/ingress.go
    • Line 46: warning: comment on exported const IngressHostnameSourceAnnotationOnlyValue should be of the form "IngressHostnameSourceAnnotationOnlyValue ..." (golint)
    • Line 48: warning: exported const IngressHostnameSourceDefinedHostsOnlyValue should have comment (or a comment on this block) or be unexported (golint)
    • external-dns/source/kong_tcpingress.go
    • Line 281: warning: exported type TCPIngress should have comment or be unexported (golint)
    • Line 289: warning: exported type TCPIngressList should have comment or be unexported (golint)
    • Line 404: warning: exported method TCPIngress.DeepCopyInto should have comment or be unexported (golint)
    • Line 412: warning: exported method TCPIngress.DeepCopy should have comment or be unexported (golint)
    • Line 421: warning: exported method TCPIngress.DeepCopyObject should have comment or be unexported (golint)
    • Line 428: warning: exported method TCPIngressList.DeepCopyInto should have comment or be unexported (golint)
    • Line 441: warning: exported method TCPIngressList.DeepCopy should have comment or be unexported (golint)
    • Line 450: warning: exported method TCPIngressList.DeepCopyObject should have comment or be unexported (golint)
    • external-dns/endpoint/domain_filter.go
    • Line 30: warning: exported type MatchAllDomainFilters should have comment or be unexported (golint)
    • Line 32: warning: exported method MatchAllDomainFilters.Match should have comment or be unexported (golint)
    • Line 47: warning: exported method MatchAllDomainFilters.IsConfigured should have comment or be unexported (golint)
    • external-dns/endpoint/endpoint.go
    • Line 222: warning: exported type DNSEndpoint should have comment or be unexported (golint)
    • Line 230: warning: comment on exported type DNSEndpointList should be of the form "DNSEndpointList ..." (with optional leading article) (golint)
    • external-dns/provider/zonefinder.go
    • Line 21: warning: exported type ZoneIDName should have comment or be unexported (golint)
    • Line 23: warning: exported method ZoneIDName.Add should have comment or be unexported (golint)
    • Line 27: warning: exported method ZoneIDName.FindZone should have comment or be unexported (golint)
    • external-dns/provider/gandi/client.go
    • Line 21: warning: exported type DomainClientAdapter should have comment or be unexported (golint)
    • Line 33: warning: exported function NewDomainClient should have comment or be unexported (golint)
    • Line 55: warning: exported type LiveDNSClientAdapter should have comment or be unexported (golint)
    • Line 62: warning: exported type LiveDNSClient should have comment or be unexported (golint)
    • Line 66: warning: exported function NewLiveDNSClient should have comment or be unexported (golint)
    • Line 70: warning: exported method LiveDNSClient.GetDomainRecords should have comment or be unexported (golint)
    • Line 74: warning: exported method LiveDNSClient.CreateDomainRecord should have comment or be unexported (golint)
    • Line 96: warning: exported method LiveDNSClient.DeleteDomainRecord should have comment or be unexported (golint)
    • Line 100: warning: exported method LiveDNSClient.UpdateDomainRecordByNameAndType should have comment or be unexported (golint)
    • external-dns/provider/hetzner/hetzner.go
    • Line 37: warning: exported type HetznerChanges should have comment or be unexported (golint)
    • Line 44: warning: exported type HetznerProvider should have comment or be unexported (golint)
    • Line 51: warning: exported function NewHetznerProvider should have comment or be unexported (golint)
    • Line 67: warning: exported method HetznerProvider.Records should have comment or be unexported (golint)
    • Line 95: warning: exported method HetznerProvider.ApplyChanges should have comment or be unexported (golint)
    • external-dns/provider/akamai/akamai.go
    • Line 42: warning: comment on exported type AkamaiDNSService should be of the form "AkamaiDNSService ..." (with optional leading article) (golint)
    • Line 52: warning: exported type AkamaiConfig should have comment or be unexported (golint)
    • Line 163: warning: exported method AkamaiProvider.ListZones should have comment or be unexported (golint)
    • Line 167: warning: exported method AkamaiProvider.GetRecordsets should have comment or be unexported (golint)
    • Line 171: warning: exported method AkamaiProvider.CreateRecordsets should have comment or be unexported (golint)
    • Line 175: warning: exported method AkamaiProvider.GetRecord should have comment or be unexported (golint)
    • Line 179: warning: exported method AkamaiProvider.DeleteRecord should have comment or be unexported (golint)
    • Line 183: warning: exported method AkamaiProvider.UpdateRecord should have comment or be unexported (golint)

ineffassign100%

IneffAssign detects ineffectual assignments in Go code.

No problems detected. Good job!


license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!