run:
  deadline: 60m
  skip-dirs:
    - "internal"

linters:
  enable-all: true
  disable: funlen,gocognit,exhaustivestruct,paralleltest,forbidigo,ireturn,wrapcheck,exhaustive

linters-settings:
  dupl:
    threshold: 200
  nestif:
    min-complexity: 26
  cyclop:
    max-complexity: 40
    skip-tests: true
  varnamelen:
    check-return: true
    ignore-type-assert-ok: true
    ignore-map-index-ok: true
    ignore-chan-recv-ok: true
    ignore-names:
      - err
      - ok
      - gc
  gomnd:
    settings:
      mnd:
        checks: argument,case,condition,operation,return,assign
        ignored-numbers: 10,64
  gomoddirectives:
    replace-allow-list:
      - github.com/aquasecurity/fanal
      - github.com/aquasecurity/trivy
      - github.com/aquasecurity/trivy-db
      - github.com/containers/image/v5
      - github.com/opencontainers/image-spec
      - github.com/open-policy-agent/opa
      - go.opentelemetry.io/otel
      - go.opentelemetry.io/otel/exporters/otlp
      - go.opentelemetry.io/otel/metric
      - go.opentelemetry.io/otel/sdk