-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy path.golangci.yaml
More file actions
137 lines (137 loc) · 3.32 KB
/
.golangci.yaml
File metadata and controls
137 lines (137 loc) · 3.32 KB
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
version: "2"
linters:
default: all
disable:
- contextcheck # too many false positives
- depguard # checks if package imports are whitelisted
- exhaustruct # too subjective and harms code readability
- nlreturn # too strict and mostly code is not more readable
- paralleltest # should be enabled consciously for long running tests
- lll # revive.line-length-limit serve same purpose
- sqlclosecheck # not needed for this project
- wsl # too strict and mostly code is not more readable
- wsl_v5 # too strict
- noinlineerr # we want to keep inlining
settings:
recvcheck:
disable-builtin: true
# User-defined method exclusions.
# The format is `struct_name.method_name` (ex: `Foo.MethodName`).
# A wildcard `*` can use as a struct name (ex: `*.MethodName`).
# Default: []
exclusions:
- "ResourceList.append"
- "*.DeepCopyInto"
- "*.DeepCopy"
- "*.DeepCopyObject"
cyclop:
max-complexity: 20
exhaustruct:
exclude:
- gdfs
funlen:
lines: 80
gomoddirectives:
replace-allow-list:
- github.com/kyma-project/template-operator/api
replace-local: true
ireturn:
allow:
- anon
- error
- empty
- stdlib
- Client
- record.EventRecorder
- client.Object
- schema.ObjectKind
- runtime.Object
- meta.RESTMapper
- client.SubResourceWriter
- openapi.Resources
- validation.Schema
- discovery.CachedDiscoveryInterface
- machineryruntime.Object
- v1.Layer
- authn.Keychain
- ratelimiter.RateLimiter
nestif:
min-complexity: 6
nolintlint:
require-explanation: true
revive:
severity: error
rules:
- name: comment-spacings
disabled: true
- name: dot-imports
severity: warning
disabled: true
- name: line-length-limit
arguments:
- 120
severity: warning
exclude:
- "**/api/**/*_types.go"
staticcheck:
dot-import-whitelist:
- github.com/onsi/ginkgo/v2
- github.com/onsi/gomega
varnamelen:
ignore-names:
- ok
ignore-type-assert-ok: true
ignore-map-index-ok: true
ignore-chan-recv-ok: true
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
rules:
- linters:
- err113
- fatcontext
- funlen
- gochecknoglobals
- maintidx
- wrapcheck
path: _test\.go
- linters:
- lll
source: "^// +kubebuilder: "
- linters:
- lll
source: "^// http "
paths:
- zz_generated.deepcopy.go
- third_party$
- builtin$
- examples$
issues:
max-issues-per-linter: 0
max-same-issues: 0
formatters:
enable:
- gci
- gofmt
- gofumpt
- goimports
settings:
gci:
sections:
- standard
- default
- prefix(github.com/kyma-project/template-operator)
- blank
- dot
custom-order: true
exclusions:
generated: lax
paths:
- zz_generated.deepcopy.go
- third_party$
- builtin$
- examples$