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

Update the new sidebar menu design #5893

Closed
4 tasks done
Desvelao opened this issue Sep 18, 2023 · 8 comments · Fixed by #5928, wazuh/wazuh-packages#2496, #5991, #5997 or #6015
Closed
4 tasks done

Update the new sidebar menu design #5893

Desvelao opened this issue Sep 18, 2023 · 8 comments · Fixed by #5928, wazuh/wazuh-packages#2496, #5991, #5997 or #6015
Assignees
Labels
level/task Task issue type/enhancement Enhancement issue

Comments

@Desvelao
Copy link
Member

Desvelao commented Sep 18, 2023

Description

A new sidebar menu design was defined in a recent meeting.

We got a new sidebar menu defined in a recent meeting. There are some changes that we should apply to the previous design.

Requirements update

Category Name ID Section in monolith plugin Changes
Home Overview wz-home Modules directory This is the home (the home icon)
Endpoint security Security Configuration Assessment security-configuration-assessment Modules > Security Configuration Assessment RENAME Configuration assessment
Endpoint security Policy monitoring policy-monitoring Modules > Policy monitoring RENAME to Malware detection (this is rootcheck now)
Endpoint security Integrity monitoring integrity-monitoring Modules > Integrity monitoring RENAME to File integrity monitoring
Endpoint security System auditing system-auditing Modules > System auditing DELETE
Endpoint security OpenSCAP openscap Modules > OpenSCAP DELETE
Endpoint security CIS-CAT ciscat Modules > CIS-CAT DELETE
Threat intelligence Security events security-events Modules > Security events RENAME Threat hunting
Threat intelligence Vulnerabilities vulnerabilities Modules > Vulnerabilities RENAME to Vulnerability detection
Threat intelligence MITRE ATT&CK mitre-attack Modules > MITRE ATT&CK
Threat intelligence Virustotal virustotal Modules > Virustotal
Security operations PCI DSS pci-dss Modules > PCI DSS
Security operations GDPR gdpr Modules > GDPR
Security operations HIPAA hipaa Modules > HIPAA
Security operations NIST 800-53 nist-800-53 Modules > NIST 800-53
Security operations TSC tsc Modules > TSC
Security operations IT Hygiene it-hygiene Agents > {agent_id} -> Inventory
Security operations Osquery osquery Modules > Osquery DELETE
Cloud security AWS amazon-web-services Modules > AWS
Cloud security Google Cloud google-cloud Modules > Google Cloud
Cloud security GitHub github Modules > GitHub
Cloud security Office365 office365 Modules > Office365
Cloud security Docker listener docker-listener Modules > Docker listener RENAME to Docker
Explore Discover - - Renamed from "Openseach dashboards"
Explore Dashboards - -
Explore Visualize - -
Explore Reporting - - Comes from "Opensearch plugins"
Explore Alerting - -
Explore Maps - -
Explore Notifications - -
Server management Endpoints summary endpoints-summary Agents This comes from Endpoint security
Server management Groups groups Management > Groups RENAME to Endpoint groups
Server management Rules rules Management > Rules
Server management Decoders decoders Management > Decoders
Server management CDB lists cdb-lists Management > CDB lists
Server management Status server-status Management > Status
Server management Cluster cluster Management > Cluster
Server management Statistics statistics Management > Statistics
Server management Logs logs Management > Logs
Server management Settings settings Management > Configuration
Server management API console api-console Tools > API console RENAME Dev tools
Server management Ruleset test ruleset-test Tools > Ruleset test
Server management RBAC rbac Security RENAME to Security
Indexer/dashboard Management Reporting reporting Management > Reporting Comes from "server management"
Indexer/dashboard Management Server API server-api Settings > API configuration
Indexer/dashboard Management Modules modules Settings > Modules DELETE
Indexer/dashboard Management Server data server-data Settings > Sample data
Indexer/dashboard Management Configuration configuration Settings > Configuration RENAME to Wazuh plugin settings
Indexer/dashboard Management Logs app-logs Settings > Logs RENAME to Wazuh plugin logs
Indexer/dashboard Management About about Settings > About RENAME to Wazuh plugin about
Indexer/dashboard Management Dev tools - - Comes from management
Indexer/dashboard Management Stack management - - Comes from management
Indexer/dashboard Management Security - - -> Comes from Opensearch plugins, nice to move it to indexer./dashaboard management
Indexer/dashboard Management Index management - -
Indexer/dashboard Management Snapshot management - -

