feat: multi-shard support#41
Conversation
… multi-shard aware
…rted guide to use kcp operator
BergCyrill
left a comment
There was a problem hiding this comment.
I may have an oversight here but I haven't seen anything that will enable the controller to actually watch and reconcile on events regarding new dependency rules on more than just the first virtual workspace url (and related shard). Changing the webhook installer to not use virtual workspaces but instead rely on access through frontProxy may seem tempting at first but comes with the huge tradeoff to not leverage virtual workspaces and permissionClaims anymore but instead rely on instance wide permissions. There even may be more issues when it comes to controller-sharding.
I still would suggest to look at the way the api-syncagent does it and/or thing about leveraging the cache server - may be sufficient here too.
…ce to alleviate the need for shard-level system:admin RBAC
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…or webhook, granting kcp wide get/list access
BergCyrill
left a comment
There was a problem hiding this comment.
I am currently unsure about the following points:
- how is consumer RBAC ensured for the webhook? There isn't anything in here (or I have missed it) - maybe it is because of a RBAC misunderstanding
- What is now cached so the webhook can access this information? Only dependencyRules information and it now queries everything through its dynamicClient?
Signed-off-by: Cyrill Berg <cyrill.berg@opendefense.cloud>
Signed-off-by: Cyrill Berg <cyrill.berg@opendefense.cloud>
|
I validated the current implementation and modified the e2e tests to match the current desired setup regarding authorization & sharding. The e2e tests now ensure everything is working across shards and implements the same authorization objects that are required by design. So looks good for me now |
Stack created with GitHub Stacks CLI • Give Feedback 💬
Closes #25