Catalogathon Changes#249
Draft
shekhar316 wants to merge 1 commit into
Draft
Conversation
Reviewer's GuideModernizes the Kruize UI around a new dashboard and cluster exploration workflow, adds rich experiment/recommendation views and installed-configs pages, and enhances experiment creation and metadata import flows, including namespace-level experiments and interactive visualizations. Sequence diagram for importing cluster metadata in Explore ClustersequenceDiagram
actor User
participant LocalMonitoringPage
participant ReduxStore
participant BackendAPI
User->>LocalMonitoringPage: Load /explore-cluster
LocalMonitoringPage->>ReduxStore: dispatch getListOfDataSources
ReduxStore-->>LocalMonitoringPage: datasources
LocalMonitoringPage->>ReduxStore: dispatch getListOfExperiments
ReduxStore-->>LocalMonitoringPage: experiments
User->>LocalMonitoringPage: Click Import_Metadata for datasource
LocalMonitoringPage->>BackendAPI: GET dsmetadata?datasource=name&verbose=true
BackendAPI-->>LocalMonitoringPage: JSON metadata
LocalMonitoringPage->>LocalMonitoringPage: Transform response to ClusterData
LocalMonitoringPage->>LocalMonitoringPage: createExperimentName per workload
LocalMonitoringPage->>ReduxStore: Read experiments list
LocalMonitoringPage->>LocalMonitoringPage: checkExperimentExists for each experiment_name
LocalMonitoringPage-->>User: Render interactive cluster tree and table view with experiment status
Sequence diagram for navigating from workloads to recommendations or experiment creationsequenceDiagram
actor User
participant LocalMonitoringPage
participant ReactRouter
participant CreateExperimentPage
participant CodeEditorWithActions
participant BackendAPI
participant MonitoringPage
participant ExperimentSelection
participant ViewRecommendationsPage
User->>LocalMonitoringPage: Click workload in Interactive_View or Table_View
alt Workload_has_recommendations
LocalMonitoringPage->>ReactRouter: push /listExperiments?experiment_name=enc_name
ReactRouter-->>MonitoringPage: Render with experiment_name param
MonitoringPage->>ExperimentSelection: initialExperimentName from URL
ExperimentSelection->>BackendAPI: GET listExperiments
BackendAPI-->>ExperimentSelection: experiment list
ExperimentSelection->>ExperimentSelection: Auto select matching experiment
ExperimentSelection-->>User: Show recommendations for selected experiment
else No_recommendations_for_workload
LocalMonitoringPage->>ReactRouter: push /createExperiment with state
ReactRouter-->>CreateExperimentPage: Render with location.state
CreateExperimentPage->>CodeEditorWithActions: Pass experimentType and workload or namespace data
CodeEditorWithActions->>CodeEditorWithActions: Build JSON (namespace or container)
User->>CodeEditorWithActions: Click Create_Experiment
CodeEditorWithActions->>BackendAPI: POST importCreateExperimentJson
BackendAPI-->>CodeEditorWithActions: 200 Created
CodeEditorWithActions-->>User: Success alert with link
User->>ViewRecommendationsPage: Navigate to /view-recommendations
ViewRecommendationsPage->>BackendAPI: GET listExperiments
BackendAPI-->>ViewRecommendationsPage: Experiments
ViewRecommendationsPage-->>User: Filterable experiments table with View_Recommendations actions
end
Flow diagram for experiment JSON generation in CodeEditorWithActionsflowchart TD
A[Start_handle_CodeEditorWithActions] --> B{experimentType_is_namespace?}
B -- Yes --> C["Build_namespace_experiment_name<br/>datasource|cluster|namespace"]
C --> D[Construct_namespace_experiment_JSON_literal]
D --> G[Set_codeEditorData_to_JSON_string]
B -- No --> E["Build_container_experiment_name<br/>datasource|cluster|namespace|workload(type)|container"]
E --> F[Load_template_expyaml_and_create_substitution_object]
F --> H[Replace_placeholder_tokens_in_template]
H --> G[Set_codeEditorData_to_JSON_string]
G --> I[User_edits_JSON_in_MonacoEditor]
I --> J[On_Create_Experiment_click]
J --> K[Try_parse_codeEditorData_as_JSON]
K --> L{JSON_valid?}
L -- No --> M[Set_validationError_Invalid_JSON]
L -- Yes --> N[POST_importCreateExperimentJson]
N --> O[On_success_show_success_alert_and_link_to_View_Recommendations]
M --> P[End]
O --> P[End]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
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.
Summary by Sourcery
Modernize the UI around local monitoring and experiments by introducing a dashboard-style navigation, richer cluster exploration, and new views for recommendations and installed configurations, while updating experiment creation flows to support both container-level and namespace-level experiments.
New Features:
Enhancements:
Build: