-
Notifications
You must be signed in to change notification settings - Fork 200
/
.golangci.yml
90 lines (85 loc) · 2.54 KB
/
.golangci.yml
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
run:
deadline: 2m
skip-dirs:
- client
go: '1.19'
build-tags:
- e2e
linters:
disable-all: true
enable:
- bodyclose
# - depguard # NOTE: we want to allow all packages
- dogsled
# - dupl # NOTE: intentionally disabled
- errcheck
- exhaustive
- funlen
# - gochecknoinits # NOTE: intentionally disabled
- goconst
- gocritic # NOTE: remove nolinted functions
- gocyclo
- gofmt
- goheader
- goimports
# - golint # NOTE: brokerID must be dealt as brokerId
# - gomnd
- goprintffuncname
# - gosec # Note: Fixme when refactoring http calls
- gosimple
- govet
- ineffassign
- lll
- misspell
- nakedret
# - noctx # Note: FIXME by adding refactoring http calls
# - nolintlint # NOTE: intentionally disabled
- rowserrcheck
- reassign
- exportloopref
- staticcheck
# - stylecheck # NOTE: brokerID must be dealt as brokerId
- typecheck
- unconvert
- unparam
- unused
- whitespace
linters-settings:
dogsled:
max-blank-identifiers: 3 # default: 2
funlen:
# FIXME: we need to refactor functions with length more then ~200 lines
lines: 323 # default: 60
statements: 100 # default: 40
gocritic:
disabled-checks:
- commentFormatting
gocyclo:
min-complexity: 38
goheader:
values:
const:
COMPANY: Cisco Systems, Inc. and/or its affiliates
regexp:
YEAR: 20(19|20|21|22|23)
# NOTE: 1. pattern in the group to cover headers generated with `addlicense` while the
# 2. pattern to cover existing files
COPYRIGHT: (Copyright|Copyright ©)
template: |-
{{ COPYRIGHT }} {{ YEAR }} {{ COMPANY }}
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
goimports:
local-prefixes: github.com/banzaicloud/koperator
golint:
min-confidence: 0.1
lll:
# FIXME: we should be able to reduce the length of lines to be closer to the default 120 lines
line-length: 300 # default: 120