version: "2"
run:
  allow-parallel-runners: true
linters:
  default: none
  enable:
    - copyloopvar
    - dupl
    - errcheck
    - ginkgolinter
    - goconst
    - gocyclo
    # enable when the TODOs are fixed
    # - godox
    - goheader
    - govet
    - ineffassign
    - lll
    - misspell
    - nakedret
    - prealloc
    - revive
    - staticcheck
    - unconvert
    - unparam
    - unused
  settings:
    goheader:
      values:
        const:
          AUTHOR: Peter Kurfer
      template-path: hack/header.tmpl
    importas:
      alias:
        - pkg: k8s.io/api/(\w+)/(v[\w\d]+)
          alias: $1$2
        - pkg: k8s.io/apimachinery/pkg/apis/meta/v1
          alias: metav1
      no-unaliased: true
      no-extra-aliases: true
    revive:
      rules:
        - name: comment-spacings
  exclusions:
    generated: lax
    rules:
      - linters:
          - lll
        path: api/*
      - linters:
          - dupl
          - lll
        path: internal/*
    paths:
      - third_party$
      - builtin$
      - examples$
severity:
  default: error
  rules:
    - linters:
        - godox
      severity: info
formatters:
  enable:
    - gofmt
    - goimports
  settings:
    gci:
      sections:
        - standard
        - default
        - prefix(code.icb4dc0.de/prskr/supabase-operator)
        - alias
        - blank
        - dot
    goimports:
      local-prefixes:
        - code.icb4dc0.de/prskr/supabase-operator
  exclusions:
    generated: lax
    paths:
      - third_party$
      - builtin$
      - examples$