mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-15 08:13:37 +08:00
792f1c7ed7
* caddyhttp: Escaping placeholders in CEL * Simplify some of the test cases * Implement vars and vars_regexp in CEL * dupl lint is dumb * Better consts for the placeholder CEL shortcut * Bump CEL version, register a few extensions * Refactor s390x test script for readability * Add retries for s390x to smooth over flakiness * Switch to `ph` for the CEL shortcut (match it in templates cause why not)
183 lines
4.2 KiB
YAML
183 lines
4.2 KiB
YAML
linters-settings:
|
|
errcheck:
|
|
exclude-functions:
|
|
- fmt.*
|
|
- (go.uber.org/zap/zapcore.ObjectEncoder).AddObject
|
|
- (go.uber.org/zap/zapcore.ObjectEncoder).AddArray
|
|
gci:
|
|
sections:
|
|
- standard # Standard section: captures all standard packages.
|
|
- default # Default section: contains all imports that could not be matched to another section type.
|
|
- prefix(github.com/caddyserver/caddy/v2/cmd) # ensure that this is always at the top and always has a line break.
|
|
- prefix(github.com/caddyserver/caddy) # Custom section: groups all imports with the specified Prefix.
|
|
# Skip generated files.
|
|
# Default: true
|
|
skip-generated: true
|
|
# Enable custom order of sections.
|
|
# If `true`, make the section order the same as the order of `sections`.
|
|
# Default: false
|
|
custom-order: true
|
|
exhaustive:
|
|
ignore-enum-types: reflect.Kind|svc.Cmd
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
- asasalint
|
|
- asciicheck
|
|
- bidichk
|
|
- bodyclose
|
|
- decorder
|
|
- dogsled
|
|
- dupl
|
|
- dupword
|
|
- durationcheck
|
|
- errcheck
|
|
- errname
|
|
- exhaustive
|
|
- gci
|
|
- gofmt
|
|
- goimports
|
|
- gofumpt
|
|
- gosec
|
|
- gosimple
|
|
- govet
|
|
- ineffassign
|
|
- importas
|
|
- misspell
|
|
- prealloc
|
|
- promlinter
|
|
- sloglint
|
|
- sqlclosecheck
|
|
- staticcheck
|
|
- tenv
|
|
- testableexamples
|
|
- testifylint
|
|
- tparallel
|
|
- typecheck
|
|
- unconvert
|
|
- unused
|
|
- wastedassign
|
|
- whitespace
|
|
- zerologlint
|
|
# these are implicitly disabled:
|
|
# - containedctx
|
|
# - contextcheck
|
|
# - cyclop
|
|
# - depguard
|
|
# - errchkjson
|
|
# - errorlint
|
|
# - exhaustruct
|
|
# - execinquery
|
|
# - exhaustruct
|
|
# - forbidigo
|
|
# - forcetypeassert
|
|
# - funlen
|
|
# - ginkgolinter
|
|
# - gocheckcompilerdirectives
|
|
# - gochecknoglobals
|
|
# - gochecknoinits
|
|
# - gochecksumtype
|
|
# - gocognit
|
|
# - goconst
|
|
# - gocritic
|
|
# - gocyclo
|
|
# - godot
|
|
# - godox
|
|
# - goerr113
|
|
# - goheader
|
|
# - gomnd
|
|
# - gomoddirectives
|
|
# - gomodguard
|
|
# - goprintffuncname
|
|
# - gosmopolitan
|
|
# - grouper
|
|
# - inamedparam
|
|
# - interfacebloat
|
|
# - ireturn
|
|
# - lll
|
|
# - loggercheck
|
|
# - maintidx
|
|
# - makezero
|
|
# - mirror
|
|
# - musttag
|
|
# - nakedret
|
|
# - nestif
|
|
# - nilerr
|
|
# - nilnil
|
|
# - nlreturn
|
|
# - noctx
|
|
# - nolintlint
|
|
# - nonamedreturns
|
|
# - nosprintfhostport
|
|
# - paralleltest
|
|
# - perfsprint
|
|
# - predeclared
|
|
# - protogetter
|
|
# - reassign
|
|
# - revive
|
|
# - rowserrcheck
|
|
# - stylecheck
|
|
# - tagalign
|
|
# - tagliatelle
|
|
# - testpackage
|
|
# - thelper
|
|
# - unparam
|
|
# - usestdlibvars
|
|
# - varnamelen
|
|
# - wrapcheck
|
|
# - wsl
|
|
|
|
run:
|
|
# default concurrency is a available CPU number.
|
|
# concurrency: 4 # explicitly omit this value to fully utilize available resources.
|
|
timeout: 5m
|
|
issues-exit-code: 1
|
|
tests: false
|
|
|
|
# output configuration options
|
|
output:
|
|
formats:
|
|
- format: 'colored-line-number'
|
|
print-issued-lines: true
|
|
print-linter-name: true
|
|
|
|
issues:
|
|
exclude-rules:
|
|
- text: 'G115' # TODO: Either we should fix the issues or nuke the linter if it's bad
|
|
linters:
|
|
- gosec
|
|
# we aren't calling unknown URL
|
|
- text: 'G107' # G107: Url provided to HTTP request as taint input
|
|
linters:
|
|
- gosec
|
|
# as a web server that's expected to handle any template, this is totally in the hands of the user.
|
|
- text: 'G203' # G203: Use of unescaped data in HTML templates
|
|
linters:
|
|
- gosec
|
|
# we're shelling out to known commands, not relying on user-defined input.
|
|
- text: 'G204' # G204: Audit use of command execution
|
|
linters:
|
|
- gosec
|
|
# the choice of weakrand is deliberate, hence the named import "weakrand"
|
|
- path: modules/caddyhttp/reverseproxy/selectionpolicies.go
|
|
text: 'G404' # G404: Insecure random number source (rand)
|
|
linters:
|
|
- gosec
|
|
- path: modules/caddyhttp/reverseproxy/streaming.go
|
|
text: 'G404' # G404: Insecure random number source (rand)
|
|
linters:
|
|
- gosec
|
|
- path: modules/logging/filters.go
|
|
linters:
|
|
- dupl
|
|
- path: modules/caddyhttp/matchers.go
|
|
linters:
|
|
- dupl
|
|
- path: modules/caddyhttp/vars.go
|
|
linters:
|
|
- dupl
|
|
- path: _test\.go
|
|
linters:
|
|
- errcheck
|