mirror of
https://github.com/pomerium/pomerium.git
synced 2025-04-29 02:16:28 +02:00
* chore(deps): bump github.com/golangci/golangci-lint Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.46.2 to 1.47.2. - [Release notes](https://github.com/golangci/golangci-lint/releases) - [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md) - [Commits](https://github.com/golangci/golangci-lint/compare/v1.46.2...v1.47.2) --- updated-dependencies: - dependency-name: github.com/golangci/golangci-lint dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * disable slowloris test * fix lint Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Caleb Doxsey <cdoxsey@pomerium.com>
194 lines
5.7 KiB
YAML
194 lines
5.7 KiB
YAML
run:
|
|
deadline: 20m
|
|
|
|
linters-settings:
|
|
dupl:
|
|
threshold: 100
|
|
funlen:
|
|
lines: 100
|
|
statements: 50
|
|
gci:
|
|
local-prefixes: github.com/pomerium
|
|
goconst:
|
|
min-len: 2
|
|
min-occurrences: 2
|
|
gocritic:
|
|
enabled-tags:
|
|
- diagnostic
|
|
- experimental
|
|
- opinionated
|
|
- performance
|
|
- style
|
|
disabled-checks:
|
|
- dupImport # https://github.com/go-critic/go-critic/issues/845
|
|
- ifElseChain
|
|
- octalLiteral
|
|
- whyNoLint
|
|
- wrapperFunc
|
|
gocyclo:
|
|
min-complexity: 15
|
|
goimports:
|
|
local-prefixes: github.com/pomerium
|
|
govet:
|
|
check-shadowing: false
|
|
lll:
|
|
line-length: 160
|
|
maligned:
|
|
suggest-new: true
|
|
misspell:
|
|
locale: US
|
|
nolintlint:
|
|
allow-leading-space: true # don't require machine-readable nolint directives (i.e. with no leading space)
|
|
allow-unused: false # report any unused nolint directives
|
|
require-explanation: false # don't require an explanation for nolint directives
|
|
require-specific: false # don't require nolint directives to be specific about which linter is being skipped
|
|
|
|
linters:
|
|
disable-all: true
|
|
enable:
|
|
- bodyclose
|
|
- deadcode
|
|
- depguard
|
|
- dogsled
|
|
- errcheck
|
|
- gofmt
|
|
- goimports
|
|
- goprintffuncname
|
|
- gosec
|
|
- gosimple
|
|
- govet
|
|
- ineffassign
|
|
- lll
|
|
- misspell
|
|
- nakedret
|
|
- nolintlint
|
|
- revive
|
|
- rowserrcheck
|
|
- staticcheck
|
|
- structcheck
|
|
- stylecheck
|
|
- typecheck
|
|
- unconvert
|
|
- unused
|
|
- varcheck
|
|
# - asciicheck
|
|
# - dupl
|
|
# - exhaustive
|
|
# - funlen
|
|
# - gochecknoglobals
|
|
# - gochecknoinits
|
|
# - gocognit
|
|
# - goconst
|
|
# - gocritic
|
|
# - gocyclo
|
|
# - godot
|
|
# - godox
|
|
# - goerr113
|
|
# - gomnd
|
|
# - interfacer
|
|
# - maligned
|
|
# - nestif
|
|
# - noctx
|
|
# - prealloc
|
|
# - scopelint
|
|
# - testpackage
|
|
# - whitespace
|
|
# - wsl
|
|
|
|
issues:
|
|
exclude-use-default: false
|
|
# List of regexps of issue texts to exclude, empty list by default.
|
|
# But independently from this option we use default exclude patterns,
|
|
# it can be disabled by `exclude-use-default: false`. To list all
|
|
# excluded by default patterns execute `golangci-lint run --help`
|
|
exclude:
|
|
## Defaults we want from golangci-lint
|
|
# errcheck: Almost all programs ignore errors on these functions and in most cases it's ok
|
|
- Error return value of .((os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*printf?|os\.(Un)?Setenv). is not checked
|
|
# golint: False positive when tests are defined in package 'test'
|
|
- func name will be used as test\.Test.* by other packages, and that stutters; consider calling this
|
|
# govet: Common false positives
|
|
- (possible misuse of unsafe.Pointer|should have signature)
|
|
# staticcheck: Developers tend to write in C-style with an explicit 'break' in a 'switch', so it's ok to ignore
|
|
- ineffective break statement. Did you mean to break out of the outer loop
|
|
# gosec: Too many false-positives on 'unsafe' usage
|
|
- Use of unsafe calls should be audited
|
|
# gosec: Too many false-positives for parametrized shell calls
|
|
- Subprocess launch(ed with variable|ing should be audited)
|
|
# gosec: Duplicated errcheck checks
|
|
- G104
|
|
# gosec: unsafe close on file errors
|
|
- G307
|
|
# gosec: Too many issues in popular repos
|
|
- (Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less)
|
|
# gosec: False positive is triggered by 'src, err := os.ReadFile(filename)'
|
|
- Potential file inclusion via variable
|
|
|
|
##
|
|
## Custom
|
|
##
|
|
# Mostly harmless buffer writes where we skip error checking
|
|
# https://golang.org/pkg/bytes/#Buffer.Write
|
|
- "Error return value of `w.Write` is not checked"
|
|
- "Error return value of `io.WriteString` is not checked"
|
|
- "Error return value of `viper.BindEnv` is not checked"
|
|
- "Error return value of `h.Write` is not checked"
|
|
- "ExecuteTemplate` is not checked"
|
|
|
|
# go sec : we want to allow skipping tls auth
|
|
- "TLS InsecureSkipVerify set true."
|
|
- "goroutine calls T.Fatalf, which must be called in the same goroutine as the test"
|
|
# good job Protobuffs!
|
|
- "method XXX"
|
|
- "SA1019"
|
|
# EXC0001 errcheck: Almost all programs ignore errors on these functions and in most cases it's ok
|
|
- Error return value of .((os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv). is not checked
|
|
|
|
exclude-rules:
|
|
# https://github.com/go-critic/go-critic/issues/926
|
|
- linters:
|
|
- gocritic
|
|
text: "unnecessaryDefer:"
|
|
# Exclude some linters from running on test files.
|
|
- path: _test\.go$|^tests/|^integration/|^samples/|templates\.go$
|
|
linters:
|
|
- bodyclose
|
|
- errcheck
|
|
- gomnd
|
|
- gosec
|
|
- lll
|
|
- maligned
|
|
- staticcheck
|
|
- unparam
|
|
- unused
|
|
- scopelint
|
|
- gosec
|
|
- gosimple
|
|
# Exclude lll issues for long lines with go:generate
|
|
- linters:
|
|
- lll
|
|
source: "^//go:generate "
|
|
# erroneously thinks google api url is a cred
|
|
- path: internal/identity/google.go
|
|
text: "Potential hardcoded credentials"
|
|
linters:
|
|
- gosec
|
|
# deprecated but every example still uses New
|
|
- path: internal/identity/google.go
|
|
text: "please use NewService instead"
|
|
linters:
|
|
- staticcheck
|
|
- path: internal/identity/oauth/github/github.go
|
|
text: "Potential hardcoded credentials"
|
|
linters:
|
|
- gosec
|
|
- linters: [golint]
|
|
text: "should have a package comment"
|
|
- text: "G112:"
|
|
linters:
|
|
- gosec
|
|
|
|
# golangci.com configuration
|
|
# https://github.com/golangci/golangci/wiki/Configuration
|
|
service:
|
|
golangci-lint-version: 1.34.x # use the fixed version to not introduce new linters unexpectedly
|