Support List based resources in the KindSortOrder. #12915
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix for #12896
What this PR does / why we need it:
The KindSortOrder maintains 2 lists for InstallOrder and UninstallOrder, which are important to make sure that resources that have dependencies are (un)installed in the correct order without missing their dependencies.
Some List based resources are present, such as SecretList, RoleList, but many are missing such as StatefulList or IngressList.
The PR is needed so you can use List based resources without dependency problems.
Special notes for your reviewer:
The solution here is to automatically create a List entry for each entry of a resource in the InstallOrder.
This will make sure that List equivalents will automatically be supported in the future if new resources are to be added.
Existing List resources have been removed as those are now automatically injected.
The solution also removed the separate Uninstall list and this is now automatically the reverse order of the install list.
If applicable:
The existing KindSortOrder tests are sufficient. Those are testing several List based resources and those test still pass even though the InstallOrder doesn't register List resources explicitly anymore.
The Uninstall test needed a modification as the Service resource was uninstalled before a Statefulset, but Statefulset have a dependency on a headless service and should have been deleted first.