Closed
Description
Validation as it exists today is pretty wrong - it tracks internal types. Once we have long-term support for v1 API and are deep into v2 rework, the validation errors that are produced for v1 will be less and less useful.
We've gone back and forth about this but have not yet come up with a good answer on how to do this generically. I propose we just move it to be per-version, same as defaulting.
Given that v1beta[12] are on the block right now and v1beta3 will be soon, this is the right time. The same day we delete v1beta3 we should move pkg/api/validation into v1 and make it use versioned types.
Yes, it will be tedious to make changes, but I think that is the cost of having multiple versioned APIs in support cycles.