Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI Layout and Extension Configuration Validation #3382

Open
finally-fancy opened this issue Oct 8, 2024 · 0 comments
Open

UI Layout and Extension Configuration Validation #3382

finally-fancy opened this issue Oct 8, 2024 · 0 comments

Comments

@finally-fancy
Copy link

Description
A better approach would be to introduce a Custom Resource Definition (CRD) to represent the UI layout and configuration. This solution would improve the validation process, centralize configuration management, and provide more control over how the UI extensions are defined and maintained.

Reasons
Current Implementation: Busula stores the configuration for UI layout and extensions in ConfigMaps within the Kubernetes cluster. These ConfigMaps hold the structure and configuration of the UI, including settings for extensions that customize the Busula dashboard. Essentially, the ConfigMap contains YAML data that outlines how the UI should behave, how different elements are structured, and how extensions (such as additional buttons, panels, or sections) are integrated.

Since the ConfigMap is a simple Kubernetes object with a string-based structure, there’s no validation when the ConfigMap is applied during the deployment. Any errors in the YAML configuration are only detected during runtime when the frontend attempts to load and interpret the configuration. This means that issues like syntax errors, incorrect references, or structural problems in the UI config only become apparent when users interact with the dashboard, leading to runtime failures.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant