[run]
timeout = "10m"

[linters-settings.golint]
min-confidence = 3

[linters-settings.goconst]
min-len = 5
min-occurrences = 5

[linters]
disable-all = true
enable = [
  "bodyclose",
  "deadcode",
  "depguard",
  "dogsled",
  "errcheck",
  # "gochecknoinits",
  "goconst",
  "gocritic",
  "goimports",
  "golint",
  "goprintffuncname",
  "gosec",
  "gosimple",
  "govet",
  "ineffassign",
  "misspell",
  "nakedret",
  "rowserrcheck",
  "exportloopref",
  "staticcheck",
  "structcheck",
  # "stylecheck",
  "typecheck",
  "unconvert",
  "unused",
  "varcheck",
  "whitespace",
  "gocyclo",
]

# Disabled linters (might want them later)
# "unparam"

[[issues.exclude-rules]]
linters = ["gosec"]
text = "G108"

[[issues.exclude-rules]]
linters = ["gosec"]
text = "G110"

[[issues.exclude-rules]]
linters = ["gosec"]
text = "G201"

[[issues.exclude-rules]]
linters = ["gosec"]
text = "G202"

[[issues.exclude-rules]]
linters = ["gosec"]
text = "G306"

[[issues.exclude-rules]]
linters = ["gosec"]
text = "401"

[[issues.exclude-rules]]
linters = ["gosec"]
text = "402"

[[issues.exclude-rules]]
linters = ["gosec"]
text = "501"

[[issues.exclude-rules]]
linters = ["gosec"]
text = "404"

[[issues.exclude-rules]]
linters = ["misspell"]
text = "Unknwon` is a misspelling of `Unknown"
