envoyproxy / envoyproxy/gateway

Progressively enable more kube-api-linter rules

Open
#9,683 2 comments 0 reactions 1 assignee Claimed by @sivchari View on GitHub
area/api stale
Dominant language
Go
Stars
3k
Forks
864
Avg merge
1d 22h
Merged PRs (30d)
148

Description

*Description*:

I'd like to enable the remaining rules of kube-api-linter progressively:

- [x] step1: bump KAL to the latest version
- [ ] step2: add every KAL linter rules to configuration file explicitly, and then enabling the ones that already pass (`nophase`, `noreferences`, `statussubresource`). And keeping the rest commented out with their current violation counts.
- [ ] step3: fix 6 fields with duplicated `kubebuilder:validation:Enum` markers, then uncomment `duplicatemarkers` + `uniquemarkers` (generated CRDs unchanged)
- [ ] step4: resolve 2 fields carrying both `+kubebuilder:default` and `+required`, then uncomment `defaultorrequired`
- [ ] step5: work through the remaining commented-out rules one by one, in whatever order maintainers prefer

Some rules can't be uncommented without breaking changes, for example, `jsontags`, `nofloats`, `nomaps` , `integers`, `optionalfields` and `requiredfields`.

When we move on to step5, we should discuss the plan whether we should migrate from v1alpha1 to v1alpha2(maybe v1beta1?).

*Relevant Links*:

- https://github.com/kubernetes-sigs/kube-api-linter (rule reference: `docs/linters.md`)
- #6546 / #7303 (initial KAL introduction)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.