mirror of
https://github.com/juanfont/headscale
synced 2026-04-25 17:15:33 +02:00
99 lines
2.2 KiB
YAML
99 lines
2.2 KiB
YAML
---
|
|
version: "2"
|
|
linters:
|
|
default: all
|
|
disable:
|
|
- cyclop
|
|
- depguard
|
|
- dupl
|
|
- exhaustruct
|
|
- funcorder
|
|
- funlen
|
|
- gochecknoglobals
|
|
- gochecknoinits
|
|
- gocognit
|
|
- godox
|
|
- interfacebloat
|
|
- ireturn
|
|
- lll
|
|
- maintidx
|
|
- makezero
|
|
- mnd
|
|
- musttag
|
|
- nestif
|
|
- nolintlint
|
|
- paralleltest
|
|
- revive
|
|
- tagliatelle
|
|
- testpackage
|
|
- varnamelen
|
|
- wrapcheck
|
|
- wsl
|
|
settings:
|
|
forbidigo:
|
|
forbid:
|
|
# Forbid time.Sleep everywhere with context-appropriate alternatives
|
|
- pattern: 'time\.Sleep'
|
|
msg: >-
|
|
time.Sleep is forbidden.
|
|
In tests: use assert.EventuallyWithT for polling/waiting patterns.
|
|
In production code: use a backoff strategy (e.g., cenkalti/backoff) or proper synchronization primitives.
|
|
# Forbid inline string literals in zerolog field methods - use zf.* constants
|
|
- pattern: '\.(Str|Int|Int8|Int16|Int32|Int64|Uint|Uint8|Uint16|Uint32|Uint64|Float32|Float64|Bool|Dur|Time|TimeDiff|Strs|Ints|Uints|Floats|Bools|Any|Interface)\("[^"]+"'
|
|
msg: >-
|
|
Use zf.* constants for zerolog field names instead of string literals.
|
|
Import "github.com/juanfont/headscale/hscontrol/util/zlog/zf" and use
|
|
constants like zf.NodeID, zf.UserName, etc. Add new constants to
|
|
hscontrol/util/zlog/zf/fields.go if needed.
|
|
analyze-types: true
|
|
gocritic:
|
|
disabled-checks:
|
|
- appendAssign
|
|
- ifElseChain
|
|
nlreturn:
|
|
block-size: 4
|
|
varnamelen:
|
|
ignore-names:
|
|
- err
|
|
- db
|
|
- id
|
|
- ip
|
|
- ok
|
|
- c
|
|
- tt
|
|
- tx
|
|
- rx
|
|
- sb
|
|
- wg
|
|
- pr
|
|
- p
|
|
- p2
|
|
ignore-type-assert-ok: true
|
|
ignore-map-index-ok: true
|
|
exclusions:
|
|
generated: lax
|
|
presets:
|
|
- comments
|
|
- common-false-positives
|
|
- legacy
|
|
- std-error-handling
|
|
paths:
|
|
- third_party$
|
|
- builtin$
|
|
- examples$
|
|
- gen
|
|
|
|
formatters:
|
|
enable:
|
|
- gci
|
|
- gofmt
|
|
- gofumpt
|
|
- goimports
|
|
exclusions:
|
|
generated: lax
|
|
paths:
|
|
- third_party$
|
|
- builtin$
|
|
- examples$
|
|
- gen
|