mirror of
				https://github.com/1Password/onepassword-operator.git
				synced 2025-10-26 09:20:45 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			144 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| linters:
 | |
|   disable-all: true
 | |
|   enable:
 | |
|   - asciicheck
 | |
|   - bodyclose
 | |
|   - deadcode
 | |
|   - depguard
 | |
|   - dogsled
 | |
|   - errcheck
 | |
|   - errorlint
 | |
|   - exportloopref
 | |
|   - goconst
 | |
|   - gocritic
 | |
|   - gocyclo
 | |
|   - gofmt
 | |
|   - goimports
 | |
|   - goprintffuncname
 | |
|   - gosec
 | |
|   - gosimple
 | |
|   - govet
 | |
|   - ifshort
 | |
|   - importas
 | |
|   - ineffassign
 | |
|   - misspell
 | |
|   - nakedret
 | |
|   - nilerr
 | |
|   - nolintlint
 | |
|   - prealloc
 | |
|   - revive
 | |
|   - rowserrcheck
 | |
|   - staticcheck
 | |
|   - structcheck
 | |
|   - stylecheck
 | |
|   - typecheck
 | |
|   - unconvert
 | |
|   - unparam
 | |
|   - unused
 | |
|   - varcheck
 | |
|   - whitespace
 | |
| 
 | |
| linters-settings:
 | |
|   ifshort:
 | |
|     # Maximum length of variable declaration measured in number of characters, after which linter won't suggest using short syntax.
 | |
|     max-decl-chars: 50
 | |
|   importas:
 | |
|     no-unaliased: true
 | |
|     alias:
 | |
|       # Kubernetes
 | |
|       - pkg: k8s.io/api/core/v1
 | |
|         alias: corev1
 | |
|       - pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
 | |
|         alias: apiextensionsv1
 | |
|       - pkg: k8s.io/apimachinery/pkg/apis/meta/v1
 | |
|         alias: metav1
 | |
|       - pkg: k8s.io/apimachinery/pkg/api/errors
 | |
|         alias: apierrors
 | |
|       - pkg: k8s.io/apimachinery/pkg/util/errors
 | |
|         alias: kerrors
 | |
|       # Controller Runtime
 | |
|       - pkg: sigs.k8s.io/controller-runtime
 | |
|         alias: ctrl
 | |
|   staticcheck:
 | |
|     go: "1.19"
 | |
|   stylecheck:
 | |
|     go: "1.19"
 | |
|   depguard:
 | |
|     include-go-root: true
 | |
|     packages:
 | |
|       - io/ioutil # https://go.dev/doc/go1.16#ioutil
 | |
| 
 | |
| issues:
 | |
|   max-same-issues: 0
 | |
|   max-issues-per-linter: 0
 | |
|   # We are disabling default golangci exclusions because we want to help reviewers to focus on reviewing the most relevant
 | |
|   # changes in PRs and avoid nitpicking.
 | |
|   exclude-use-default: false
 | |
|   # List of regexps of issue texts to exclude, empty list by default.
 | |
|   exclude:
 | |
|   # The following are being worked on to remove their exclusion. This list should be reduced or go away all together over time.
 | |
|   # If it is decided they will not be addressed they should be moved above this comment.
 | |
|   - Subprocess launch(ed with variable|ing should be audited)
 | |
|   - (G204|G104|G307)
 | |
|   - "ST1000: at least one file in a package should have a package comment"
 | |
|   exclude-rules:
 | |
|   - linters:
 | |
|     - gosec
 | |
|     text: "G108: Profiling endpoint is automatically exposed on /debug/pprof"
 | |
|   - linters:
 | |
|     - revive
 | |
|     text: "exported: exported method .*\\.(Reconcile|SetupWithManager|SetupWebhookWithManager) should have comment or be unexported"
 | |
|   - linters:
 | |
|     - errcheck
 | |
|     text: Error return value of .((os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv). is not checked
 | |
|   # With Go 1.16, the new embed directive can be used with an un-named import,
 | |
|   # revive (previously, golint) only allows these to be imported in a main.go, which wouldn't work for us.
 | |
|   # This directive allows the embed package to be imported with an underscore everywhere.
 | |
|   - linters:
 | |
|     - revive
 | |
|     source: _ "embed"
 | |
|   # Exclude some packages or code to require comments, for example test code, or fake clients.
 | |
|   - linters:
 | |
|     - revive
 | |
|     text: exported (method|function|type|const) (.+) should have comment or be unexported
 | |
|     source: (func|type).*Fake.*
 | |
|   - linters:
 | |
|     - revive
 | |
|     text: exported (method|function|type|const) (.+) should have comment or be unexported
 | |
|     path: fake_\.go
 | |
|   # Disable unparam "always receives" which might not be really
 | |
|   # useful when building libraries.
 | |
|   - linters:
 | |
|     - unparam
 | |
|     text: always receives
 | |
|   # Dot imports for gomega or ginkgo are allowed
 | |
|   # within test files.
 | |
|   - path: _test\.go
 | |
|     text: should not use dot imports
 | |
|   - path: _test\.go
 | |
|     text: cyclomatic complexity
 | |
|   - path: _test\.go
 | |
|     text: "G107: Potential HTTP request made with variable url"
 | |
|   # Append should be able to assign to a different var/slice.
 | |
|   - linters:
 | |
|     - gocritic
 | |
|     text: "appendAssign: append result not assigned to the same slice"
 | |
|   - linters:
 | |
|     - gocritic
 | |
|     text: "singleCaseSwitch: should rewrite switch statement to if statement"
 | |
|   # It considers all file access to a filename that comes from a variable problematic,
 | |
|   # which is naiv at best.
 | |
|   - linters:
 | |
|     - gosec
 | |
|     text: "G304: Potential file inclusion via variable"
 | |
|   - linters:
 | |
|     - revive
 | |
|     text: "package-comments: should have a package comment"
 | |
| 
 | |
| run:
 | |
|   timeout: 10m
 | |
|   skip-files:
 | |
|   - "zz_generated.*\\.go$"
 | |
|   - ".*conversion.*\\.go$"
 | |
|   allow-parallel-runners: true
 | 
