feat(omnicontrol): add resource topology aggregation backend#387
feat(omnicontrol): add resource topology aggregation backend#387sarthakkjha wants to merge 2 commits intokarmada-io:mainfrom
Conversation
Summary of ChangesHello @sarthakkjha, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request establishes the foundational backend for the OmniControl feature in Karmada Dashboard. It introduces a new package designed to aggregate and visualize the complex propagation paths of resources, starting with Deployments. This enhancement aims to provide users with a clear understanding of how resources are distributed across clusters and to aid in identifying propagation issues. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a new backend package, omnicontrol, for resource topology aggregation, which is a great initiative for improving observability in Karmada Dashboard. The initial implementation for Deployments is a solid starting point. My review includes suggestions to improve robustness, adhere to best practices like context propagation, enhance logging for better debuggability, and increase test coverage. I've also pointed out a potential improvement in the API shape of the ResourceTopology struct to better reflect the relationships between resources.
Signed-off-by: Sarthak Jha <sarthak@Sarthaks-MacBook-Air.local>
b53edb1 to
ae4b510
Compare
Signed-off-by: Sarthak Jha <sarthak@Sarthaks-MacBook-Air.local>
|
Hi @warjiang @RainbowMango, I have added initial backend support for the resource topology (OmniControl) dashboard in this PR. Can you please review this and let me know if we are moving in the right direction? |
|
@sarthakkjha 🆒 thanks for your contribution, sorry for late response, and I'll check your implementation later. |
/kind feature
What this PR does / why we need it:
Adds initial backend support for discovering relationships between
control plane resources in Karmada Dashboard, as groundwork for the
OmniControl feature.
Currently, users cannot easily trace how a resource template results
in associated Policy, ResourceBinding, and Work objects. This PR
introduces a new package,
pkg/resource/omnicontrol, which aggregatesthese related objects into a single
ResourceTopologystructure.Which issue(s) this PR fixes:
Related to #227
Special notes for your reviewer:
This is a Phase 1 backend contribution as part of the LFX OmniControl project;
feedback on the API shape and approach is very welcome.
Does this PR introduce a user-facing change?: