You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
Instead of duplicating the UI definition (in ConfigMaps or CRDs) in every KCP workspace or namespace, the UI extensions should be centrally stored in the provider’s workspace. Busula can then read the UI configuration directly from the provider workspace as a single source of truth. This approach eliminates the need for duplication and ensures consistency across all workspaces.
Additionally, Busula can implement a lazy-loading mechanism to only load and display UI extensions on demand. This means Busula will only fetch and show the UI extensions if the corresponding CRD is found in the user’s workspace or namespace. This not only prevents unnecessary UI rendering but also improves performance when dealing with hundreds or thousands of different CRDs.
By storing the UI extensions and definitions in the provider workspace, implementing lazy loading, and having Busula read from this central location, you:
Eliminate the need for duplicating ConfigMaps or CRDs across each workspace or namespace.
Ensure a single source of truth for UI configurations.
Simplify updates, reduce operational overhead, and scale more effectively across multiple clusters or workspaces.
Optimize the UI’s performance by only loading UI extensions when corresponding CRDs are present, ensuring a faster and more efficient user experience in large-scale environments.
Reasons
Currently, the UI definition (which contains the layout or extension information for Busula) is deployed to each KCP workspace and namespace. This means that for every namespace, a separate ConfigMap (or in the future, a CRD) is created which contains the same UI configuration for the respective CRDs provided by the provider.
Problems with the Current Approach:
Duplication: The same UI definition must be duplicated across multiple workspaces and namespaces. If there is a change in the UI definition, the changes must be propagated across all workspaces, which leads to unnecessary overhead.
Synchronization Issue: Every time the provider updates the UI definition, there’s a risk of some workspaces or namespaces falling out of sync. Keeping all ConfigMaps (or future CRDs) updated across potentially hundreds or thousands of workspaces becomes a time-consuming and error-prone task.
Scalability Problems: As the number of workspaces increases, this duplication becomes even more problematic. Managing large-scale environments with many namespaces leads to configuration drift, where different clusters or workspaces end up with different versions of the UI definitions, potentially breaking the user experience.
The text was updated successfully, but these errors were encountered:
Description
Instead of duplicating the UI definition (in ConfigMaps or CRDs) in every KCP workspace or namespace, the UI extensions should be centrally stored in the provider’s workspace. Busula can then read the UI configuration directly from the provider workspace as a single source of truth. This approach eliminates the need for duplication and ensures consistency across all workspaces.
Additionally, Busula can implement a lazy-loading mechanism to only load and display UI extensions on demand. This means Busula will only fetch and show the UI extensions if the corresponding CRD is found in the user’s workspace or namespace. This not only prevents unnecessary UI rendering but also improves performance when dealing with hundreds or thousands of different CRDs.
By storing the UI extensions and definitions in the provider workspace, implementing lazy loading, and having Busula read from this central location, you:
Reasons
Currently, the UI definition (which contains the layout or extension information for Busula) is deployed to each KCP workspace and namespace. This means that for every namespace, a separate ConfigMap (or in the future, a CRD) is created which contains the same UI configuration for the respective CRDs provided by the provider.
Problems with the Current Approach:
The text was updated successfully, but these errors were encountered: