[run] timeout = "10m" skip-files = [] skip-dirs = [ "pkg/provider/kubernetes/crd/generated/", ] [linters-settings] [linters-settings.govet] check-shadowing = false [linters-settings.golint] min-confidence = 0.0 [linters-settings.gocyclo] min-complexity = 14.0 [linters-settings.maligned] suggest-new = true [linters-settings.goconst] min-len = 3.0 min-occurrences = 4.0 [linters-settings.misspell] locale = "US" [linters-settings.funlen] lines = 230 # default 60 statements = 120 # default 40 [linters] enable-all = true disable = [ "gocyclo", # FIXME must be fixed "gosec", "dupl", "maligned", "lll", "unparam", "prealloc", "scopelint", "gochecknoinits", "gochecknoglobals", "godox", "gocognit", "bodyclose", # Too many false-positive and panics. "wsl", # Too strict "gomnd", # Too strict "stylecheck", # skip because report issues related to some generated files. "testpackage", # Too strict "goerr113", # Too strict "nestif", # Too many false-positive. "noctx", # Too strict "exhaustive", # Too strict "nlreturn", # Too strict ] [issues] exclude-use-default = false max-per-linter = 0 max-same-issues = 0 exclude = [ "SA1019: http.CloseNotifier is deprecated: the CloseNotifier interface predates Go's context package. New code should use Request.Context instead.", # FIXME must be fixed "Error return value of .((os\\.)?std(out|err)\\..*|.*Close|.*Flush|os\\.Remove(All)?|.*printf?|os\\.(Un)?Setenv). is not checked", "should have a package comment, unless it's in another file for this package", ] [[issues.exclude-rules]] path = "(.+)_test.go" linters = ["goconst", "funlen", "godot"] [[issues.exclude-rules]] path = "integration/.+_test.go" text = "Error return value of `cmd\\.Process\\.Kill` is not checked" [[issues.exclude-rules]] path = "integration/(consul_catalog_test|constraint_test).go" text = "Error return value of `(s.deregisterService|s.deregisterAgentService)` is not checked" [[issues.exclude-rules]] path = "integration/grpc_test.go" text = "Error return value of `closer` is not checked" [[issues.exclude-rules]] path = "pkg/h2c/h2c.go" text = "Error return value of `rw.Write` is not checked" [[issues.exclude-rules]] path = "pkg/middlewares/recovery/recovery.go" text = "`logger` can be `github.com/stretchr/testify/assert.TestingT`" [[issues.exclude-rules]] path = "pkg/provider/docker/builder_test.go" text = "(U1000: func )?`(.+)` is unused" [[issues.exclude-rules]] path = "pkg/provider/kubernetes/builder_(endpoint|service)_test.go" text = "(U1000: func )?`(.+)` is unused" [[issues.exclude-rules]] path = "pkg/config/parser/.+_test.go" text = "U1000: field `(foo|fuu)` is unused" [[issues.exclude-rules]] path = "pkg/server/service/bufferpool.go" text = "SA6002: argument should be pointer-like to avoid allocations" [[issues.exclude-rules]] path = "cmd/configuration.go" text = "string `traefik` has (\\d) occurrences, make it a constant" [[issues.exclude-rules]] path = "pkg/server/middleware/middlewares.go" text = "Function 'buildConstructor' has too many statements" [[issues.exclude-rules]] # FIXME must be fixed path = "cmd/context.go" text = "S1000: should use a simple channel send/receive instead of `select` with a single case" [[issues.exclude-rules]] path = "pkg/tracing/haystack/logger.go" linters = ["goprintffuncname"] [[issues.exclude-rules]] path = "pkg/tracing/tracing.go" text = "printf-like formatting function 'SetErrorWithEvent' should be named 'SetErrorWithEventf'" [[issues.exclude-rules]] path = "pkg/log/deprecated.go" linters = ["godot"]