-
Notifications
You must be signed in to change notification settings - Fork 95
/
.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