ARO-RP/.golangci.yml

191 строка
7.2 KiB
YAML

run:
timeout: 10m
skip-dirs:
- vendor/portal
- vendor
skip-dirs-use-default: true
modules-download-mode: vendor
build-tags:
- "aro"
- "containers_image_openpgp"
- "exclude_graphdriver_devicemapper"
- "exclude_graphdriver_btrfs"
go: "1.21"
output:
format: github-actions
issues:
max-same-issues: 0
exclude-rules:
- linters:
- staticcheck
text: "SA1019: codec.BasicHandle is deprecated"
# This is set to false to disregard the default EXC0011 exclusion
# which shadows all the ST* checks. Refer https://github.com/golangci/golangci-lint/issues/2281
- path: "pkg/client/(.+)\\.go"
linters:
- importas
- path: "(.+/)?zz_generated_(.+)\\.go"
linters:
- importas
- path: "pkg/operator/(clientset|mocks)/(.+)\\.go"
linters:
- importas
- path: "pkg/util/mocks/(.+)\\.go"
linters:
- importas
exclude-use-default: false
linters-settings:
stylecheck:
# added additional checks for comments in Go.
# Refer https://staticcheck.io/docs/options#checks for details
checks:
["all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022"]
dot-import-whitelist:
- github.com/onsi/ginkgo/v2
- github.com/onsi/gomega
importas:
alias:
- pkg: github.com/Azure/ARO-RP/pkg/frontend/middleware
alias: frontendmiddleware
- pkg: github.com/Azure/ARO-RP/pkg/metrics/statsd/cosmosdb
alias: dbmetrics
- pkg: github.com/Azure/ARO-RP/pkg/operator/apis/aro.openshift.io/v1alpha1
alias: arov1alpha1
- pkg: github.com/Azure/ARO-RP/pkg/operator/apis/preview.aro.openshift.io/v1alpha1
alias: aropreviewv1alpha1
- pkg: github.com/Azure/ARO-RP/pkg/operator/clientset/versioned
alias: aroclient
- pkg: github.com/Azure/ARO-RP/pkg/operator/clientset/versioned/fake
alias: arofake
- pkg: github.com/Azure/ARO-RP/pkg/util/azureclient/mgmt/keyvault
alias: keyvaultclient
- pkg: github.com/Azure/ARO-RP/pkg/util/dynamichelper/discovery
alias: utildiscovery
- pkg: github.com/Azure/ARO-RP/test/database
alias: testdatabase
- pkg: github.com/Azure/ARO-RP/test/util/dynamichelper
alias: testdynamichelper
- pkg: github.com/Azure/ARO-RP/test/util/log
alias: testlog
- pkg: github.com/Azure/azure-sdk-for-go/services/keyvault/v7.0/keyvault
alias: azkeyvault
- pkg: github.com/Azure/azure-sdk-for-go/storage
alias: azstorage
- pkg: github.com/coreos/stream-metadata-go/arch
alias: coreosarch
- pkg: github.com/googleapis/gnostic/openapiv2
alias: openapi_v2
- pkg: github.com/openshift/console-operator/pkg/api
alias: consoleapi
- pkg: github.com/openshift/machine-api-operator/pkg/apis/machine/v1beta1
alias: machinev1beta1
- pkg: github.com/openshift/machine-api-operator/pkg/generated/clientset/versioned
alias: maoclient
- pkg: github.com/openshift/machine-api-operator/pkg/generated/clientset/versioned/fake
alias: maofake
- pkg: github.com/openshift/machine-config-operator/pkg/apis/machineconfiguration.openshift.io/v1
alias: mcv1
- pkg: github.com/openshift/machine-config-operator/pkg/generated/clientset/versioned
alias: mcoclient
- pkg: github.com/openshift/machine-config-operator/pkg/generated/clientset/versioned/fake
alias: mcofake
- pkg: github.com/openshift/machine-config-operator/pkg/generated/clientset/versioned/typed/machineconfiguration.openshift.io/v1
alias: mcoclientv1
- pkg: github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1
alias: monitoringv1
- pkg: golang.org/x/crypto/ssh
alias: cryptossh
- pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
alias: extensionsv1
- pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1
alias: extensionsv1beta1
- pkg: k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset
alias: extensionsclient
- pkg: k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake
alias: extensionsfake
- pkg: k8s.io/apimachinery/pkg/api/errors
alias: kerrors
- pkg: k8s.io/apimachinery/pkg/apis/meta/v1
alias: metav1
- pkg: k8s.io/apimachinery/pkg/runtime
alias: kruntime
- pkg: k8s.io/apimachinery/pkg/runtime/serializer/json
alias: kjson
- pkg: k8s.io/apimachinery/pkg/util/rand
alias: utilrand
- pkg: k8s.io/apimachinery/pkg/util/runtime
alias: utilruntime
- pkg: k8s.io/apimachinery/pkg/version
alias: kversion
- pkg: k8s.io/client-go/testing
alias: ktesting
- pkg: k8s.io/client-go/tools/clientcmd/api/v1
alias: clientcmdv1
- pkg: k8s.io/client-go/tools/metrics
alias: kmetrics
- pkg: sigs.k8s.io/cluster-api-provider-azure/pkg/apis/azureprovider/v1beta1
alias: azureproviderv1beta1
- pkg: sigs.k8s.io/controller-runtime
alias: ctrl
- pkg: github.com/openshift/hive/pkg/client/clientset/versioned
alias: hiveclient
- pkg: github.com/openshift/hive/pkg/client/clientset/versioned/fake
alias: hivefake
- pkg: github.com/openshift/hive/apis/hive/v1
alias: hivev1
- pkg: github.com/openshift/hive/apis/hive/v1/azure
alias: hivev1azure
- pkg: github.com/gofrs/uuid
alias: gofrsuuid
- pkg: github.com/Azure/ARO-RP/pkg/operator/controllers/checkers/common
alias: checkercommon
- pkg: github.com/Azure/ARO-RP/pkg/api/util/subnet
alias: apisubnet
- pkg: "^github\\.com/Azure/ARO-RP/pkg/api/(v[^/]*[0-9])$"
alias: $1
- pkg: "^github\\.com/Azure/ARO-RP/pkg/client/services/redhatopenshift/mgmt/([0-9]+)-([0-9]+)-([0-9]+)-?(preview)?/redhatopenshift$"
alias: mgmtredhatopenshift$1$2$3$4
- pkg: "^github\\.com/Azure/ARO-RP/pkg/(deploy|gateway|mirror|monitor|operator|portal)$"
alias: pkg$1
- pkg: "^github\\.com/Azure/ARO-RP/pkg/util/azureclient/mgmt/redhatopenshift/([0-9]+)-([0-9]+)-([0-9]+)-?(preview)?/redhatopenshift$"
alias: redhatopenshift$1$2$3$4
- pkg: "^github\\.com/Azure/ARO-RP/pkg/util/([^/]+)$"
alias: util$1
- pkg: "^github\\.com/Azure/ARO-RP/pkg/(util|operator)/mocks/(.+/)?([^/]+)$"
alias: mock_$3
- pkg: "^github\\.com/Azure/azure-sdk-for-go/services/(preview/)?([^/]+)/mgmt/([^/]+)/([^/]+)$"
alias: mgmt$4
- pkg: "^github\\.com/openshift/api/([^/]+)/(v[^/]+)$"
alias: $1$2
- pkg: "^github\\.com/openshift/client-go/([^/]+)/clientset/versioned$"
alias: ${1}client
- pkg: "^github\\.com/openshift/client-go/([^/]+)/clientset/versioned/fake$"
alias: ${1}fake
- pkg: "^k8s\\.io/api/([^/]+)/(v[^/]+)$"
alias: $1$2
- pkg: "^k8s\\.io/client-go/kubernetes/typed/([^/]+)/(v[^/]+)$"
alias: $1${2}client
linters:
disable-all: true
enable:
- gofmt
- unused
- gosimple
- govet
- staticcheck
- whitespace
- stylecheck
- unconvert
- importas
- tenv
- musttag
- ginkgolinter
- testifylint
- usestdlibvars