feat(gc): Use SelfSubjectRulesReview to scan for garbage collectable resources #3326
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.
The GC trait currently scans all the resources based on the set of types returned by the Discovery API. This leads to a significant number of unauthorised requests, that have proved to overload the API server unnecessarily.
This PR improves the GC trait, to rely on SelfSubjectRulesReview requests, to scan for garbage collectable resources, assuming the operator can only garbage collect resources it has previously created.
Rate limiting is also added, so that one SelfSubjectRulesReview request is performed over a minute period at the maximum, allowing to refresh the cached set of collectable types, should the permissions granted to the operator service account changed at runtime.
Release Note