2021-05-31 07:59:09 +00:00
|
|
|
---
|
2025-05-07 02:22:12 +00:00
|
|
|
version: "2"
|
|
|
|
|
|
|
|
|
|
formatters:
|
|
|
|
|
enable:
|
|
|
|
|
- gci
|
|
|
|
|
- gofumpt
|
|
|
|
|
settings:
|
|
|
|
|
gci:
|
|
|
|
|
sections:
|
|
|
|
|
- standard
|
|
|
|
|
- prefix(github.com/prometheus-community/elasticsearch_exporter)
|
|
|
|
|
- default
|
|
|
|
|
|
2022-01-19 14:39:54 +00:00
|
|
|
linters:
|
|
|
|
|
enable:
|
2025-05-07 02:22:12 +00:00
|
|
|
- depguard
|
|
|
|
|
# TODO(@sysadmind): Enable and fix the issues.
|
|
|
|
|
# - errorlint
|
|
|
|
|
- exptostd
|
|
|
|
|
# TODO(@sysadmind): Enable and fix the issues.
|
|
|
|
|
# - gocritic
|
|
|
|
|
# - godot
|
|
|
|
|
- loggercheck
|
|
|
|
|
# TODO(@sysadmind): Enable and fix the issues.
|
|
|
|
|
# - misspell
|
|
|
|
|
- nilnesserr
|
|
|
|
|
- nolintlint
|
|
|
|
|
# TODO(@sysadmind): Enable and fix the issues.
|
|
|
|
|
# - perfsprint
|
|
|
|
|
- predeclared
|
2022-01-19 14:39:54 +00:00
|
|
|
- revive
|
2024-10-17 16:03:17 +00:00
|
|
|
- sloglint
|
2025-05-07 02:22:12 +00:00
|
|
|
- testifylint
|
|
|
|
|
- unconvert
|
|
|
|
|
- unused
|
|
|
|
|
- usestdlibvars
|
|
|
|
|
- whitespace
|
|
|
|
|
exclusions:
|
|
|
|
|
rules:
|
|
|
|
|
# Disable errcheck for test files.
|
|
|
|
|
- linters:
|
|
|
|
|
- errcheck
|
|
|
|
|
path: _test.go
|
2022-01-19 14:39:54 +00:00
|
|
|
|
2025-05-07 02:22:12 +00:00
|
|
|
# Disable errcheck rule for some specific functions.
|
|
|
|
|
- linters:
|
|
|
|
|
- errcheck
|
|
|
|
|
# Taken from the default exclusions in v1.
|
|
|
|
|
text: Error return value of .((os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv). is not checked
|
2023-03-23 08:51:33 +00:00
|
|
|
|
2025-05-07 02:22:12 +00:00
|
|
|
settings:
|
|
|
|
|
revive:
|
|
|
|
|
rules:
|
|
|
|
|
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md
|
|
|
|
|
- name: blank-imports
|
|
|
|
|
- name: comment-spacings
|
|
|
|
|
- name: context-as-argument
|
|
|
|
|
arguments:
|
|
|
|
|
# Allow functions with test or bench signatures.
|
|
|
|
|
- allowTypesBefore: '*testing.T,testing.TB'
|
|
|
|
|
- name: context-keys-type
|
|
|
|
|
- name: dot-imports
|
|
|
|
|
- name: early-return
|
|
|
|
|
arguments:
|
|
|
|
|
- "preserveScope"
|
|
|
|
|
# A lot of false positives: incorrectly identifies channel draining as "empty code block".
|
|
|
|
|
# See https://github.com/mgechev/revive/issues/386
|
|
|
|
|
- name: empty-block
|
|
|
|
|
disabled: true
|
|
|
|
|
- name: error-naming
|
|
|
|
|
- name: error-return
|
|
|
|
|
- name: error-strings
|
|
|
|
|
- name: errorf
|
|
|
|
|
# TODO(@sysadmind): Enable and fix the issues.
|
|
|
|
|
# - name: exported
|
|
|
|
|
- name: increment-decrement
|
|
|
|
|
- name: indent-error-flow
|
|
|
|
|
arguments:
|
|
|
|
|
- "preserveScope"
|
|
|
|
|
- name: package-comments
|
|
|
|
|
# TODO(beorn7/sysadmind): Currently, we have a lot of missing package doc comments. Maybe we should have them.
|
|
|
|
|
disabled: true
|
|
|
|
|
- name: range
|
|
|
|
|
- name: receiver-naming
|
|
|
|
|
- name: redefines-builtin-id
|
|
|
|
|
- name: superfluous-else
|
|
|
|
|
arguments:
|
|
|
|
|
- "preserveScope"
|
|
|
|
|
- name: time-naming
|
|
|
|
|
# TODO(@sysadmind): Enable and fix the issues.
|
|
|
|
|
# - name: unexported-return
|
|
|
|
|
- name: unreachable-code
|
|
|
|
|
- name: unused-parameter
|
|
|
|
|
severity: warning
|
|
|
|
|
disabled: true
|
|
|
|
|
- name: var-declaration
|
|
|
|
|
- name: var-naming
|
|
|
|
|
|
|
|
|
|
depguard:
|
|
|
|
|
rules:
|
|
|
|
|
main:
|
|
|
|
|
deny:
|
|
|
|
|
- pkg: "sync/atomic"
|
|
|
|
|
desc: "Use go.uber.org/atomic instead of sync/atomic"
|
|
|
|
|
- pkg: "github.com/stretchr/testify/assert"
|
|
|
|
|
desc: "Use github.com/stretchr/testify/require instead of github.com/stretchr/testify/assert"
|
|
|
|
|
- pkg: "github.com/go-kit/kit/log"
|
|
|
|
|
desc: "Use github.com/go-kit/log instead of github.com/go-kit/kit/log"
|
|
|
|
|
- pkg: "io/ioutil"
|
|
|
|
|
desc: "Use corresponding 'os' or 'io' functions instead."
|
|
|
|
|
- pkg: "regexp"
|
|
|
|
|
desc: "Use github.com/grafana/regexp instead of regexp"
|
|
|
|
|
- pkg: "github.com/pkg/errors"
|
|
|
|
|
desc: "Use 'errors' or 'fmt' instead of github.com/pkg/errors"
|
|
|
|
|
- pkg: "gzip"
|
|
|
|
|
desc: "Use github.com/klauspost/compress instead of gzip"
|
|
|
|
|
- pkg: "zlib"
|
|
|
|
|
desc: "Use github.com/klauspost/compress instead of zlib"
|
|
|
|
|
- pkg: "golang.org/x/exp/slices"
|
|
|
|
|
desc: "Use 'slices' instead."
|
|
|
|
|
issues:
|
|
|
|
|
max-issues-per-linter: 0
|
|
|
|
|
max-same-issues: 0
|