Tasks

  • Update the sidebar with the new design
  • Adapt the agent menu to the applications related to the agent
  • Move the built-in applications to the expected category
  • Enhance the order of applications
@Desvelao Desvelao added type/enhancement Enhancement issue level/task Task issue labels Sep 18, 2023
@Desvelao
Copy link
Member Author

Considerations

  • The applications called Wazuh plugin <placeholder> use the branding name. We should remove the branding name so these doesn't have to be modified for users that want to customize the Wazuh dashboard.

@Desvelao
Copy link
Member Author

Desvelao commented Sep 21, 2023

The changes that are not related to the Wazuh applications must be changed by editing the source code of Wazuh dashboard package.

I saw that OpenSearch Dashboards 2.9.0 includes some applications that are not specified in the desired design for Wazuh dashboard. We should decide what to do.

image
image

In 2.9.0, the Security is under the Management category.

For another hand, in OpenSearch Dashboards 2.9.0 the Stack management application was renamed to Dashboards management. If we change the name of the category this belongs to, from Management to Indexer/dashboard management this could be redundant.

EDIT:

We will use OpenSearch Dashboards 2.10.0 (that is unreleased at the moment), so we will need the required changes there.

I got some changes that are working in OpenSearch Dashboards 2.9.0 that could be useful for OpenSearch Dashboards 2.10.0

Changes in OpenSearch Dashboards 2.9.0
## Define categories
category_explore='{id:"explore",label:"Explore",order:5e3,euiIconType:"managementApp"}'
category_dashboard_management='{id:"management",label:"Dashboard Management",order:5e3,euiIconType:"managementApp"}'

## Add custom categories (explore) to the built-in
sed -i -e "s|DEFAULT_APP_CATEGORIES=Object.freeze({|DEFAULT_APP_CATEGORIES=Object.freeze({explore:${category_explore},|" src/core/target/public/core.entry.js

## Replace management built-in app category
sed -i -e "s|management:{id:\"management\",label:external_osdSharedDeps_OsdI18n_\[\"i18n\"\].translate(\"core.ui.managementNavList.label\",{defaultMessage:\"Management\"}),order:5e3,euiIconType:\"managementApp\"}|management:${category_dashboard_management}|" src/core/target/public/core.entry.js

# ## Replace app category to Discover app
sed -i -e 's|category:core_public_\["DEFAULT_APP_CATEGORIES"\].opensearchDashboards|category:core_public_["DEFAULT_APP_CATEGORIES"].explore|' src/plugins/discover/target/public/discover.plugin.js

# ## Replace app category to Dashboard app
sed -i -e 's|category:core_public_\["DEFAULT_APP_CATEGORIES"\].opensearchDashboards|category:core_public_["DEFAULT_APP_CATEGORIES"].explore|' src/plugins/dashboard/target/public/dashboard.plugin.js

# ## Replace app category to Visualize app
sed -i -e 's|category:core_public_\["DEFAULT_APP_CATEGORIES"\].opensearchDashboards|category:core_public_["DEFAULT_APP_CATEGORIES"].explore|' src/plugins/visualize/target/public/visualize.plugin.js

