kubernetes/api/api-rules
Patrick Ohly b51d68bb87 DRA: bump API v1alpha2 -> v1alpha3
This is in preparation for revamping the resource.k8s.io completely. Because
there will be no support for transitioning from v1alpha2 to v1alpha3, the
roundtrip test data for that API in 1.29 and 1.30 gets removed.

Repeating the version in the import name of the API packages is not really
required. It was done for a while to support simpler grepping for usage of
alpha APIs, but there are better ways for that now. So during this transition,
"resourceapi" gets used instead of "resourcev1alpha3" and the version gets
dropped from informer and lister imports. The advantage is that the next bump
to v1beta1 will affect fewer source code lines.

Only source code where the version really matters (like API registration)
retains the versioned import.
2024-07-21 17:28:13 +02:00
..
aggregator_violation_exceptions.list Re-run codegen with new kube-openapi 2023-11-27 12:06:20 -08:00
apiextensions_violation_exceptions.list Fix list_type_missing in apiextensions-apiserver 2023-11-27 12:06:21 -08:00
codegen_violation_exceptions.list make codegen 2024-06-27 15:33:08 +02:00
README.md Remove generated file rules in make 2022-10-04 08:50:30 -07:00
sample_apiserver_violation_exceptions.list Fix list_type_missing in sample-apiserver 2023-11-27 12:06:22 -08:00
violation_exceptions.list DRA: bump API v1alpha2 -> v1alpha3 2024-07-21 17:28:13 +02:00

Existing API Rule Violations

This folder contains the checked-in report file of known API rule violations. The file violation_exceptions.list is used by Make rule during OpenAPI spec generation to make sure that no new API rule violation is introduced into our code base.

API Rule Violation Format

The report file violation_exceptions.list is in format of:

  • API rule violation: <RULE>,<PACKAGE>,<TYPE>,<FIELD>

e.g.

  • API rule violation: names_match,k8s.io/api/core/v1,Event,ReportingController

And the violation list is sorted alphabetically in each of the <RULE>, <PACKAGE>, <TYPE>, <FIELD> levels.

How to resolve API Rule Check Failure

Make rule returns an error when the newly generated violation report differs from this checked-in violation report.

Our goal is that exceptions should never be added to this list, only fixed and removed. For new APIs, this is a hard requirement. For APIs that are e.g. being moved between versions or groups without other changes, it is OK for your API reviewer to make an exception.

If you're removing violations from the exception list, or if you have good reasons to add new violations to this list, please update the file using:

  • UPDATE_API_KNOWN_VIOLATIONS=true ./hack/update-codegen.sh

It is up to API reviewers to review the list and make sure new APIs follow our API conventions.

NOTE: please don't hide changes to this file in a "generated changes" commit, treat it as source code instead.

API Rules Being Enforced

For more information about the API rules being checked, please refer to https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators/rules