Skip to content

Make the apiVersion and kind fields mandatory in Kustomization/Component v1 #5140

@koba1t

Description

@koba1t

Eschewed features

  • This issue is not requesting templating, unstuctured edits, build-time side-effects from args or env vars, or any other eschewed feature.

What would you like to have added?

We add the warning message when the apiVersion or kind fields are omitted.

Why is this needed?

Today, kustomize accept to omit the apiVersion and kind fields.
This syntax is easy to start for new users, but it isn't very clear and maybe break the user config when we have a few apiVersion versions (Ex. when we add v1 for apiVersion).

So, Could we consider deprecating this syntax that omits the apiVersion and kind fields?
I think we can start by showing the warning message and adding the auto-fix function. And we can make more consideration to whether remove or not.

Can you accomplish the motivating task without this feature, and if so, how?

Probably, we can decide to use current values (Ex. apiVersion: kustomize.config.k8s.io/v1beta1) when that fields omitted.
These values were hardcoded on codes and we can announce for we require set these values when you need to use v1 and new functions.

But I think we need to add the warning message because we must remove the old apiVersion in the future.

What other solutions have you considered?

Probably, we have enough to add the warning message only.
But if we don't deprecate that, maybe user got to break their config when updating kustomize.

Anything else we should know?

No response

Feature ownership

  • I am interested in contributing this feature myself! 🎉

Metadata

Metadata

Assignees

Labels

kind/featureCategorizes issue or PR as related to a new feature.priority/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