# ## Replace app category to Reporting app
sed -i -e "s|category:{id:\"opensearch\",label:_i18n.i18n.translate(\"opensearch.reports.categoryName\",{defaultMessage:\"OpenSearch Plugins\"}),order:2e3}|category:${category_explore}|" plugins/reportsDashboards/target/public/reportsDashboards.plugin.js

# ## Replace app category to Alerting app
sed -i -e "s|category:{id:\"opensearch\",label:\"OpenSearch Plugins\",order:2e3}|category:${category_explore}|" plugins/alertingDashboards/target/public/alertingDashboards.plugin.js

# ## Replace app category to Maps app
sed -i -e "s|category:{id:\"opensearch\",label:\"OpenSearch Plugins\",order:2e3}|category:${category_explore}|" plugins/customImportMapDashboards/target/public/customImportMapDashboards.plugin.js

# ## Replace app category to Notifications app
sed -i -e "s|category:DEFAULT_APP_CATEGORIES.management|category:${category_explore}|" plugins/notificationsDashboards/target/public/notificationsDashboards.plugin.js

# ## Replace app category to Index Management app 
sed -i -e "s|category:{id:\"opensearch\",label:\"OpenSearch Plugins\",order:2e3}|category:${category_explore}|g" plugins/indexManagementDashboards/target/public/indexManagementDashboards.plugin.js

@JuanGarriuz JuanGarriuz linked a pull request Sep 25, 2023 that will close this issue
9 tasks
@Desvelao
Copy link
Member Author

OpenSearch Dashboards 2.10.0 was released recently.

These are the applications that are visible in the side menu:
image
image

@Desvelao Desvelao self-assigned this Sep 27, 2023
@Desvelao
Copy link
Member Author

I am working on the required changes to the built-in applications according to the current design. In the following days, there will be a meeting to discuss the desired applications for the Wazuh dashboard.

We will need to know the order within the categories.

@Desvelao
Copy link
Member Author

Desvelao commented Oct 3, 2023

I created a pull request to change the category of built-in applications on the Wazuh dashboard wazuh/wazuh-packages#2496.

@JuanGarriuz
Copy link
Member

JuanGarriuz commented Oct 3, 2023

I created a patch to remove wazuh_modules searching for a more reusable app.
Patch to remove WAZUH_MODULES
I have conducted a search throughout the code in order to create a constant that can be used throughout the entire Wazuh code to generate reusable code and facilitate editing, whether it's adding or removing access to apps in a simple and straightforward manner. To achieve this, all references to WAZUH_MODULES have been removed and replaced with Applications, whether in the back-end or front-end. We have also added a new attribute to Applications called currentApp to link it with the key of WAZUH_MODULES.

@wazuhci wazuhci moved this from In progress to Pending review in Release 4.8.0 Oct 4, 2023
@wazuhci wazuhci moved this from Pending review to Pending final review in Release 4.8.0 Oct 5, 2023
@yenienserrano yenienserrano linked a pull request Oct 10, 2023 that will close this issue
6 tasks
@Desvelao Desvelao linked a pull request Oct 11, 2023 that will close this issue
6 tasks
@Desvelao
Copy link
Member Author

To replace the order of the applications could be needed to modiify the order property when register the applications.

I was reviewing the order of the built-in applications:

Application order suggested string to replace in package code
Discover 1e3 order:1e3
Dashboard 2500 order:2500
Visualize 8e3 order:8e3
Reporting 2e3 order:2e3,mount
Alerting 4e3 order:4e3,mount
Maps 5100 order:5100
Notifications 9060 order:9060,mount
Dev tools 9070 order:9070
Dashboard management 9030 order:9030
Security 9050 order:9050
Index management 9010 order:9010
Index management 9020 order:9020

To match the expected menu, it could only be required to modify some of them.

@Desvelao Desvelao linked a pull request Oct 18, 2023 that will close this issue
6 tasks
@Desvelao
Copy link
Member Author

I was working to sync the applications built-in into the platform and the Wazuh dashboards plugin.

Related pull requests:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment