#
# Copyright 2023-present Open Networking Foundation
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

# http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

linters-settings:
  govet:
    check-shadowing: true
    settings:
      printf:
        funcs:
          - (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof
          - (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf
          - (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf
          - (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf
    enable:
      - fieldalignment

  golint:
    min-confidence: 0

  gocyclo:
    min-complexity: 30

  misspell:
    locale: US

linters:
  disable-all: true
  enable:
     - govet
     - errcheck
     - goconst
     - gofmt
     - whitespace
     - goimports
     - gosimple
     - ineffassign
     - gocyclo
     - misspell
     - staticcheck
     - unused
     - gosec

run:
  issues-exit-code: 1
  timeout: 10m

# golangci.com configuration
# https://github.com/golangci/golangci/wiki/Configuration
service:
  golangci-lint-version: 1.50.1 # use the fixed version to not introduce new linters unexpectedly
  prepare:
    - echo "here I can run custom commands, but no preparation needed for this repo"
issues:
   exclude:
     - 'G114: Use of net/http serve function that has no support for setting timeouts'
