# Docs: # https://golangci-lint.run/usage/linters/ linters: enable-all: true disable: - containedctx - contextcheck - cyclop - depguard - exhaustruct - forbidigo - funlen - gochecknoglobals - gochecknoinits - gocognit - gocyclo - gomoddirectives - interfacebloat - ireturn - lll - mnd - musttag - nestif - nilnil - nlreturn - noctx - nolintlint - nonamedreturns - perfsprint # TODO(ppacher): we should re-enanble this one to avoid costly fmt.* calls in the hot-path - revive - tagliatelle - testifylint - testpackage - varnamelen - whitespace - wrapcheck - wsl - gci - tenv # Deprecated linters-settings: revive: # See https://github.com/mgechev/revive#available-rules for details. enable-all-rules: true goimports: local-prefixes: github.com/safing godox: # report any comments starting with keywords, this is useful for TODO or FIXME comments that # might be left in the code accidentally and should be resolved before merging keywords: - FIXME gosec: # To specify a set of rules to explicitly exclude. # Available rules: https://github.com/securego/gosec#available-rules excludes: - G204 # Variables in commands. - G304 # Variables in file paths. - G505 # We need crypto/sha1 for non-security stuff. Using `nolint:` triggers another linter. issues: exclude-use-default: false exclude-rules: - text: "a blank import .*" linters: - golint - text: "ST1000: at least one file in a package should have a package comment.*" linters: - stylecheck