Closed rlratcliffe closed 1 year ago
👋
First, I think it's important to note that we do not care about patch versions Kubernetes. Since deprecations/removals only happen on minor version boundaries, we completely disregard the patch version when parsing targetVersion.
I definitely think we should have a "maximum supported version" somewhere in order to indicate what the versions file includes. Right now I believe we are up to 1.27. This would need to be specified in the versions file because right now we allow bringing your own file if you want.
As far as the other question, we try to keep Pluto up-to-date with the latest releases, but it's a very ad-hoc process right now. Generally we add versions as we become aware of them via release notes.
Another thing to note is that targetVersion is a bit interesting, in that if you did specify v1.35.0
(which does not exist), you would still get meaningful results from pluto. It's less of a "target version" and more of a "maximum version you want to see deprecations/removals for". So essentially saying --targetVersion=k8s=v1.35.0
says "Show me all the deprecations and removals that you know about". It's really only a useful flag when trying to limit the output to a lower version that you care about. So if the latest version out there is 1.27, and I'm upgrading from 1.23->1.24, I may not want to see all the things that get removed in 1.25-1.27 for this upgrade. So the best way to think of it is as a noise-reduction mechanism.
Is your feature request related to a problem? Please describe. It is unclear when using Pluto if the target version for a K8s version that definitely exists (ex:
pluto detect-all-in-cluster -o wide -t k8s=v1.27.1
) is available for detection in the tool or not. If I enter in a K8s version that clearly doesn't exist yet (ex:pluto detect-all-in-cluster -o wide -t k8s=v1.35.4
), no error is returned, justThere were no resources found with known deprecated apiVersions.
This brings up questions such as:Describe the solution you'd like I think an error if a target version isn't supported would be sufficient.
Describe alternatives you've considered An output to show the currently supported versions for use with
-t/--target-versions
, although that shouldn't replace an error being returned.Additional context N/A. Thanks for the tool.