-
Notifications
You must be signed in to change notification settings - Fork 8
/
.golangci.yaml
125 lines (125 loc) · 2.64 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
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
run:
deadline: 10m
linters:
disable-all: true
enable:
- asasalint
- asciicheck
- bidichk
- bodyclose
#- containedctx
- copyloopvar
- dogsled
- dupword
- durationcheck
#- errcheck
- errchkjson
#- gci
- ginkgolinter
- goconst
- gocritic
#- godot
- gofmt
- goimports
- goprintffuncname
- gosec
#- gosimple
- govet
#- importas
- ineffassign
- loggercheck
- misspell
#- nakedret
#- nilerr
- noctx
- nolintlint
- nosprintfhostport
- prealloc
#- predeclared
#- revive
- rowserrcheck
- staticcheck
- stylecheck
- thelper
- typecheck
- unconvert
#- unparam
- unused
- usestdlibvars
- whitespace
# Run with --fast=false for more extensive checks
fast: true
linters-settings:
gosec:
go: "1.23"
severity: medium
confidence: medium
concurrency: 8
# (NOTE)elfosardo: we should try removing this exclude once we bump golangci-lint to 1.61
excludes:
- G115
importas:
no-unaliased: true
alias:
# Kubernetes
- pkg: k8s.io/api/core/v1
alias: corev1
- pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
alias: apiextensionsv1
- pkg: k8s.io/apimachinery/pkg/apis/meta/v1
alias: metav1
- pkg: k8s.io/apimachinery/pkg/api/errors
alias: k8serrors
- pkg: k8s.io/apimachinery/pkg/util/errors
alias: kerrors
- pkg: k8s.io/component-base/logs/api/v1
alias: logsv1
# Controller Runtime
- pkg: sigs.k8s.io/controller-runtime
alias: ctrl
# IrSO
- pkg: github.com/metal3-io/ironic-standalone-operator/api/v1alpha1
alias: ironicv1alpha1
nolintlint:
allow-unused: false
allow-leading-space: false
require-specific: true
gocritic:
enabled-tags:
- experimental
disabled-checks:
- appendAssign
- dupImport # https://github.com/go-critic/go-critic/issues/845
- evalOrder
- ifElseChain
- octalLiteral
- regexpSimplify
- sloppyReassign
- truncateCmp
- typeDefFirst
- unnamedResult
- unnecessaryDefer
- whyNoLint
- wrapperFunc
unused:
go: "1.23"
issues:
skip-dirs:
- mock*
skip-files:
- "zz_generated.*\\.go$"
- ".*conversion.*\\.go$"
- linters:
- staticcheck
text: "SA1019:"
# Dot imports for gomega or ginkgo are allowed
# within test files.
- path: test/.*.go
text: should not use dot imports
- linters:
- revive
text: "exported: exported method .*\\.(Reconcile|SetupWithManager|SetupWebhookWithManager) should have comment or be unexported"
include:
- EXC0002 # include "missing comments" issues from golangci-lint
max-issues-per-linter: 0
max-same-issues: 0