chore: Describe RBAC rules, remove unnecessary rules#717
Draft
NickLarsenNZ wants to merge 2 commits intomainfrom
Draft
chore: Describe RBAC rules, remove unnecessary rules#717NickLarsenNZ wants to merge 2 commits intomainfrom
NickLarsenNZ wants to merge 2 commits intomainfrom
Conversation
16 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Part of stackabletech/issues#798
Note
This was initially generated by a coding assistant to see how well it can inspect code and review the RBAC rules. the changes will be properly checked before reviews are requested.
Removed permissions
podscreate,delete,get,list,patch,update,watch)secretscreate,delete,get,list,patch,update,watch)client.get::<Secret>()orcluster_resources.add(secret)endpointscreate,delete,get,list,patch,update,watch)update(all resources)updateclient.update()orapi.replace(); all writes use Server-Side Apply (apply_patch) which requirescreate+patch, notupdateserviceaccountsupdate,watch.owns()or.watches()call inmain.rs;updateunused (SSA)rolebindingsupdate,watch.owns()or.watches()call inmain.rs;updateunused (SSA)poddisruptionbudgetsupdate,watch.owns()or.watches()call inmain.rs;updateunused (SSA)listenersupdate,watch.owns()or.watches()call inmain.rs;updateunused (SSA)jobsupdate,deleteclient.apply_patch()directly (notcluster_resources.add()), so they are not tracked in the orphan cleanup set —deleteis never exercised;updateunused (SSA)supersetclusterspatch/statussubresource, not the main resourcedruidconnectionspatch/statussubresource, not the main resourcesecretsentrysecretswas listed twice in the same ruleRestructured rules
druidconnections/statusmoved to its own rule with onlypatchdruidconnections(inheritingget,list,watch), but/statussubresources do not support those verbs meaningfully; now consistent with howsupersetclusters/statuswas already handledpods/configmaps/secrets/services/endpoints/serviceaccountssplit into per-resource rulesComments added
Every rule in the operator ClusterRole now has a comment explaining its purpose and which code paths require it.