mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-30 17:58:14 +00:00 
			
		
		
		
	golangci-lint: inline logcheck configuration
This has the advantage that the golangci-lint cache gets invalidated automatically each time the logcheck config changes.
This commit is contained in:
		| @@ -98,6 +98,50 @@ linters-settings: # please keep this alphabetized | ||||
|       path: ../_output/local/bin/logcheck.so | ||||
|       description: structured logging checker | ||||
|       original-url: k8s.io/logtools/logcheck | ||||
|       settings: | ||||
|         config: | | ||||
|           # hack/logcheck.conf contains regular expressions that are matched against <pkg>/<file>, | ||||
|           # for example k8s.io/cmd/kube-scheduler/app/config/config.go. | ||||
|           # | ||||
|           # By default, structured logging call parameters are checked, but usage of | ||||
|           # those calls is not required. That is changed on a per-file basis. | ||||
|           # | ||||
|           # Remember to clean the golangci-lint cache when changing the configuration and | ||||
|           # running the verify-golangci-lint.sh script multiple times, otherwise | ||||
|           # golangci-lint will report stale results: | ||||
|           #    _output/local/bin/golangci-lint cache clean | ||||
|            | ||||
|           # At this point we don't enforce the usage structured logging calls except in | ||||
|           # those packages that were migrated. This disables the check for other files. | ||||
|           -structured .* | ||||
|            | ||||
|           # Now enable it again for migrated packages. | ||||
|           structured k8s.io/kubernetes/cmd/kube-proxy/.* | ||||
|           structured k8s.io/kubernetes/cmd/kubelet/.* | ||||
|           structured k8s.io/kubernetes/pkg/kubelet/.* | ||||
|           structured k8s.io/kubernetes/pkg/proxy/.* | ||||
|           structured k8s.io/kubernetes/pkg/scheduler/.* | ||||
|           structured k8s.io/kms/.* | ||||
|           structured k8s.io/apiserver/pkg/storage/value/.* | ||||
|           structured k8s.io/apiserver/pkg/server/options/encryptionconfig/.* | ||||
|            | ||||
|           # The following packages have been migrated to contextual logging. | ||||
|           # Packages matched here do not have to be listed above because | ||||
|           # "contextual" implies "structured". | ||||
|           contextual k8s.io/client-go/metadata/.* | ||||
|           contextual k8s.io/client-go/tools/events/.* | ||||
|           contextual k8s.io/client-go/tools/record/.* | ||||
|           contextual k8s.io/dynamic-resource-allocation/.* | ||||
|           contextual k8s.io/kubernetes/cmd/kube-scheduler/.* | ||||
|           contextual k8s.io/kubernetes/pkg/controller/.* | ||||
|           contextual k8s.io/kubernetes/pkg/scheduler/.* | ||||
|           contextual k8s.io/kubernetes/test/e2e/dra/.* | ||||
|            | ||||
|           # As long as contextual logging is alpha or beta, all WithName, WithValues, | ||||
|           # NewContext calls have to go through klog. Once it is GA, we can lift | ||||
|           # this restriction. Whether we then do a global search/replace remains | ||||
|           # to be decided. | ||||
|           with-helpers .* | ||||
|   forbidigo: | ||||
|     analyze-types: true | ||||
|     forbid: | ||||
|   | ||||
| @@ -145,6 +145,50 @@ linters-settings: # please keep this alphabetized | ||||
|       path: ../_output/local/bin/logcheck.so | ||||
|       description: structured logging checker | ||||
|       original-url: k8s.io/logtools/logcheck | ||||
|       settings: | ||||
|         config: | | ||||
|           # hack/logcheck.conf contains regular expressions that are matched against <pkg>/<file>, | ||||
|           # for example k8s.io/cmd/kube-scheduler/app/config/config.go. | ||||
|           # | ||||
|           # By default, structured logging call parameters are checked, but usage of | ||||
|           # those calls is not required. That is changed on a per-file basis. | ||||
|           # | ||||
|           # Remember to clean the golangci-lint cache when changing the configuration and | ||||
|           # running the verify-golangci-lint.sh script multiple times, otherwise | ||||
|           # golangci-lint will report stale results: | ||||
|           #    _output/local/bin/golangci-lint cache clean | ||||
|            | ||||
|           # At this point we don't enforce the usage structured logging calls except in | ||||
|           # those packages that were migrated. This disables the check for other files. | ||||
|           -structured .* | ||||
|            | ||||
|           # Now enable it again for migrated packages. | ||||
|           structured k8s.io/kubernetes/cmd/kube-proxy/.* | ||||
|           structured k8s.io/kubernetes/cmd/kubelet/.* | ||||
|           structured k8s.io/kubernetes/pkg/kubelet/.* | ||||
|           structured k8s.io/kubernetes/pkg/proxy/.* | ||||
|           structured k8s.io/kubernetes/pkg/scheduler/.* | ||||
|           structured k8s.io/kms/.* | ||||
|           structured k8s.io/apiserver/pkg/storage/value/.* | ||||
|           structured k8s.io/apiserver/pkg/server/options/encryptionconfig/.* | ||||
|            | ||||
|           # The following packages have been migrated to contextual logging. | ||||
|           # Packages matched here do not have to be listed above because | ||||
|           # "contextual" implies "structured". | ||||
|           contextual k8s.io/client-go/metadata/.* | ||||
|           contextual k8s.io/client-go/tools/events/.* | ||||
|           contextual k8s.io/client-go/tools/record/.* | ||||
|           contextual k8s.io/dynamic-resource-allocation/.* | ||||
|           contextual k8s.io/kubernetes/cmd/kube-scheduler/.* | ||||
|           contextual k8s.io/kubernetes/pkg/controller/.* | ||||
|           contextual k8s.io/kubernetes/pkg/scheduler/.* | ||||
|           contextual k8s.io/kubernetes/test/e2e/dra/.* | ||||
|            | ||||
|           # As long as contextual logging is alpha or beta, all WithName, WithValues, | ||||
|           # NewContext calls have to go through klog. Once it is GA, we can lift | ||||
|           # this restriction. Whether we then do a global search/replace remains | ||||
|           # to be decided. | ||||
|           with-helpers .* | ||||
|   forbidigo: | ||||
|     analyze-types: true | ||||
|     forbid: | ||||
|   | ||||
| @@ -148,6 +148,50 @@ linters-settings: # please keep this alphabetized | ||||
|       path: ../_output/local/bin/logcheck.so | ||||
|       description: structured logging checker | ||||
|       original-url: k8s.io/logtools/logcheck | ||||
|       settings: | ||||
|         config: | | ||||
|           # hack/logcheck.conf contains regular expressions that are matched against <pkg>/<file>, | ||||
|           # for example k8s.io/cmd/kube-scheduler/app/config/config.go. | ||||
|           # | ||||
|           # By default, structured logging call parameters are checked, but usage of | ||||
|           # those calls is not required. That is changed on a per-file basis. | ||||
|           # | ||||
|           # Remember to clean the golangci-lint cache when changing the configuration and | ||||
|           # running the verify-golangci-lint.sh script multiple times, otherwise | ||||
|           # golangci-lint will report stale results: | ||||
|           #    _output/local/bin/golangci-lint cache clean | ||||
|            | ||||
|           # At this point we don't enforce the usage structured logging calls except in | ||||
|           # those packages that were migrated. This disables the check for other files. | ||||
|           -structured .* | ||||
|            | ||||
|           # Now enable it again for migrated packages. | ||||
|           structured k8s.io/kubernetes/cmd/kube-proxy/.* | ||||
|           structured k8s.io/kubernetes/cmd/kubelet/.* | ||||
|           structured k8s.io/kubernetes/pkg/kubelet/.* | ||||
|           structured k8s.io/kubernetes/pkg/proxy/.* | ||||
|           structured k8s.io/kubernetes/pkg/scheduler/.* | ||||
|           structured k8s.io/kms/.* | ||||
|           structured k8s.io/apiserver/pkg/storage/value/.* | ||||
|           structured k8s.io/apiserver/pkg/server/options/encryptionconfig/.* | ||||
|            | ||||
|           # The following packages have been migrated to contextual logging. | ||||
|           # Packages matched here do not have to be listed above because | ||||
|           # "contextual" implies "structured". | ||||
|           contextual k8s.io/client-go/metadata/.* | ||||
|           contextual k8s.io/client-go/tools/events/.* | ||||
|           contextual k8s.io/client-go/tools/record/.* | ||||
|           contextual k8s.io/dynamic-resource-allocation/.* | ||||
|           contextual k8s.io/kubernetes/cmd/kube-scheduler/.* | ||||
|           contextual k8s.io/kubernetes/pkg/controller/.* | ||||
|           contextual k8s.io/kubernetes/pkg/scheduler/.* | ||||
|           contextual k8s.io/kubernetes/test/e2e/dra/.* | ||||
|            | ||||
|           # As long as contextual logging is alpha or beta, all WithName, WithValues, | ||||
|           # NewContext calls have to go through klog. Once it is GA, we can lift | ||||
|           # this restriction. Whether we then do a global search/replace remains | ||||
|           # to be decided. | ||||
|           with-helpers .* | ||||
|   forbidigo: | ||||
|     analyze-types: true | ||||
|     forbid: | ||||
|   | ||||
| @@ -159,6 +159,9 @@ linters-settings: # please keep this alphabetized | ||||
|       path: ../_output/local/bin/logcheck.so | ||||
|       description: structured logging checker | ||||
|       original-url: k8s.io/logtools/logcheck | ||||
|       settings: | ||||
|         config: | | ||||
|           {{include "hack/logcheck.conf" | indent 10 | trim}} | ||||
|   forbidigo: | ||||
|     analyze-types: true | ||||
|     forbid: | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| # This file contains regular expressions that are matched against <pkg>/<file>, | ||||
| # hack/logcheck.conf contains regular expressions that are matched against <pkg>/<file>, | ||||
| # for example k8s.io/cmd/kube-scheduler/app/config/config.go. | ||||
| # | ||||
| # By default, structured logging call parameters are checked, but usage of | ||||
|   | ||||
| @@ -49,15 +49,7 @@ export GOBIN="${KUBE_OUTPUT_BINPATH}" | ||||
| PATH="${GOBIN}:${PATH}" | ||||
|  | ||||
| invocation=(./hack/verify-golangci-lint.sh "$@") | ||||
|  | ||||
| # The logcheck plugin currently has to be configured via env variables | ||||
| # (https://github.com/golangci/golangci-lint/issues/1512). | ||||
| # | ||||
| # Remember to clean the golangci-lint cache when changing | ||||
| # the configuration and running this script multiple times, | ||||
| # otherwise golangci-lint will report stale results: | ||||
| # _output/local/bin/golangci-lint cache clean | ||||
| golangci=(env LOGCHECK_CONFIG="${KUBE_ROOT}/hack/logcheck.conf" "${GOBIN}/golangci-lint" run) | ||||
| golangci=("${GOBIN}/golangci-lint" run) | ||||
| golangci_config="${KUBE_ROOT}/hack/golangci.yaml" | ||||
| base= | ||||
| strict= | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Patrick Ohly
					Patrick Ohly