Skip to content

API Linting Tracker (Phase 2) #11967

Open
@JoelSpeed

Description

@JoelSpeed

As a follow up to #11834

This issue tracks upcoming linters from KAL and their current status, so that we can track the new rules as they are implemented and get them enabled within CAPI.

For more detailed information and tracking, follow JoelSpeed/kal#1

Rule Description Implemented Enabled
nomaps Maps of objects should not be allowed False False
enums Enums are correctly tagged and use PascalCase False False
numericbounds Numeric fields should have upper and lower bounds False False
optionalfields Optional fields should have omitempty and usually be pointers False False
defaults Default values should use the upstream default marker False False
markertypos Checks for common typos in markers False False
nodurations Durations should be avoided, instead use an integer with a unit in the name False False
references Fields should use Ref(s) instead of Reference(s) False False
timestamps Do not use Timestamp in field names, use only Time False False
nameformats Common name fields (name/namespace) should use CEL format library to validate format False False
arrayofstruct Arrays of structs must have at least one required field False False
duplicatemarkers Checks for duplicate markers (eg enum twice on field and type) False False
typeandobjectmeta Enforces consistent standards for typemeta and objectmeta fields False False
statusoptional Top level status fields should all be optional False False
ssatags All lists must be marked with a listType False False

Metadata

Metadata

Assignees

Labels

help wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.kind/api-changeCategorizes issue or PR as related to adding, removing, or otherwise changing an APIpriority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions