summaryrefslogtreecommitdiffhomepage
path: root/.golangci.yml
diff options
context:
space:
mode:
authorMohammed Al Sahaf <[email protected]>2019-10-16 00:37:46 +0300
committerMatt Holt <[email protected]>2019-10-15 15:37:46 -0600
commite3726588b416682db28ea9173bf2c36e4554ce05 (patch)
tree134ff2406bb89000b20555c84cf1b68154835a56 /.golangci.yml
parentabf5ab340ed76792214ae80c62df7abe0ad1b8a8 (diff)
downloadcaddy-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.yml49
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