-
Notifications
You must be signed in to change notification settings - Fork 94
/
.golangci.yaml
87 lines (83 loc) · 1.93 KB
/
.golangci.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
linters:
disable-all: true
enable:
- bodyclose
- errcheck
- gocritic
- gocyclo
- goimports
- revive
- gosec
- gosimple
- govet
- ineffassign
- misspell
- nakedret
- lll
- noctx
- staticcheck
- stylecheck
- typecheck
- unconvert
- unparam
- unused
- depguard
- dogsled
- copyloopvar
- goconst
- goprintffuncname
- nolintlint
- dupl
- gochecknoinits
# don't enable:
# - golint # deprecated
# - whitespace
# - funlen
# - exhaustive
# - gomnd
# - gofmt
# - deadcode # deprecated since v1.49.0
# - structcheck # deprecated since v1.49.0
# - varcheck # deprecated since v1.49.0
# - rowserrcheck # rowserrcheck is disabled because of generics. You can track the evolution of the generics support by following the https://github.com/golangci/golangci-lint/issues/2649
run:
deadline: 3m
linters-settings:
lll:
line-length: 150
depguard:
# https://golangci-lint.run/usage/linters/#depguard
# https://github.com/OpenPeeDeeP/depguard
rules:
main:
allow:
- $gostd
- istio.io/client-go
- k8s.io/apimachinery
- k8s.io/client-go
- k8s.io/api
- sigs.k8s.io/controller-runtime
- sigs.k8s.io/external-dns
- github.com/AbsaOSS
- github.com/ghodss/yaml
- github.com/go-logr
- github.com/golang/mock/
- github.com/infobloxopen
- github.com/k8gb-io
- github.com/miekg
- github.com/prometheus
- github.com/rs/zerolog
- github.com/stretchr/testify
- go.opentelemetry.io/otel
- go.uber.org/mock/gomock
issues:
exclude-rules:
- path: _test\.go
linters:
- dupl
- path: main.go
linters:
- gochecknoinits
- path: gslb_types.go
linters:
- gochecknoinits