diff options
author | Mohammed Al Sahaf <[email protected]> | 2019-10-16 00:37:46 +0300 |
---|---|---|
committer | Matt Holt <[email protected]> | 2019-10-15 15:37:46 -0600 |
commit | e3726588b416682db28ea9173bf2c36e4554ce05 (patch) | |
tree | 134ff2406bb89000b20555c84cf1b68154835a56 /.golangci.yml | |
parent | abf5ab340ed76792214ae80c62df7abe0ad1b8a8 (diff) | |
download | caddy-e3726588b416682db28ea9173bf2c36e4554ce05.tar.gz caddy-e3726588b416682db28ea9173bf2c36e4554ce05.zip |
v2: Project-and-CI-wide linter config (#2812)
* v2: split golangci-lint configuration into its own file to allow code editors to take advantage of it
* v2: simplify code
* v2: set the correct lint output formatting
* v2: invert the logic of linter's configuration of output formatting to allow the editor convenience over CI-specific customization. Customize the output format in CI by passing the flag.
* v2: remove irrelevant golangci-lint config
Diffstat (limited to '.golangci.yml')
-rw-r--r-- | .golangci.yml | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 000000000..5429e1a36 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,49 @@ +linters-settings: + errcheck: + ignore: fmt:.*,io/ioutil:^Read.*,github.com/caddyserver/caddy/v2/caddyconfig:RegisterAdapter,github.com/caddyserver/caddy/v2:RegisterModule + ignoretests: true + misspell: + locale: US + +linters: + enable: + - bodyclose + - errcheck + - gofmt + - goimports + - gosec + - ineffassign + - misspell + +run: + # default concurrency is a available CPU number. + # concurrency: 4 # explicitly omit this value to fully utilize available resources. + deadline: 5m + issues-exit-code: 1 + tests: false + +# output configuration options +output: + format: 'colored-line-number' + print-issued-lines: true + print-linter-name: true + +issues: + exclude-rules: + # 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 |