run: timeout: 5m skip-files: - \.pb\.go$ - \.pb\.validate\.go$ - \.pb\.gw\.go$ - \.gen\.go$ skip-dirs: - mocks - proto linters: disable-all: true enable: - asasalint - asciicheck - bidichk - bodyclose - containedctx - depguard - dogsled - dupword - durationcheck - errcheck - errchkjson - exportloopref - goconst - gocritic - godot - gofmt - gci - goprintffuncname - gosec - gosimple - govet - importas - ineffassign - misspell - nakedret - nilerr - noctx - nolintlint - nosprintfhostport - prealloc - predeclared - revive - rowserrcheck - staticcheck - stylecheck - thelper - typecheck - unconvert - unparam - unused - usestdlibvars - whitespace linters-settings: errcheck: exclude-functions: - (io.Closer).Close govet: check-shadowing: true gci: custom-order: false section-separators: - newLine sections: - standard # Standard section: captures all standard packages. - default # Default section: contains all imports that could not be matched to another section type. - blank # Blank section: contains all blank imports. This section is not present unless explicitly enabled. - dot # Dot section: contains all dot imports. This section is not present unless explicitly enabled. importas: no-unaliased: true alias: # Foundation libraries - pkg: git.sbercloud.tech/products/paas/shared/foundation/management-server alias: mgmtserver maligned: suggest-new: true goconst: min-len: 2 min-occurrences: 2 lll: line-length: 140 revive: rules: # The following rules are recommended https://github.com/mgechev/revive#recommended-configuration - name: blank-imports - name: context-as-argument - name: context-keys-type - name: dot-imports - name: error-return - name: error-strings - name: error-naming # - name: exported - name: if-return - name: increment-decrement - name: var-naming - name: var-declaration # - name: package-comments - name: range - name: receiver-naming - name: time-naming - name: unexported-return - name: indent-error-flow - name: errorf - name: empty-block - name: superfluous-else - name: unused-parameter - name: unreachable-code - name: redefines-builtin-id # # Rules in addition to the recommended configuration above. # - name: bool-literal-in-expr - name: constant-logical-expr gosec: excludes: - G307 # Deferring unsafe method "Close" on type "\*os.File" - G108 # Profiling endpoint is automatically exposed on /debug/pprof gocritic: enabled-tags: - diagnostic - experimental - performance disabled-checks: - appendAssign - dupImport # https://github.com/go-critic/go-critic/issues/845 - evalOrder - ifElseChain - octalLiteral - regexpSimplify - sloppyReassign - truncateCmp - typeDefFirst - unnamedResult - unnecessaryDefer - whyNoLint - wrapperFunc - rangeValCopy - hugeParam issues: exclude-rules: - text: "at least one file in a package should have a package comment" linters: - stylecheck - text: "should have a package comment, unless it's in another file for this package" linters: - golint - text: "should have comment or be unexported" linters: - golint - path: _test\.go linters: - gosec - dupl exclude-use-default: false output: # colored-line-number|line-number|json|tab|checkstyle, default is "colored-line-number" format: colored-line-number print-linter-name: true