-
Notifications
You must be signed in to change notification settings - Fork 172
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
App white-labeling #4392
Comments
Customize the Wazuh dashboardBuilt-in customizationsWazuh dashboard is based on OpenSearch Dashboards, which supports customization through its settings: Settings
ExamplesThese settings are working in Wazuh dashboard based on OpenSearch Dashboards 1.2.0. Browser tab title and faviconLogin logo, title and subtitleLoading logoLimitationsAny changes made to the platform setting must be agreed with the @wazuh/cicd, as they are in charge of building the default settings for Wazuh Dashboard (packaging). These settings cannot be changed from the UI, but from the configuration file. We need to discuss this in depth, and open issues to the @wazuh/cicd, so they make the required changes. |
Customize the Wazuh pluginCurrently, the Wazuh plugin only supports some logo customizations. Identify the brand references
Approach
Enhancements
|
In order to simplify the additions of new settings, we'll work on the settings handling section of the app. This work will be tracked in this new issue: #4443 |
In order to minimize the number of requests required to customize the plugin, the endpoint for such functionality will be modified to support several changes at once, with a single request. This refactor will be tracked in this new issue: #4450 |
Integration process for the first iteration
These pull requests will be reviewed separately, but tested together as a unit into an integration branch. These pull request prepare the app for the white-labeling functionalities. We have named these 2 pull requests the core.
After that, the white-labeling specific pull requests will be reviewed, integrated and tested one by one into the integration branch. On each iteration, only the test cases from the integrated pull request will be executed. A full regression will be executed when everything is integrated, in order to verify that there are no bugs due to the integration. The QA flow, the pull requests dependencies and their order, have been graphically represented in the diagram below. |
First iteration is done We'll open new epics (issues) for the next ones. |
Hello! Any feedback regarding the future iterations of white-labeling, regarding hard coded error messages, index patterns, fonts, colours, etc? Thanks! |
Hello @ilyesm We have a 2nd iteration currently in the backlog. |
Thanks, subscribed to that issue. Looking forward. |
White-labeling
Supporting our partners in their commercial offerings.
Introduction
We want to make it easier for our partners and the general open source community to white-label our application interface to include their branding.
Strategy
We can use multiple strategies to allow our users to dynamically change the aspect of the UI.
Most changes will need to be made to the base
wazuh-indexer
andwazuh-dashboard
packages, while the application will need to develop an interface to manage these changes.Important use cases
Use case: vendors that don’t want the users to access the customization options
Use case: possibility to add “Powered by Wazuh” to let users know the product they are using under the hood.
Use case: internationalization. Support for different languages (not officially supported by Wazuh). Users that do want to translate the plugin without the need to modify the source code.
CSS variables
Design our custom
opensearch-dashboard
theme to use a separate CSS that will define variables that will affect the logos, texts, colors, and fonts of the areas we want to personalize.Their values can be overridden programmatically by
style.setProperty()
and the related styles change accordingly, in run-time.Our application will need a configuration to save and restore these values on page load.
All evergreen browsers support CSS variables.
We might be able to style the favicon and support different themes too.
Requirements
Requirements
The items above translate to the following tasks:
Prepare the app for white-labeling
Include white-labeling support to the app
These issues depend on the issues above.
Will be done in a next iteration, using the platform's settings.
customization.enabled
configuration #4506Will be done in a next iteration, using the platform's settings.
Bug fixes
Related Issues
Additional changes (potential requirements)
Global changes
wazuh
) is shown in the platform navigation drawer.wazuh-alerts-*
,wazuh-monitoring-*
,wazuh-statistics-*
)/app/wazuh
.wazuh …
in the error messages shown by the App.1st iteration
We'll focus on adapting the app to support white labeling in the first iteration. This means we'll provide mechanisms to upload and change the logos and text the app use as branding.
The changes related to the platform might stay out of this iteration, as we already use the built-in OpenSearch Dashboard custom branding settings for Wazuh. We need to find a way to easily enable/disable custom branding, resulting in no conflicts with the official branding.
Final testing
We'll test the first iteration as a unit when every piece has been put together.
This effort will be track in the following issues:
The text was updated successfully, but these errors were encountered: