From d481dcae2729a281405842dd023c70159c8be10a Mon Sep 17 00:00:00 2001 From: Ian Yenien Serrano <63758389+yenienserrano@users.noreply.github.com> Date: Fri, 22 Dec 2023 16:30:50 +0100 Subject: [PATCH] Compatibility with OpenSearch 2.11.1 (#131) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yenienserrano Signed-off-by: Álex Ruiz Signed-off-by: Ian Yenien Serrano <63758389+yenienserrano@users.noreply.github.com> Co-authored-by: Álex Ruiz Co-authored-by: Maximiliano Ibarra Co-authored-by: Nicolas Agustin Guevara Pihen <42900763+Tostti@users.noreply.github.com> Co-authored-by: Antonio <34042064+Desvelao@users.noreply.github.com> --- .../ISSUE_TEMPLATE/compatibility_request.md | 23 + .github/ISSUE_TEMPLATE/new_release.md | 33 + .github/workflows/build.yml | 92 +++ .../build_wazuh_dashboard_with_plugins.yml | 212 +++++ .github/workflows/codeql.yml | 77 ++ .github/workflows/cypress_workflow.yml | 10 +- .gitignore | 1 + README.md | 55 +- config/node.options.prod | 9 + config/opensearch_dashboards.prod.yml | 15 + dev-tools/build-packages/README.md | 70 ++ .../build-packages/base/generate_base.sh | 256 ++++++ dev-tools/build-packages/build-packages.sh | 191 +++++ dev-tools/build-packages/config/default | 7 + .../build-packages/config/wazuh-dashboard | 170 ++++ .../config/wazuh-dashboard.service | 15 + dev-tools/build-packages/deb/builder.sh | 51 ++ dev-tools/build-packages/deb/debian/changelog | 95 +++ dev-tools/build-packages/deb/debian/control | 12 + dev-tools/build-packages/deb/debian/copyright | 22 + dev-tools/build-packages/deb/debian/postinst | 53 ++ dev-tools/build-packages/deb/debian/postrm | 82 ++ dev-tools/build-packages/deb/debian/preinst | 73 ++ dev-tools/build-packages/deb/debian/prerm | 82 ++ dev-tools/build-packages/deb/debian/rules | 112 +++ .../deb/docker/amd64/Dockerfile | 16 + dev-tools/build-packages/deb/launcher.sh | 195 +++++ dev-tools/build-packages/rpm/builder.sh | 50 ++ .../rpm/docker/x86_64/Dockerfile | 21 + dev-tools/build-packages/rpm/launcher.sh | 198 +++++ .../build-packages/rpm/wazuh-dashboard.spec | 427 ++++++++++ dev-tools/signoff-check.sh | 2 +- docker/README.md | 75 ++ .../opensearch_dashboards.dev.security.yml | 16 + docker/config/opensearch_dashboards.dev.yml | 4 + docker/dev.sh | 44 + docker/dev.yml | 35 + docker/dev_security.yml | 85 ++ docker/get_version.sh | 15 + docs/docker-dev/docker-dev-setup-manual.md | 6 +- package.json | 8 +- .../src/__snapshots__/env.test.ts.snap | 8 + .../osd-config/src/config_service.test.ts | 6 + packages/osd-config/src/env.test.ts | 24 + packages/osd-config/src/env.ts | 4 + packages/osd-config/src/types.ts | 1 + src/cli_plugin/install/settings.js | 15 +- src/cli_plugin/install/settings.test.js | 7 +- .../__snapshots__/get_logos.test.ts.snap | 18 +- src/core/common/logos/get_logos.ts | 6 +- src/core/public/chrome/chrome_service.tsx | 4 +- src/core/public/chrome/constants.ts | 6 +- .../collapsible_nav.test.tsx.snap | 36 +- .../header/__snapshots__/header.test.tsx.snap | 94 +-- .../header_help_menu.test.tsx.snap | 36 +- .../__snapshots__/home_icon.test.tsx.snap | 12 +- .../chrome/ui/header/header_help_menu.tsx | 4 +- .../chrome/ui/header/home_icon.test.tsx | 12 +- .../public/chrome/ui/header/home_icon.tsx | 7 +- .../public/doc_links/doc_links_service.ts | 10 + .../injected_metadata_service.mock.ts | 4 + .../injected_metadata_service.ts | 19 +- src/core/public/mocks.ts | 2 + .../public/rendering/rendering_service.tsx | 8 +- .../favicons/android-chrome-192x192.png | Bin 2007 -> 6424 bytes .../favicons/android-chrome-512x512.png | Bin 5248 -> 17660 bytes .../assets/favicons/apple-touch-icon.png | Bin 1868 -> 4969 bytes .../assets/favicons/favicon-16x16.png | Bin 841 -> 1267 bytes .../assets/favicons/favicon-32x32.png | Bin 545 -> 1751 bytes .../core_app/assets/favicons/favicon.ico | Bin 15086 -> 2270 bytes .../assets/favicons/mstile-144x144.png | Bin 1836 -> 4969 bytes .../assets/favicons/mstile-150x150.png | Bin 1853 -> 14138 bytes .../assets/favicons/mstile-310x150.png | Bin 2004 -> 3411 bytes .../assets/favicons/mstile-310x310.png | Bin 3787 -> 9844 bytes .../core_app/assets/favicons/mstile-70x70.png | Bin 1331 -> 2807 bytes .../assets/favicons/safari-pinned-tab.svg | 14 +- .../core_app/assets/legacy_light_theme.css | 139 +++- .../assets/logos/opensearch_spinner.svg | 9 - .../logos/opensearch_spinner_on_dark.svg | 9 - .../logos/opensearch_spinner_on_light.svg | 9 - .../server/core_app/assets/logos/spinner.gif | Bin 0 -> 357492 bytes .../core_app/assets/logos/spinner_on_dark.gif | Bin 0 -> 313690 bytes .../assets/logos/spinner_on_light.gif | Bin 0 -> 357492 bytes .../server/core_app/assets/wazuh_login_bg.svg | 758 ++++++++++++++++++ .../server/core_app/assets/wazuh_logo.svg | 51 ++ .../__snapshots__/http_service.test.ts.snap | 2 +- src/core/server/http/http_service.ts | 6 +- src/core/server/mocks.ts | 1 + .../server/opensearch_dashboards_config.ts | 2 +- .../discovery/plugin_manifest_parser.test.ts | 1 + .../discovery/plugins_discovery.test.ts | 3 + .../integration_tests/plugins_service.test.ts | 3 + .../server/plugins/plugins_service.test.ts | 3 + .../rendering_service.test.ts.snap | 28 +- .../rendering/rendering_service.test.ts | 1 + .../server/rendering/rendering_service.tsx | 1 + src/core/server/rendering/types.ts | 1 + .../__snapshots__/template.test.tsx.snap | 36 +- src/core/server/rendering/views/styles.tsx | 17 +- .../server/rendering/views/template.test.tsx | 2 + src/core/server/rendering/views/template.tsx | 4 +- .../routes/integration_tests/status.test.ts | 1 + src/dev/build/lib/config.ts | 1 + .../build/tasks/create_package_json_task.ts | 3 + src/dev/precommit_hook/casing_check_config.js | 3 +- .../__snapshots__/call_outs.test.tsx.snap | 2 +- .../components/call_outs/call_outs.tsx | 4 +- .../dashboard_listing.test.tsx.snap | 50 +- .../dashboard_top_nav.test.tsx.snap | 60 +- src/plugins/home/opensearch_dashboards.json | 2 +- .../__snapshots__/home.test.js.snap | 155 +--- .../components/_solutions_section.scss | 2 +- .../public/application/components/home.js | 12 +- .../application/components/home.test.js | 15 +- .../public/application/components/home_app.js | 39 +- .../solution_title.test.tsx.snap | 2 +- .../solutions_section/solution_title.test.tsx | 2 +- .../solutions_section/solution_title.tsx | 3 +- src/plugins/home/public/plugin.test.ts | 2 +- src/plugins/home/public/plugin.ts | 8 +- .../__snapshots__/empty_state.test.tsx.snap | 30 +- .../empty_state/empty_state.tsx | 19 - .../public/components/landing/landing.tsx | 2 +- .../common/index.ts | 2 +- .../getting_started.test.tsx.snap | 26 - .../getting_started/getting_started.tsx | 19 +- .../__snapshots__/overview.test.tsx.snap | 93 +-- .../public/components/overview/overview.tsx | 5 - .../public/plugin.ts | 12 +- .../overview_page_header.test.tsx | 8 +- .../overview_page_header.tsx | 18 - test/functional/apps/home/_sample_data.ts | 5 +- .../apps/visualize/_custom_branding.ts | 14 +- 133 files changed, 4395 insertions(+), 682 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/compatibility_request.md create mode 100644 .github/ISSUE_TEMPLATE/new_release.md create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/build_wazuh_dashboard_with_plugins.yml create mode 100644 .github/workflows/codeql.yml create mode 100644 config/node.options.prod create mode 100644 config/opensearch_dashboards.prod.yml create mode 100644 dev-tools/build-packages/README.md create mode 100755 dev-tools/build-packages/base/generate_base.sh create mode 100644 dev-tools/build-packages/build-packages.sh create mode 100644 dev-tools/build-packages/config/default create mode 100644 dev-tools/build-packages/config/wazuh-dashboard create mode 100644 dev-tools/build-packages/config/wazuh-dashboard.service create mode 100755 dev-tools/build-packages/deb/builder.sh create mode 100644 dev-tools/build-packages/deb/debian/changelog create mode 100644 dev-tools/build-packages/deb/debian/control create mode 100644 dev-tools/build-packages/deb/debian/copyright create mode 100644 dev-tools/build-packages/deb/debian/postinst create mode 100644 dev-tools/build-packages/deb/debian/postrm create mode 100644 dev-tools/build-packages/deb/debian/preinst create mode 100644 dev-tools/build-packages/deb/debian/prerm create mode 100644 dev-tools/build-packages/deb/debian/rules create mode 100644 dev-tools/build-packages/deb/docker/amd64/Dockerfile create mode 100755 dev-tools/build-packages/deb/launcher.sh create mode 100755 dev-tools/build-packages/rpm/builder.sh create mode 100644 dev-tools/build-packages/rpm/docker/x86_64/Dockerfile create mode 100755 dev-tools/build-packages/rpm/launcher.sh create mode 100644 dev-tools/build-packages/rpm/wazuh-dashboard.spec create mode 100644 docker/README.md create mode 100644 docker/config/opensearch_dashboards.dev.security.yml create mode 100644 docker/config/opensearch_dashboards.dev.yml create mode 100755 docker/dev.sh create mode 100644 docker/dev.yml create mode 100755 docker/dev_security.yml create mode 100755 docker/get_version.sh delete mode 100644 src/core/server/core_app/assets/logos/opensearch_spinner.svg delete mode 100644 src/core/server/core_app/assets/logos/opensearch_spinner_on_dark.svg delete mode 100644 src/core/server/core_app/assets/logos/opensearch_spinner_on_light.svg create mode 100644 src/core/server/core_app/assets/logos/spinner.gif create mode 100644 src/core/server/core_app/assets/logos/spinner_on_dark.gif create mode 100644 src/core/server/core_app/assets/logos/spinner_on_light.gif create mode 100644 src/core/server/core_app/assets/wazuh_login_bg.svg create mode 100644 src/core/server/core_app/assets/wazuh_logo.svg diff --git a/.github/ISSUE_TEMPLATE/compatibility_request.md b/.github/ISSUE_TEMPLATE/compatibility_request.md new file mode 100644 index 000000000000..b294b6fc8704 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/compatibility_request.md @@ -0,0 +1,23 @@ +--- +name: Compatibility request +about: Suggest supporting a new version of OpenSearch +title: 'Compatibility with OpenSearch (version)' +labels: compatibility, level/task, type/research +assignees: '' + +--- + +## Description +We need to ensure the UI compatibility with the next version of OpenSearch vX.X. +This update is still being discussed, but we need to be aware of potential issues. + +For that, we need to: + +- [ ] Review opensearch and opensearch-dashboard latest stable changelog. +- [ ] Identify improvements and potential impact on the UI. +- [ ] Create new tracking and development branches. +- [ ] Develop a testing environment to verify our components would work under this new build. + + +## Issues +- _List here the detected issues_ diff --git a/.github/ISSUE_TEMPLATE/new_release.md b/.github/ISSUE_TEMPLATE/new_release.md new file mode 100644 index 000000000000..2a8fb24f0e4d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/new_release.md @@ -0,0 +1,33 @@ +--- +name: New release +about: "[wazuh-team] Track the effort of the team to release a new version of Wazuh" +title: Support for Wazuh 4.x.x +labels: level/task, type/enhancement +assignees: '' + +--- + +## Description + +Example: +> Wazuh 4.3.8 will be released shortly. Our Wazuh Dashboard app need to support this new version. From our side, no changes will be included, so we only need to bump the version. + + +## Tasks + +### Pre-release +- [ ] Add support for Wazuh 4.x.x (bump). +- [ ] Generate the required tags. +- [ ] Generate the packages. +- [ ] Test the packages, to verify they install, and the app works as expected. +- [ ] [Optional] Run Regression Testing (#issue) +- [ ] Generate draft releases. +- [ ] Notify the @wazuh/cicd and @wazuh/content teams that the release is good to go, from our side. + +### Post-release +- [ ] Make draft releases final and public. +- [ ] Sync branches. + +### Supported versions + +Same as on [previous releases](https://github.com/wazuh/wazuh-dashboard/wiki/Compatibility) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000000..8baaf0415e3c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,92 @@ +# This is a basic workflow that is manually triggered + +name: Build + +on: + workflow_call: + inputs: + CHECKOUT_TO: # This is the branch to checkout to. Defaults to 'master' + description: 'The branch/tag/commit to checkout to' + required: true + default: '' + type: string + workflow_dispatch: + inputs: + CHECKOUT_TO: # This is the branch to checkout to. Defaults to 'master' + description: 'The branch/tag/commit to checkout to' + required: true + default: '' + +jobs: + build: + runs-on: ubuntu-latest + name: Build + defaults: + run: + working-directory: ./artifacts + strategy: + matrix: + DISTRIBUTION: [ tar.gz ] + ARCHITECTURE: [ x64 ] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + repository: wazuh/wazuh-dashboard + path: ./artifacts + ref: ${{ inputs.CHECKOUT_TO }} + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: './artifacts/.nvmrc' + registry-url: 'https://registry.npmjs.org' + + - name: Setup Yarn + run: | + npm uninstall -g yarn + npm i -g yarn@1.22.10 + yarn config set network-timeout 1000000 -g + + - name: Configure Yarn Cache + run: echo "YARN_CACHE_LOCATION=$(yarn cache dir)" >> $GITHUB_ENV + + - name: Initialize Yarn Cache + uses: actions/cache@v3 + with: + path: ${{ env.YARN_CACHE_LOCATION }} + key: yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + yarn- + + - name: Get package version + run: | + echo "VERSION=$(yarn --silent pkg-version)" >> $GITHUB_ENV + echo "WZD_VERSION=$(yarn --silent wzd-version)" >> $GITHUB_ENV + echo "WZD_REVISION=$(yarn --silent wzd-revision)" >> $GITHUB_ENV + + - name: Get artifact build name + run: | + echo "ARTIFACT_BUILD_NAME=wazuh-dashboard_${{ env.WZD_VERSION }}-${{ env.WZD_REVISION }}_${{ matrix.ARCHITECTURE }}_${{ inputs.CHECKOUT_TO }}.${{ matrix.DISTRIBUTION }}" >> $GITHUB_ENV + + - name: Run bootstrap + run: yarn osd bootstrap + + - name: Build linux-x64 + if: matrix.ARCHITECTURE == 'x64' + run: yarn build-platform --linux --skip-os-packages --release + + - name: Build linux-arm64 + if: matrix.ARCHITECTURE == 'arm64' + run: yarn build-platform --linux-arm --skip-os-packages --release + + - name: Rename artifact + run: mv /home/runner/work/wazuh-dashboard/wazuh-dashboard/artifacts/target/opensearch-dashboards-${{ env.VERSION }}-linux-${{ matrix.ARCHITECTURE }}.${{ matrix.DISTRIBUTION }} /home/runner/work/wazuh-dashboard/wazuh-dashboard/artifacts/target/${{ env.ARTIFACT_BUILD_NAME }} + + - uses: actions/upload-artifact@v3 + if: success() + with: + name: ${{ env.ARTIFACT_BUILD_NAME }} + path: ./artifacts/target/${{ env.ARTIFACT_BUILD_NAME }} + retention-days: 30 diff --git a/.github/workflows/build_wazuh_dashboard_with_plugins.yml b/.github/workflows/build_wazuh_dashboard_with_plugins.yml new file mode 100644 index 000000000000..8ab9a563409e --- /dev/null +++ b/.github/workflows/build_wazuh_dashboard_with_plugins.yml @@ -0,0 +1,212 @@ +name: Build final packages + +on: + workflow_dispatch: + inputs: + REFERENCE_SECURITY_PLUGIN: + description: 'Reference Wazuh security packages (branch/tag/commit)' + required: true + default: '' + REFERENCE_WAZUH_PLUGINS: + description: 'Reference Wazuh plugins (branch/tag/commit)' + required: true + default: '' + REFERENCE_WAZUH_DASHBOARD: + description: 'Reference Wazuh dashboard (branch/tag/commit)' + required: true + default: '' + DISTRIBUTION: + description: 'Distribution to build (deb | rpm | tar | all-platforms)' + required: true + default: '' + +jobs: + build-plugins: + name: Build plugins + uses: wazuh/wazuh-dashboard-plugins/.github/workflows/manual-build.yml@master + with: + reference: ${{ inputs.REFERENCE_WAZUH_PLUGINS }} + + build-dashboard: + name: Build dashboard + uses: wazuh/wazuh-dashboard/.github/workflows/build.yml@4.9.0 + with: + CHECKOUT_TO: ${{ inputs.REFERENCE_WAZUH_DASHBOARD }} + + build-security-plugin: + name: Build security plugin + uses: wazuh/wazuh-security-dashboards-plugin/.github/workflows/manual-build.yml@4.9.0 + with: + reference: ${{ inputs.REFERENCE_SECURITY_PLUGIN }} + + + Build-base-package: + needs: [build-plugins, build-dashboard, build-security-plugin] + runs-on: ubuntu-latest + name: Generate final packages + strategy: + fail-fast: false + matrix: + # TODO: Add arm64 support + ARCHITECTURE: [ x64 ] + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + registry-url: 'https://registry.npmjs.org' + + - name: Setup variables + run: | + echo "CURRENT_DIR=$(pwd -P)" >> $GITHUB_ENV + echo "VERSION=$(yarn --silent wzd-version)" >> $GITHUB_ENV + echo "REVISION=$(yarn --silent wzd-revision)" >> $GITHUB_ENV + + - name: Setup packages names + run: | + echo "WAZUH_DASHBOARD_SLIM=wazuh-dashboard_${{ env.VERSION }}-${{ env.REVISION }}_${{ matrix.ARCHITECTURE }}_${{ inputs.REFERENCE_WAZUH_DASHBOARD }}.tar.gz" >> $GITHUB_ENV + echo "WAZUH_SECURITY_PLUGIN=wazuh-security-dashboards-plugin_${{ env.VERSION }}-${{ env.REVISION }}_${{ inputs.REFERENCE_SECURITY_PLUGIN }}.zip" >> $GITHUB_ENV + echo "WAZUH_PLUGINS=wazuh-dashboard-plugins_${{ env.VERSION }}-${{ env.REVISION }}_${{ inputs.REFERENCE_WAZUH_PLUGINS }}.zip" >> $GITHUB_ENV + + - name: Download dashboard artifact + uses: actions/download-artifact@v3 + with: + name: ${{ env.WAZUH_DASHBOARD_SLIM }} + path: ${{ env.CURRENT_DIR }}/artifacts/dashboard + + - name: Download security plugin artifact + uses: actions/download-artifact@v3 + with: + name: ${{ env.WAZUH_SECURITY_PLUGIN }} + path: ${{ env.CURRENT_DIR }}/artifacts/security-plugin + + - name: Download plugins artifacts + uses: actions/download-artifact@v3 + with: + name: ${{ env.WAZUH_PLUGINS }} + path: ${{ env.CURRENT_DIR }}/artifacts/plugins + + - name: Zip plugins + run: | + zip -r -j ${{ env.CURRENT_DIR }}/artifacts/wazuh-package.zip ${{ env.CURRENT_DIR }}/artifacts/plugins + zip -r -j ${{ env.CURRENT_DIR }}/artifacts/security-package.zip ${{ env.CURRENT_DIR }}/artifacts/security-plugin + zip -r -j ${{ env.CURRENT_DIR }}/artifacts/dashboard-package.zip ${{ env.CURRENT_DIR }}/artifacts/dashboard/${{ env.WAZUH_DASHBOARD_SLIM }} + + + - name: Build packages + run: | + cd ${{ env.CURRENT_DIR }}/dev-tools/build-packages + bash ./build-packages.sh \ + -v ${{ env.VERSION }} \ + -r ${{ env.REVISION }} \ + -a file://${{env.CURRENT_DIR}}/artifacts/wazuh-package.zip \ + -s file://${{env.CURRENT_DIR}}/artifacts/security-package.zip \ + -b file://${{env.CURRENT_DIR}}/artifacts/dashboard-package.zip \ + --tar + + + - name: Upload tar packages + uses: actions/upload-artifact@v3 + with: + name: wazuh-dashboard-${{ env.VERSION }}-${{ env.REVISION }}-linux-${{ matrix.ARCHITECTURE }}.tar.gz + path: ${{ env.CURRENT_DIR }}/dev-tools/build-packages/output/wazuh-dashboard-${{ env.VERSION }}-${{ env.REVISION }}-linux-${{ matrix.ARCHITECTURE }}.tar.gz + retention-days: 30 + + build-deb-package: + needs: [Build-base-package] + if: ( contains(inputs.DISTRIBUTION, 'deb') || contains(inputs.DISTRIBUTION, 'all-platforms') ) + runs-on: ubuntu-latest + name: Build deb package + strategy: + fail-fast: false + matrix: + # TODO: Add arm64 support + ARCHITECTURE: [ x64 ] + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + registry-url: 'https://registry.npmjs.org' + + - name: Setup variables + run: | + echo "CURRENT_DIR=$(pwd -P)" >> $GITHUB_ENV + echo "VERSION=$(yarn --silent wzd-version)" >> $GITHUB_ENV + echo "REVISION=$(yarn --silent wzd-revision)" >> $GITHUB_ENV + + - name: Download dashboard artifact + uses: actions/download-artifact@v3 + with: + name: wazuh-dashboard-${{ env.VERSION }}-${{ env.REVISION }}-linux-${{ matrix.ARCHITECTURE }}.tar.gz + path: ${{ env.CURRENT_DIR }}/artifacts/dashboard-tar + + - name: Build packages + run: | + cd ${{ env.CURRENT_DIR }}/dev-tools/build-packages/deb/ + bash ./launcher.sh \ + -v ${{ env.VERSION }} \ + -r ${{ env.REVISION }} \ + -p file://${{env.CURRENT_DIR}}/artifacts/dashboard-tar/wazuh-dashboard-${{ env.VERSION }}-${{ env.REVISION }}-linux-${{ matrix.ARCHITECTURE }}.tar.gz + + - name: Upload deb packages + uses: actions/upload-artifact@v3 + if: success() + with: + name: wazuh-dashboard_${{ env.VERSION }}-${{ env.REVISION }}_amd64.deb + path: ${{ env.CURRENT_DIR }}/dev-tools/build-packages/deb/output/wazuh-dashboard_${{ env.VERSION }}-${{ env.REVISION }}_amd64.deb + retention-days: 30 + + + build-rpm-package: + needs: [Build-base-package] + if: ( contains(inputs.DISTRIBUTION, 'rpm') || contains(inputs.DISTRIBUTION, 'all-platforms') ) + runs-on: ubuntu-latest + name: Build rpm package + strategy: + fail-fast: false + matrix: + ARCHITECTURE: [ x64 ] + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + registry-url: 'https://registry.npmjs.org' + + - name: Setup variables + run: | + echo "CURRENT_DIR=$(pwd -P)" >> $GITHUB_ENV + echo "VERSION=$(yarn --silent wzd-version)" >> $GITHUB_ENV + echo "REVISION=$(yarn --silent wzd-revision)" >> $GITHUB_ENV + + - name: Download dashboard artifact + uses: actions/download-artifact@v3 + with: + name: wazuh-dashboard-${{ env.VERSION }}-${{ env.REVISION }}-linux-${{ matrix.ARCHITECTURE }}.tar.gz + path: ${{ env.CURRENT_DIR }}/artifacts/dashboard-tar + + - name: Build packages + run: | + cd ${{ env.CURRENT_DIR }}/dev-tools/build-packages/rpm/ + bash ./launcher.sh \ + -v ${{ env.VERSION }} \ + -r ${{ env.REVISION }} \ + -p file://${{env.CURRENT_DIR}}/artifacts/dashboard-tar/wazuh-dashboard-${{ env.VERSION }}-${{ env.REVISION }}-linux-${{ matrix.ARCHITECTURE }}.tar.gz + + - name: Upload rpm packages + uses: actions/upload-artifact@v3 + if: success() + with: + name: wazuh-dashboard-${{ env.VERSION }}-${{ env.REVISION }}.x86_64.rpm + path: ${{ env.CURRENT_DIR }}/dev-tools/build-packages/rpm/output/wazuh-dashboard-${{ env.VERSION }}-${{ env.REVISION }}.x86_64.rpm + retention-days: 30 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 000000000000..092c298a32e4 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,77 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ "main", "[0-9].[0-9]", "[0-9].x" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "main" ] + schedule: + - cron: '00 8 * * 5' + workflow_dispatch: + +jobs: + analyze: + name: Analyze + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'javascript' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] + # Use only 'java' to analyze code written in Java, Kotlin or both + # Use only 'javascript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/cypress_workflow.yml b/.github/workflows/cypress_workflow.yml index cab511ddc551..4dc7206e2ce0 100644 --- a/.github/workflows/cypress_workflow.yml +++ b/.github/workflows/cypress_workflow.yml @@ -40,6 +40,7 @@ env: COMMENT_TAG: '[MANUAL CYPRESS TEST RUN RESULTS]' COMMENT_SUCCESS_MSG: ':white_check_mark: Cypress test run succeeded!' COMMENT_FAILURE_MSG: ':x: Cypress test run failed!' + OPENSEARCH_VERSION: ${{ vars.OPENSEARCH_VERSION }} jobs: cypress-tests: @@ -106,7 +107,7 @@ jobs: with: path: ${{ env.FTR_PATH }} repository: ${{ env.TEST_REPO }} - ref: '${{ env.TEST_BRANCH }}' + ref: '${{ env.OPENSEARCH_VERSION }}' - name: Setup spec files by input if: ${{ inputs.specs != '' }} @@ -147,7 +148,7 @@ jobs: working-directory: ${{ env.FTR_PATH }} start: ${{ env.OPENSEARCH_SNAPSHOT_CMD }}, ${{ env.START_CMD }} wait-on: 'http://localhost:9200, http://localhost:5601' - command: yarn cypress:run-without-security --browser ${{ env.CYPRESS_BROWSER }} --spec ${{ env.SPEC }} + command: yarn cypress:run-without-security --browser ${{ env.CYPRESS_BROWSER }} --config ignoreTestFiles="dashboard_sanity_test_spec.js" --spec ${{ env.SPEC }} # Screenshots are only captured on failure, will change this once we do visual regression tests - uses: actions/upload-artifact@v3 @@ -156,7 +157,7 @@ jobs: name: ftr-cypress-screenshots path: ${{ env.FTR_PATH }}/cypress/screenshots retention-days: 1 - + - uses: actions/upload-artifact@v3 if: always() with: @@ -170,7 +171,6 @@ jobs: name: ftr-cypress-results path: ${{ env.FTR_PATH }}/cypress/results retention-days: 1 - add-comment: needs: [cypress-tests] if: ${{ always() && github.event_name == 'workflow_dispatch' && inputs.pr_number != '' }} @@ -205,6 +205,6 @@ jobs: '${{ env.SPEC }}' ``` - #### Link to results: + #### Link to results: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} edit-mode: replace diff --git a/.gitignore b/.gitignore index d72d66a6d17d..1add5bb6a1d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .aws-config.json .signing-config.json .ackrc +/dev-tools/build-packages/*/output /.opensearch /.chromium /package.json.bak diff --git a/README.md b/README.md index 0bd86bec6560..c4c1bf3909c2 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,41 @@ - +
+ +
- [Welcome!](#welcome) - [Project Resources](#project-resources) -- [Code of Conduct](#code-of-conduct) +- [Wazuh UI](#wazuh-ui) - [License](#license) - [Copyright](#copyright) ## Welcome -OpenSearch Dashboards is an open-source data visualization tool designed to work with OpenSearch. OpenSearch Dashboards gives you data visualization tools to improve and automate business intelligence and support data-driven decision-making and strategic planning. +Wazuh dashboard is a fork of the [OpenSearch Dashboards][opensearch-dashboards] which +incorporate changes to make it easier to use for Wazuh users. Our aim is to contribute +back any work not tied specifically to Wazuh. -We aim to be an exceptional community-driven platform and to foster open participation and collective contribution with all contributors. Stay up to date on what's happening with the OpenSearch Project by tracking GitHub [issues](https://github.com/opensearch-project/OpenSearch-Dashboards/issues) and [pull requests](https://github.com/opensearch-project/OpenSearch-Dashboards/pulls). +Wazuh is a security detection, visibility, and compliance open-source project. Wazuh +helps you to gain deeper security visibility into your infrastructure by monitoring +hosts at an operating system and application level. -You can [contribute to this project](https://github.com/opensearch-project/OpenSearch-Dashboards/issues/CONTRIBUTING.md) by [opening issues](https://github.com/opensearch-project/OpenSearch-Dashboards/issues/new/choose) to give feedback, share ideas, identify bugs, and contribute code. - -Set up your [OpenSearch Dashboards development environment](https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/DEVELOPER_GUIDE.md#getting-started-guide) today! The project team looks forward to your contributions. - -## Code Summary - -[![Build and Test][build-and-test-badge]][build-and-test-link] -[![Unit Test Code Coverage][codecov-badge]][codecov-link] -[![Link Checker][link-checker-badge]][link-checker-link] +You can learn more about it at [wazuh.com][wazuh-web]. ## Project Resources -- [Project Website](https://opensearch.org/) -- [Downloads](https://opensearch.org/downloads.html) -- [Documentation](https://opensearch.org/docs/) -- Need help? See the [communication guide](COMMUNICATIONS.md) for various options -- [Project Principles](https://opensearch.org/#principles) +- [Project Website][wazuh-web] +- [Documentation][wazuh-docs] +- Need help? Joins us on [Slack][slack-invite]! - [Developer Guide](DEVELOPER_GUIDE.md) -- [Contributing to OpenSearch](CONTRIBUTING.md) +- [Contributing](CONTRIBUTING.md) - [Maintainer Responsibilities](MAINTAINERS.md) - [Release Management](RELEASING.md) - [Testing](TESTING.md) - [Security](SECURITY.md) -## Code of Conduct +## Wazuh UI -This project has adopted the [Amazon Open Source Code of Conduct](CODE_OF_CONDUCT.md). For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq), or contact [opensource-codeofconduct@amazon.com](mailto:opensource-codeofconduct@amazon.com) with any additional questions or comments. +This repository is not a new Wazuh UI, but the platform on which Wazuh UI will run. +The UI can be found on its own [repository][wazuh-plugin]. ## License @@ -46,11 +43,13 @@ This project is licensed under the [Apache v2.0 License](LICENSE.txt). ## Copyright -Copyright OpenSearch Contributors. See [NOTICE](NOTICE.txt) for details. +- Copyright OpenSearch Contributors. See [NOTICE](NOTICE.txt) for details. +- Copyright Wazuh, Inc. + + -[build-and-test-badge]: https://github.com/opensearch-project/OpenSearch-Dashboards/actions/workflows/build_and_test_workflow.yml/badge.svg -[build-and-test-link]: https://github.com/opensearch-project/OpenSearch-Dashboards/actions/workflows/build_and_test_workflow.yml -[codecov-badge]: https://codecov.io/gh/opensearch-project/OpenSearch-Dashboards/branch/main/graphs/badge.svg -[codecov-link]: https://app.codecov.io/gh/opensearch-project/OpenSearch-Dashboards -[link-checker-badge]: https://github.com/opensearch-project/OpenSearch-Dashboards/actions/workflows/links_checker.yml/badge.svg -[link-checker-link]: https://github.com/opensearch-project/OpenSearch-Dashboards/actions/workflows/links_checker.yml +[opensearch-dashboards]: https://github.com/opensearch-project/OpenSearch-Dashboards +[wazuh-plugin]: https://github.com/wazuh/wazuh-kibana-app +[wazuh-web]: https://wazuh.com +[wazuh-docs]: https://documentation.wazuh.com +[slack-invite]: https://join.slack.com/t/wazuh/shared_invite/zt-1lgu531ur-7M_k_ZQbpdo4QCn_pHee3w diff --git a/config/node.options.prod b/config/node.options.prod new file mode 100644 index 000000000000..ed533b559152 --- /dev/null +++ b/config/node.options.prod @@ -0,0 +1,9 @@ +## Node command line options +## See `node --help` and `node --v8-options` for available options +## Please note you should specify one option per line + +## max size of old space in megabytes +#--max-old-space-size=4096 + +## Wazuh - do not terminate process on unhandled promise rejection +--unhandled-rejections=warn diff --git a/config/opensearch_dashboards.prod.yml b/config/opensearch_dashboards.prod.yml new file mode 100644 index 000000000000..89b23a8be11e --- /dev/null +++ b/config/opensearch_dashboards.prod.yml @@ -0,0 +1,15 @@ +server.host: 0.0.0.0 +server.port: 443 +opensearch.hosts: https://localhost:9200 +opensearch.ssl.verificationMode: certificate +opensearch.requestHeadersAllowlist: ["securitytenant","Authorization"] +opensearch_security.multitenancy.enabled: false +opensearch_security.readonly_mode.roles: ["kibana_read_only"] +server.ssl.enabled: true +server.ssl.key: "/etc/wazuh-dashboard/certs/dashboard-key.pem" +server.ssl.certificate: "/etc/wazuh-dashboard/certs/dashboard.pem" +opensearch.ssl.certificateAuthorities: ["/etc/wazuh-dashboard/certs/root-ca.pem"] +uiSettings.overrides.defaultRoute: /app/wz-home + +opensearchDashboards.branding: + useExpandedHeader: false diff --git a/dev-tools/build-packages/README.md b/dev-tools/build-packages/README.md new file mode 100644 index 000000000000..16f085dde78f --- /dev/null +++ b/dev-tools/build-packages/README.md @@ -0,0 +1,70 @@ +# Package building +This folder contains tools used to create `rpm` and `deb` packages. + +## Requirements + - A system with Docker. + - Internet connection (to download the docker images the first time). + +## Builders + +### Tarball + +To system packages (deb and rpm), a tarball of Wazuh dashboard `.tar.gz` is required. +This tarball contains the [Wazuh plugin][wazuh-plugin], the [Wazuh Security plugin][wazuh-security-plugin], +a set of OpenSearch plugins and the default configuration for the app. + +The `generate_base.sh` script generates a `.tar.gz` file using the following inputs: +- `-a` | `--app`: URL to the zipped Wazuh plugin.* +- `-b` | `--base`: URL to the Wazuh dashboard `.tar.gz`, as generated with `yarn build --skip-os-packages --release`.* +- `-s` | `--security`: URL to the zipped Wazuh Security plugin, as generated with `yarn build`.* +- `-v` | `--version`: the Wazuh version of the package. +- `-r` | `--revision`: [Optional] Set the revision of the build. By default, it is set to 1. +- `-o` | `--output` [Optional] Set the destination path of package. By default, an output folder will be created in the same directory as the script. + +*Note:* use `file://` to indicate a local file. Otherwise, the script will try to download the file from the given URL. + +Example: +```bash +bash generate_base.sh \ + --app https://packages-dev.wazuh.com/pre-release/ui/dashboard/wazuh-4.6.0-1.zip \ + --base file:///home/user/wazuh-dashboard/target/opensearch-dashboards-2.4.1-linux-x64.tar.gz \ + --security file:///home/user/wazuh-security-dashboards-plugin/build/security-dashboards-2.4.1.0.zip \ + --version 4.6.0 +``` + +### DEB + +The `launcher.sh` script generates a `.deb` package based on the previously generated `.tar.gz`. +A Docker container is used to generate the package. It takes the following inputs: +- `-v` | `--version`: the Wazuh version of the package. +- `-p` | `--package`: the location of the `.tar.gz` file. It can be a URL or a PATH, with the format `file://` +- `-r` | `--revision`: [Optional] Set the revision of the build. By default, it is set to 1. +- `-o` | `--output` [Optional] Set the destination path of package. By default, an output folder will be created in the same directory as the script. +- `--dont-build-docker`: [Optional] Locally built Docker image will be used instead of generating a new one. + +Example: +```bash +bash launcher.sh \ + --version 4.6.0 \ + --package file:///home/user/wazuh-dashboard/dev_tools/build_packages/base/output/wazuh-dashboard-4.6.0-1-linux-x64.tar.gz +``` + +### RPM + +The `launcher.sh` script generates a `.rpm` package based on the previously generated `.tar.gz`. +A Docker container is used to generate the package. It takes the following inputs: +- `-v` | `--version`: the Wazuh version of the package. +- `-p` | `--package`: the location of the `.tar.gz` file. It can be a URL or a PATH, with the format `file://` +- `-r` | `--revision`: [Optional] Set the revision of the build. By default, it is set to 1. +- `-o` | `--output` [Optional] Set the destination path of package. By default, an output folder will be created in the same directory as the script. +- `--dont-build-docker`: [Optional] Locally built Docker image will be used instead of generating a new one. + +Example: +```bash +bash launcher.sh \ + --version 4.6.0 \ + --package file:///home/user/wazuh-dashboard/dev_tools/build_packages/base/output/wazuh-dashboard-4.6.0-1-linux-x64.tar.gz +``` + +[wazuh-plugin]: https://github.com/wazuh/wazuh-kibana-app +[wazuh-security-plugin]: https://github.com/wazuh/wazuh-security-dashboards-plugin \ No newline at end of file diff --git a/dev-tools/build-packages/base/generate_base.sh b/dev-tools/build-packages/base/generate_base.sh new file mode 100755 index 000000000000..ad80a08c6c4b --- /dev/null +++ b/dev-tools/build-packages/base/generate_base.sh @@ -0,0 +1,256 @@ +#!/bin/bash + +# Wazuh package generator +# Copyright (C) 2022, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. + +set -e + +# Inputs +app="" +base="" +revision="1" +security="" +version="" + +# Paths +current_path="$( cd $(dirname $0) ; pwd -P )" +config_path=$(realpath $current_path/../../../config) + +# Folders +out_dir="${current_path}/output" +tmp_dir="${current_path}/tmp" + +trap ctrl_c INT + +clean() { + exit_code=$1 + echo + echo "Cleaning temporary files..." + echo + # Clean the files + rm -r $tmp_dir + + if [ $exit_code != 0 ]; then + rm $out_dir/*.tar.gz + rmdir $out_dir + fi + + exit ${exit_code} +} + +ctrl_c() { + clean 1 +} + +# ----------------------------------------------------------------------------- + +build() { + # Validate and download files to build the package + valid_url='(https?|ftp|file)://[-[:alnum:]\+&@#/%?=~_|!:,.;]*[-[:alnum:]\+&@#/%=~_|]' + echo + echo "Downloading plugins..." + echo + mkdir -p $tmp_dir + cd $tmp_dir + mkdir -p applications + mkdir -p dashboards + if [[ $app =~ $valid_url ]]; then + if ! curl --output applications/app.zip --silent --fail "${app}"; then + echo "The given URL or Path to the Wazuh Apps is not working: ${app}" + clean 1 + else + echo "Extracting applications from app.zip" + unzip -q applications/app.zip -d applications + rm applications/app.zip + fi + else + echo "The given URL or Path to the Wazuh App is not valid: ${app}" + clean 1 + fi + + echo + echo "Downloading dashboards..." + echo + + if [[ $base =~ $valid_url ]]; then + if [[ $base =~ .*\.zip ]]; then + if ! curl --output wazuh-dashboard.zip --silent --fail "${base}"; then + echo "The given URL or Path to the Wazuh Dashboard base is not working: ${base}" + clean 1 + else + echo "Extracting Wazuh Dashboard base" + unzip -q wazuh-dashboard.zip -d ./dashboards/ + rm wazuh-dashboard.zip + mv ./dashboards/$(ls ./dashboards) wazuh-dashboard.tar.gz + fi + else + if ! curl --output wazuh-dashboard.tar.gz --silent --fail "${base}"; then + echo "The given URL or Path to the Wazuh Dashboard base is not working: ${base}" + clean 1 + fi + fi + else + echo "The given URL or Path to the Wazuh Dashboard base is not valid: ${base}" + clean 1 + fi + + echo + echo "Downloading security plugin..." + echo + + if [[ $security =~ $valid_url ]]; then + if ! curl --output applications/security.zip --silent --fail "${security}"; then + echo "The given URL or Path to the Wazuh Security Plugin is not working: ${security}" + clean 1 + else + echo "Extracting Security application" + unzip -q applications/security.zip -d applications + rm applications/security.zip + fi + else + echo "The given URL or Path to the Wazuh Security Plugin is not valid: ${security}" + clean 1 + fi + + tar -zxf wazuh-dashboard.tar.gz + directory_name=$(tar tf wazuh-dashboard.tar.gz | head -1 | sed 's#/.*##' | sort -u) + working_dir="wazuh-dashboard-$version-$revision-linux-x64" + mv $directory_name $working_dir + cd $working_dir + + echo + echo Building the package... + echo + + # Install plugins + bin/opensearch-dashboards-plugin install alertingDashboards + bin/opensearch-dashboards-plugin install customImportMapDashboards + bin/opensearch-dashboards-plugin install ganttChartDashboards + bin/opensearch-dashboards-plugin install indexManagementDashboards + bin/opensearch-dashboards-plugin install notificationsDashboards + bin/opensearch-dashboards-plugin install reportsDashboards + # Install Wazuh apps and Security app + plugins=$(ls $tmp_dir/applications) + echo $plugins + for plugin in $plugins; do + echo $plugin + if [[ $plugin =~ .*\.zip ]]; then + bin/opensearch-dashboards-plugin install file:../applications/$plugin + fi + done + + # Enable the default configuration (renaming) + cp $config_path/opensearch_dashboards.prod.yml config/opensearch_dashboards.yml + cp $config_path/node.options.prod config/node.options + + # TODO: investigate to remove this if possible + # Fix ambiguous shebangs (necessary for RPM building) + grep -rnwl './node_modules/' -e '#!/usr/bin/env python$' | xargs -I {} sed -i 's/#!\/usr\/bin\/env python/#!\/usr\/bin\/env python3/g' {} + grep -rnwl './node_modules/' -e '#!/usr/bin/python$' | xargs -I {} sed -i 's/#!\/usr\/bin\/python/#!\/usr\/bin\/python3/g' {} + + # Compress + echo + echo Compressing the package... + echo + cd .. + if [ ! -d "$out_dir" ]; then + mkdir -p $out_dir + fi + tar -czf $out_dir/$working_dir.tar.gz $working_dir + + echo + echo DONE! + echo + clean 0 +} + +# ----------------------------------------------------------------------------- + +help() { + echo + echo "Usage: $0 [OPTIONS]" + echo " -a, --app Set the location of the .zip file containing the Wazuh plugin." + echo " -b, --base Set the location of the .tar.gz file containing the base wazuh-dashboard build." + echo " -s, --security Set the location of the .zip file containing the wazuh-security-dashboards-plugin." + echo " -v, --version Set the version of this build." + echo " -r, --revision [Optional] Set the revision of this build. By default, it is set to 1." + echo " -o, --output [Optional] Set the destination path of package. By default, an output folder will be created." + echo " -h, --help Show this help." + echo + exit $1 +} + +# ----------------------------------------------------------------------------- + +main() { + while [ -n "${1}" ]; do + case "${1}" in + "-h" | "--help") + help 0 + ;; + "-a" | "--app") + if [ -n "$2" ]; then + app="$2" + shift 2 + else + help 1 + fi + ;; + "-s" | "--security") + if [ -n "${2}" ]; then + security="${2}" + shift 2 + else + help 0 + fi + ;; + "-b" | "--base") + if [ -n "${2}" ]; then + base="${2}" + shift 2 + else + help 0 + fi + ;; + "-v" | "--version") + if [ -n "${2}" ]; then + version="${2}" + shift 2 + else + help 0 + fi + ;; + "-r" | "--revision") + if [ -n "${2}" ]; then + revision="${2}" + shift 2 + fi + ;; + "-o" | "--output") + if [ -n "${2}" ]; then + output="${2}" + shift 2 + fi + ;; + *) + + help 1 + ;; + esac + done + + if [ -z "$app" ] | [ -z "$base" ] | [ -z "$security" ] | [ -z "$version" ]; then + help 1 + fi + + build || exit 1 + + exit 0 +} + +main "$@" diff --git a/dev-tools/build-packages/build-packages.sh b/dev-tools/build-packages/build-packages.sh new file mode 100644 index 000000000000..9a9b4053ab53 --- /dev/null +++ b/dev-tools/build-packages/build-packages.sh @@ -0,0 +1,191 @@ +#!/bin/bash + +app="" +base="" +revision="1" +security="" +version="" +all_platforms="no" +deb="no" +rpm="no" +tar="no" +output="$( cd $(dirname $0) ; pwd -P )/output" + +current_path="$( cd $(dirname $0) ; pwd -P )" + +build_tar() { + echo "Building tar package..." + cd ./base + bash ./generate_base.sh -a $app -b $base -s $security -v $version -r $revision + + name_package_tar=$(ls ./output) + + echo "Moving tar package to $output" + mv $current_path/base/output/$name_package_tar $output/$name_package_tar + cd ../ +} + +build_deb() { + echo "Building deb package..." + name_package_tar=$(find $output -name "*.tar.gz") + cd ./deb + bash ./launcher.sh -v $version -r $revision -p file://$name_package_tar + name_package_tar=$(ls ./output) + echo "Moving deb package to $output/deb" + mv $current_path/deb/output $output/deb + cd ../ +} + +build_rpm() { + echo "Building rpm package..." + name_package_tar=$(find $output -name "*.tar.gz") + cd ./rpm + bash ./launcher.sh -v $version -r $revision -p file://$name_package_tar + echo "Moving rpm package to $output/rpm" + mv $current_path/rpm/output $output/rpm + cd ../ +} + + +build() { + name_package_tar="wazuh-dashboard-$version-$revision-linux-x64.tar.gz" + + if [ ! -d "$output" ]; then + mkdir $output + fi + + if [ "$all_platforms" == "yes" ]; then + deb="yes" + rpm="yes" + tar="yes" + fi + + build_tar + cd $current_path + + if [ $deb == "yes" ]; then + echo "Building deb package..." + build_deb + fi + + if [ $rpm == "yes" ]; then + echo "Building rpm package..." + build_rpm + fi + + if [ "$tar" == "no" ]; then + echo "Removing tar package..." + rm -r $(find $output -name "*.tar.gz") + fi +} + +help() { + echo + echo "Usage: $0 [OPTIONS]" + echo " -a, --app Set the location of the .zip file containing the Wazuh plugin." + echo " -b, --base Set the location of the .tar.gz file containing the base wazuh-dashboard build." + echo " -s, --security Set the location of the .zip file containing the wazuh-security-dashboards-plugin." + echo " -v, --version Set the version of this build." + echo " --all-platforms Build for all platforms." + echo " --deb Build for deb." + echo " --rpm Build for rpm." + echo " --tar Build for tar." + echo " -r, --revision [Optional] Set the revision of this build. By default, it is set to 1." + echo " -o, --output [Optional] Set the destination path of package. By default, an output folder will be created." + echo " -h, --help Show this help." + echo + exit $1 +} + +# ----------------------------------------------------------------------------- + +main() { + while [ -n "${1}" ]; do + case "${1}" in + "-h" | "--help") + help 0 + ;; + "-a" | "--app") + if [ -n "$2" ]; then + app="$2" + shift 2 + else + help 1 + fi + ;; + "-s" | "--security") + if [ -n "${2}" ]; then + security="${2}" + shift 2 + else + help 0 + fi + ;; + "-b" | "--base") + if [ -n "${2}" ]; then + base="${2}" + shift 2 + else + help 0 + fi + ;; + "-v" | "--version") + if [ -n "${2}" ]; then + version="${2}" + shift 2 + else + help 0 + fi + ;; + "-r" | "--revision") + if [ -n "${2}" ]; then + revision="${2}" + shift 2 + fi + ;; + "--all-platforms") + all_platforms="yes" + shift 1 + ;; + "--deb") + deb="yes" + shift 1 + ;; + "--rpm") + rpm="yes" + shift 1 + ;; + "--tar") + tar="yes" + shift 1 + ;; + "-o" | "--output") + if [ -n "${2}" ]; then + output="${2}" + shift 2 + fi + ;; + *) + echo "help" + + help 1 + ;; + esac + done + + if [ -z "$app" ] | [ -z "$base" ] | [ -z "$security" ] | [ -z "$version" ]; then + echo "You must specify the app, base, security and version." + help 1 + fi + + if [ "$all_platforms" == "no" ] && [ "$deb" == "no" ] && [ "$rpm" == "no" ] && [ "$tar" == "no" ]; then + echo "You must specify at least one package to build." + help 1 + fi + + build || exit 1 + + exit 0 +} + +main "$@" diff --git a/dev-tools/build-packages/config/default b/dev-tools/build-packages/config/default new file mode 100644 index 000000000000..c4f94fd36814 --- /dev/null +++ b/dev-tools/build-packages/config/default @@ -0,0 +1,7 @@ +user="wazuh-dashboard" +group="wazuh-dashboard" +chroot="/" +chdir="/" +nice="" +KILL_ON_STOP_TIMEOUT=0 + diff --git a/dev-tools/build-packages/config/wazuh-dashboard b/dev-tools/build-packages/config/wazuh-dashboard new file mode 100644 index 000000000000..ae87055c3a9d --- /dev/null +++ b/dev-tools/build-packages/config/wazuh-dashboard @@ -0,0 +1,170 @@ +#!/bin/sh +# chkconfig: 2345 95 20 +# description: Wazuh dashboard +# +# Source function libraries if present. +# (It improves integration with systemd) +# +# Red Hat +if [ -f /etc/rc.d/init.d/functions ]; then + . /etc/rc.d/init.d/functions + +# Debian +elif [ -f /lib/lsb/init-functions ]; then + . /lib/lsb/init-functions + +# SUSE +elif [ -f /etc/rc.status ]; then + . /etc/rc.status + rc_reset +fi + +name=wazuh-dashboard +program=/usr/share/wazuh-dashboard/bin/opensearch-dashboards +args=-c\\\ /etc/wazuh-dashboard/opensearch_dashboards.yml +PID_DIR="/run/wazuh-dashboard" +pidfile="$PID_DIR/$name.pid" + +[ -r /etc/default/$name ] && . /etc/default/$name +[ -r /etc/sysconfig/$name ] && . /etc/sysconfig/$name + +export NODE_OPTIONS + +[ -z "$nice" ] && nice=0 + +trace() { + logger -t "/etc/init.d/wazuh-dashboard" "$@" +} + +emit() { + trace "$@" + echo "$@" +} + +start() { + + + # Setup any environmental stuff beforehand + + # Ensure that the PID_DIR exists (it is cleaned at OS startup time) + if [ -n "$PID_DIR" ] && [ ! -e "$PID_DIR" ]; then + mkdir -p "$PID_DIR" && chown "$user":"$group" "$PID_DIR" + fi + if [ -n "$pidfile" ] && [ ! -e "$pidfile" ]; then + touch "$pidfile" && chown "$user":"$group" "$pidfile" + fi + + + # Run the program! + + chroot --userspec "$user":"$group" "$chroot" sh -c "cd \"$chdir\";exec \"$program\" $args" & + + + + # Generate the pidfile from here. If we instead made the forked process + # generate it there will be a race condition between the pidfile writing + # and a process possibly asking for status. + echo $! > $pidfile + + emit "$name started" + return 0 +} + +stop() { + # Try a few times to kill TERM the program + if status ; then + pid=$(cat "$pidfile") + trace "Killing $name (pid $pid) with SIGTERM" + kill -TERM $pid + # Wait for it to exit. + for i in 1 2 3 4 5 ; do + trace "Waiting $name (pid $pid) to die..." + status || break + sleep 1 + done + if status ; then + if [ "$KILL_ON_STOP_TIMEOUT" -eq 1 ] ; then + trace "Timeout reached. Killing $name (pid $pid) with SIGKILL. This may result in data loss." + kill -KILL $pid + emit "$name killed with SIGKILL." + else + emit "$name stop failed; still running." + fi + else + emit "$name stopped." + fi + fi +} + +status() { + if [ -f "$pidfile" ] ; then + pid=$(cat "$pidfile") + if ps -p $pid > /dev/null 2> /dev/null ; then + # process by this pid is running. + # It may not be our pid, but that's what you get with just pidfiles. + # TODO(sissel): Check if this process seems to be the same as the one we + # expect. It'd be nice to use flock here, but flock uses fork, not exec, + # so it makes it quite awkward to use in this case. + return 0 + else + return 2 # program is dead but pid file exists + fi + else + return 3 # program is not running + fi +} + +force_stop() { + if status ; then + stop + status && kill -KILL $(cat "$pidfile") + fi +} + + +case "$1" in + force-start|start|stop|force-stop|restart) + trace "Attempting '$1' on wazuh-dashboard" + ;; +esac + +case "$1" in + force-start) + PRESTART=no + exec "$0" start + ;; + start) + status + code=$? + if [ $code -eq 0 ]; then + emit "$name is already running" + exit $code + else + start + exit $? + fi + ;; + stop) stop ;; + force-stop) force_stop ;; + status) + status + code=$? + if [ $code -eq 0 ] ; then + emit "$name is running" + else + emit "$name is not running" + fi + exit $code + ;; + restart) + + stop && start + ;; + *) + echo "Usage: $SCRIPTNAME {start|force-start|stop|force-start|force-stop|status|restart}" >&2 + exit 3 + ;; +esac + +exit $? + diff --git a/dev-tools/build-packages/config/wazuh-dashboard.service b/dev-tools/build-packages/config/wazuh-dashboard.service new file mode 100644 index 000000000000..3fd27c5a1ab9 --- /dev/null +++ b/dev-tools/build-packages/config/wazuh-dashboard.service @@ -0,0 +1,15 @@ +[Unit] +Description=wazuh-dashboard + +[Service] +Type=simple +User=wazuh-dashboard +Group=wazuh-dashboard +EnvironmentFile=-/etc/default/wazuh-dashboard +EnvironmentFile=-/etc/sysconfig/wazuh-dashboard +ExecStart=/usr/share/wazuh-dashboard/bin/opensearch-dashboards "-c /etc/wazuh-dashboard/opensearch_dashboards.yml" +WorkingDirectory=/usr/share/wazuh-dashboard + +[Install] +WantedBy=multi-user.target + diff --git a/dev-tools/build-packages/deb/builder.sh b/dev-tools/build-packages/deb/builder.sh new file mode 100755 index 000000000000..681623489fa9 --- /dev/null +++ b/dev-tools/build-packages/deb/builder.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# Wazuh package builder +# Copyright (C) 2021, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. + +set -e + +# Script parameters to build the package +target="wazuh-dashboard" +architecture=$1 +revision=$2 +version=$3 +directory_base="/usr/share/wazuh-dashboard" + +# Build directories +build_dir=/build +pkg_name="${target}-${version}" +pkg_path="${build_dir}/${target}" +source_dir="${pkg_path}/${pkg_name}" +deb_file="${target}_${version}-${revision}_${architecture}.deb" + +mkdir -p ${source_dir}/debian + +# Including spec file +cp -r /root/build-packages/deb/debian/* ${source_dir}/debian/ + +# Generating directory structure to build the .deb package +cd ${build_dir}/${target} && tar -czf ${pkg_name}.orig.tar.gz "${pkg_name}" + +# Configure the package with the different parameters +sed -i "s:VERSION:${version}:g" ${source_dir}/debian/changelog +sed -i "s:RELEASE:${revision}:g" ${source_dir}/debian/changelog +sed -i "s:export INSTALLATION_DIR=.*:export INSTALLATION_DIR=${directory_base}:g" ${source_dir}/debian/rules + +# Installing build dependencies +cd ${source_dir} +mk-build-deps -ir -t "apt-get -o Debug::pkgProblemResolver=yes -y" + +# Build package +debuild --no-lintian -b -uc -us \ + -eINSTALLATION_DIR="${directory_base}" \ + -eVERSION="${version}" \ + -eREVISION="${revision}" + +cd ${pkg_path} && sha512sum ${deb_file} >/tmp/${deb_file}.sha512 +mv ${pkg_path}/${deb_file} /tmp/ diff --git a/dev-tools/build-packages/deb/debian/changelog b/dev-tools/build-packages/deb/debian/changelog new file mode 100644 index 000000000000..3a5ac0f89eb2 --- /dev/null +++ b/dev-tools/build-packages/deb/debian/changelog @@ -0,0 +1,95 @@ +wazuh-dashboard (VERSION-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Fri, 05 May 2023 12:31:50 +0000 + +wazuh-dashboard (4.4.2-RELEASE) stable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Mon, 24 Apr 2023 12:31:50 +0000 + +wazuh-dashboard (4.4.1-RELEASE) stable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Mon, 17 Apr 2023 12:31:50 +0000 + +wazuh-dashboard (4.4.0-RELEASE) stable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Wed, 18 Jan 2023 12:31:50 +0000 + +wazuh-dashboard (4.3.10-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Thu, 10 Nov 2022 15:00:00 +0000 + +wazuh-dashboard (4.3.9-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Mon, 03 Oct 2022 15:00:00 +0000 + +wazuh-dashboard (4.3.8-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Mon, 19 Sep 2022 15:00:00 +0000 + +wazuh-dashboard (4.3.7-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Mon, 08 Aug 2022 15:00:00 +0000 + +wazuh-dashboard (4.3.6-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Thu, 07 Jul 2022 15:00:00 +0000 + +wazuh-dashboard (4.3.5-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Wed, 29 Jun 2022 15:00:00 +0000 + +wazuh-dashboard (4.3.4-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Tue, 07 Jun 2022 15:41:39 +0000 + +wazuh-dashboard (4.3.3-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Tue, 31 May 2022 15:41:39 +0000 + +wazuh-dashboard (4.3.2-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Mon, 30 May 2022 15:41:39 +0000 + +wazuh-dashboard (4.3.1-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Wed, 18 May 2022 12:14:41 +0000 + +wazuh-dashboard (4.3.0-RELEASE) unstable; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Thu, 05 May 2022 12:15:57 +0000 + +wazuh-dashboard (4.2.5-1) UNRELEASED; urgency=low + + * More info: https://documentation.wazuh.com/current/release-notes/ + + -- Wazuh, Inc Mon, 15 Nov 2021 16:47:07 +0000 diff --git a/dev-tools/build-packages/deb/debian/control b/dev-tools/build-packages/deb/debian/control new file mode 100644 index 000000000000..5f35b4f6e601 --- /dev/null +++ b/dev-tools/build-packages/deb/debian/control @@ -0,0 +1,12 @@ +Source: wazuh-dashboard +Section: admin +Priority: extra +Maintainer: Wazuh, Inc +Build-Depends: debhelper-compat (= 12) +Standards-Version: 4.5.0 +Homepage: https://www.wazuh.com + +Package: wazuh-dashboard +Architecture: any +Depends: debconf, adduser, curl, tar, libcap2-bin +Description: Wazuh dashboard is a user interface and visualization tool for security-related data. This Wazuh central component enables exploring, visualizing, and analyzing the stored security alerts generated by the Wazuh server. Wazuh dashboard enables inspecting the status and managing the configurations of the Wazuh cluster and agents as well as creating and managing users and roles. In addition, it allows testing the ruleset and making calls to the Wazuh API. Documentation can be found at https://documentation.wazuh.com/current/getting-started/components/wazuh-dashboard.html diff --git a/dev-tools/build-packages/deb/debian/copyright b/dev-tools/build-packages/deb/debian/copyright new file mode 100644 index 000000000000..d2003bbbead7 --- /dev/null +++ b/dev-tools/build-packages/deb/debian/copyright @@ -0,0 +1,22 @@ +This work was packaged for Debian by: + + Wazuh, Inc on Sat, 04 Dec 2021 14:04:26 +0000 + +It was downloaded from: + + https://www.wazuh.com + +Copyright: + + GNU General Public License version 2. + +License: + + GNU General Public License version 2. + +The Debian packaging is: + + Copyright (C) 2021 Wazuh, Inc + +and is licensed under the GPL version 2, +see "/usr/share/common-licenses/GPL-2". \ No newline at end of file diff --git a/dev-tools/build-packages/deb/debian/postinst b/dev-tools/build-packages/deb/debian/postinst new file mode 100644 index 000000000000..232c1d0316ce --- /dev/null +++ b/dev-tools/build-packages/deb/debian/postinst @@ -0,0 +1,53 @@ +#!/bin/sh +# postinst script for wazuh-dashboard +# Copyright (C) 2021, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. + +set -e + +export NAME=wazuh-dashboard +export CONFIG_DIR=/etc/"${NAME}" +export INSTALLATION_DIR=/usr/share/"${NAME}" +export PID_DIR=/run/"${NAME}" + +# Setting Owner and group of own folders +mkdir -p "${PID_DIR}" +chown -R "${NAME}":"${NAME}" "${PID_DIR}" + +case "$1" in +configure) + chmod 750 "${TARGET_DIR}""${CONFIG_DIR}" + chown -R "${NAME}":"${NAME}" "${TARGET_DIR}""${CONFIG_DIR}" + chmod 750 "${TARGET_DIR}""${INSTALLATION_DIR}" + chown -R "${NAME}":"${NAME}" "${TARGET_DIR}""${INSTALLATION_DIR}" + setcap 'cap_net_bind_service=+ep' "${INSTALLATION_DIR}"/node/bin/node + if [ -f "${INSTALLATION_DIR}"/"${NAME}".restart ]; then + rm -f "${INSTALLATION_DIR}"/"${NAME}".restart + if command -v systemctl >/dev/null 2>&1 && systemctl >/dev/null 2>&1; then + systemctl daemon-reload >/dev/null 2>&1 + systemctl restart wazuh-dashboard.service >/dev/null 2>&1 + elif command -v service >/dev/null 2>&1 && service wazuh-dashboard status 2>/dev/null | grep "running" >/dev/null 2>&1; then + service wazuh-dashboard restart >/dev/null 2>&1 + fi + fi + if [ ! -f "${INSTALLATION_DIR}"/config/opensearch_dashboards.keystore ]; then + runuser "${NAME}" --shell="/bin/bash" --command="${INSTALLATION_DIR}/bin/opensearch-dashboards-keystore create" >/dev/null 2>&1 + runuser "${NAME}" --shell="/bin/bash" --command="echo kibanaserver | ${INSTALLATION_DIR}/bin/opensearch-dashboards-keystore add opensearch.username --stdin" >/dev/null 2>&1 + runuser "${NAME}" --shell="/bin/bash" --command="echo kibanaserver | ${INSTALLATION_DIR}/bin/opensearch-dashboards-keystore add opensearch.password --stdin" >/dev/null 2>&1 + fi + ;; + +abort-upgrade | abort-remove | abort-deconfigure) ;; + +*) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; + +esac + +exit 0 diff --git a/dev-tools/build-packages/deb/debian/postrm b/dev-tools/build-packages/deb/debian/postrm new file mode 100644 index 000000000000..a5b88616434f --- /dev/null +++ b/dev-tools/build-packages/deb/debian/postrm @@ -0,0 +1,82 @@ +#!/bin/sh +# postinst script for wazuh-dashboard +# Copyright (C) 2021, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. + +set -e + +export NAME=wazuh-dashboard +export CONFIG_DIR=/etc/"${NAME}" +export INSTALLATION_DIR=/usr/share/"${NAME}" +export PID_DIR=/run/${NAME} + +# +# This script is executed in the post-removal phase +# +# On Debian, +# $1=remove : indicates a removal +# $1=purge : indicates an upgrade + +# source the default env file +if [ -f "/etc/default/${NAME}" ]; then + . "/etc/default/${NAME}" +fi + +REMOVE_DIRS=false +REMOVE_CONFIG_DIRECTORY=false +REMOVE_USER_AND_GROUP=false + +case "$1" in +remove) + REMOVE_DIRS=true + ;; + +purge) + REMOVE_DIRS=true + REMOVE_CONFIG_DIRECTORY=true + REMOVE_USER_AND_GROUP=true + ;; +failed-upgrade | abort-install | upgrade | abort-upgrade | disappear) ;; + +*) + + echo "post remove script called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +if [ "$REMOVE_DIRS" = "true" ]; then + + if [ -d ${PID_DIR} ]; then + echo -n "Deleting PID directory..." + rm -rf ${PID_DIR} >/dev/null 2>&1 + echo " OK" + fi + + if [ -d "${INSTALLATION_DIR}" ]; then + echo -n "Deleting installation directory..." + rm -rf "${INSTALLATION_DIR}" + echo " OK" + fi + + # Delete the config directory if we are purging + if [ "$REMOVE_CONFIG_DIRECTORY" = "true" ]; then + rm -rf "${CONFIG_DIR}" + echo " OK" + fi + +fi + +if [ "$REMOVE_USER_AND_GROUP" = "true" ]; then + if id "${NAME}" >/dev/null 2>&1; then + userdel "${NAME}" + fi + + if getent group "${NAME}" >/dev/null 2>&1; then + groupdel "${NAME}" + fi +fi diff --git a/dev-tools/build-packages/deb/debian/preinst b/dev-tools/build-packages/deb/debian/preinst new file mode 100644 index 000000000000..1d955fd8dc1c --- /dev/null +++ b/dev-tools/build-packages/deb/debian/preinst @@ -0,0 +1,73 @@ +#!/bin/sh +# postinst script for wazuh-dashboard +# Copyright (C) 2021, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. + +set -e + +# +# This script is executed in the pre-installation phase +# +# On Debian, +# $1=install : indicates an new install +# $1=upgrade : indicates an upgrade + +# configuration variables +export NAME=wazuh-dashboard +export CONFIG_DIR=/etc/"${NAME}" +export INSTALLATION_DIR=/usr/share/"${NAME}" + +case "$1" in +# Debian #################################################### +install) + # environment configuration + mkdir -p "${CONFIG_DIR}" + mkdir -p "${INSTALLATION_DIR}" + + # Create wazuh-dashboard group if not existing + if ! getent group "${NAME}" >/dev/null 2>&1; then + echo -n "Creating ${NAME} group..." + addgroup --quiet --system "${NAME}" + echo " OK" + fi + # Create wazuh-dashboard user if not existing + if ! id "${NAME}" >/dev/null 2>&1; then + echo -n "Creating ${NAME} user..." + adduser --quiet \ + --system \ + --no-create-home \ + --home /nonexistent \ + --ingroup "${NAME}" \ + --disabled-password \ + --shell /bin/false \ + "${NAME}" + echo " OK" + fi + + ;; +upgrade) + # Stop the services to upgrade the package + if command -v systemctl >/dev/null 2>&1 && systemctl >/dev/null 2>&1 && systemctl is-active --quiet "${NAME}" >/dev/null 2>&1; then + systemctl stop "${NAME}".service >/dev/null 2>&1 + touch "${INSTALLATION_DIR}"/"${NAME}".restart + # Check for SysV + elif command -v service >/dev/null 2>&1 && service "${NAME}" status 2>/dev/null | grep "running" >/dev/null 2>&1; then + service "${NAME}" stop >/dev/null 2>&1 + touch "${INSTALLATION_DIR}"/"${NAME}".restart + fi + ;; +abort-deconfigure | abort-upgrade | abort-remove) ;; + +*) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + + ;; + +esac + +exit 0 diff --git a/dev-tools/build-packages/deb/debian/prerm b/dev-tools/build-packages/deb/debian/prerm new file mode 100644 index 000000000000..eef54075a11b --- /dev/null +++ b/dev-tools/build-packages/deb/debian/prerm @@ -0,0 +1,82 @@ +#!/bin/sh +# postinst script for wazuh-dashboard +# Copyright (C) 2021, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. + +set -e + +export NAME=wazuh-dashboard +export CONFIG_DIR=/etc/"${NAME}" +export INSTALLATION_DIR=/usr/share/"${NAME}" + +# +# This script is executed in the pre-remove phase +# +# On Debian, +# $1=remove : indicates a removal +# $1=upgrade : indicates an upgrade + +# source the default env file +if [ -f "/etc/default/${NAME}" ]; then + . "/etc/default/${NAME}" +fi + +STOP_REQUIRED=false +REMOVE_SERVICE=false + +case "$1" in + +# Debian #################################################### +remove) + STOP_REQUIRED=true + REMOVE_SERVICE=true + ;; +upgrade | deconfigure | failed-upgrade) ;; + +*) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; + +esac + +# Stops the service +if [ "$STOP_REQUIRED" = "true" ]; then + echo -n "Stopping wazuh-dashboard service..." + if command -v systemctl >/dev/null; then + systemctl --no-reload stop "${NAME}".service + + elif [ -x /etc/init.d/"${NAME}" ]; then + if command -v invoke-rc.d >/dev/null; then + invoke-rc.d "${NAME}" stop + else + /etc/init.d/"${NAME}" stop + fi + + # older suse linux distributions do not ship with systemd + # but do not have an /etc/init.d/ directory + # this tries to start the wazuh-dashboard service on these + # as well without failing this script + elif [ -x /etc/rc.d/init.d/"${NAME}" ]; then + /etc/rc.d/init.d/"${NAME}" stop + fi + echo " OK" +fi + +if [ "$REMOVE_SERVICE" = "true" ]; then + if command -v systemctl >/dev/null; then + systemctl disable "${NAME}".service >/dev/null 2>&1 || true + fi + + if command -v chkconfig >/dev/null; then + chkconfig --del "${NAME}" 2>/dev/null || true + fi + + if command -v update-rc.d >/dev/null; then + update-rc.d "${NAME}" remove >/dev/null || true + fi +fi diff --git a/dev-tools/build-packages/deb/debian/rules b/dev-tools/build-packages/deb/debian/rules new file mode 100644 index 000000000000..98638dab5602 --- /dev/null +++ b/dev-tools/build-packages/deb/debian/rules @@ -0,0 +1,112 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. +# +# Modified to make a template file for a multi-binary package with separated +# build-arch and build-indep targets by Bill Allombert 2001 +# +# Modified by Wazuh +# Copyright (C) 2021, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +# This has to be exported to make some magic below work. +export DH_OPTIONS + +export TARGET_DIR=${CURDIR}/debian/wazuh-dashboard +export NAME=wazuh-dashboard +export CONFIG_DIR=/etc/$(NAME) +export INSTALLATION_DIR=$(INSTALLATION_DIR) +export USER=$(NAME) +export GROUP=$(NAME) +export DASHBOARD_FILE=wazuh-dashboard.tar.gz + +# ----------------------------------------------------------------------------- + +%: + dh $@ + +# ----------------------------------------------------------------------------- + +override_dh_shlibdeps: + +# ----------------------------------------------------------------------------- + +override_dh_auto_configure: + +# ----------------------------------------------------------------------------- + +override_dh_auto_install: + +# ----------------------------------------------------------------------------- + +override_dh_install: + cp /opt/$(DASHBOARD_FILE) ./ + + groupadd $(GROUP) + useradd -g $(GROUP) $(USER) + + tar -xf $(DASHBOARD_FILE) + + mkdir -p $(TARGET_DIR)$(CONFIG_DIR) + mkdir -p $(TARGET_DIR)$(INSTALLATION_DIR) + mkdir -p $(TARGET_DIR)/etc/systemd/system + mkdir -p $(TARGET_DIR)/etc/default + + cp wazuh-dashboard-base/config/node.options $(TARGET_DIR)$(CONFIG_DIR) + cp wazuh-dashboard-base/config/opensearch_dashboards.yml $(TARGET_DIR)$(CONFIG_DIR) + mv wazuh-dashboard-base/* $(TARGET_DIR)$(INSTALLATION_DIR) + + mkdir -p $(TARGET_DIR)$(INSTALLATION_DIR)/config + + cp $(TARGET_DIR)$(INSTALLATION_DIR)/wazuh-dashboard.service $(TARGET_DIR)/etc/systemd/system/wazuh-dashboard.service + cp $(TARGET_DIR)$(INSTALLATION_DIR)/wazuh-dashboard $(TARGET_DIR)/etc/systemd/system/$(NAME) + cp $(TARGET_DIR)$(INSTALLATION_DIR)/default $(TARGET_DIR)/etc/default/$(NAME) + + rm -rf $(TARGET_DIR)$(INSTALLATION_DIR)/etc + + chown -R $(USER):$(GROUP) $(TARGET_DIR)$(INSTALLATION_DIR) + chown -R $(USER):$(GROUP) $(TARGET_DIR)$(CONFIG_DIR) + + find $(TARGET_DIR)$(INSTALLATION_DIR)/plugins/wazuh/ -exec chown $(USER):$(GROUP) {} \; + +# ----------------------------------------------------------------------------- + +override_dh_fixperms: + chmod 750 $(TARGET_DIR)$(CONFIG_DIR) + chown -R $(USER):$(GROUP) $(TARGET_DIR)$(CONFIG_DIR) + chmod 750 $(TARGET_DIR)$(INSTALLATION_DIR) + chown -R $(USER):$(GROUP) $(TARGET_DIR)$(INSTALLATION_DIR) + chown root:root $(TARGET_DIR)/etc/systemd/system/wazuh-dashboard.service + chown root:root $(TARGET_DIR)/etc/systemd/system/"$(NAME)" + chown $(USER):$(GROUP) $(TARGET_DIR)/etc/default/"$(NAME)" + chown $(USER):$(GROUP) $(TARGET_DIR)$(INSTALLATION_DIR)/VERSION + chmod 440 $(TARGET_DIR)$(INSTALLATION_DIR)/VERSION + chmod 750 $(TARGET_DIR)/etc/systemd/system/wazuh-dashboard + chmod 750 $(TARGET_DIR)/etc/default/wazuh-dashboard + chmod 640 "$(TARGET_DIR)$(CONFIG_DIR)"/node.options + chmod 640 $(TARGET_DIR)/etc/systemd/system/wazuh-dashboard.service + find "$(TARGET_DIR)$(INSTALLATION_DIR)" -type d -exec chmod 750 {} \; + find "$(TARGET_DIR)$(INSTALLATION_DIR)" -type f -perm 644 -exec chmod 640 {} \; + find "$(TARGET_DIR)$(INSTALLATION_DIR)" -type f -perm 755 -exec chmod 750 {} \; + find "$(TARGET_DIR)$(INSTALLATION_DIR)" -type f -perm 744 -exec chmod 740 {} \; + +# ----------------------------------------------------------------------------- + +override_dh_strip: + dh_strip --no-automatic-dbgsym -XlibGLESv2.so -XlibEGL.so + +# ----------------------------------------------------------------------------- + +.PHONY: override_dh_strip override_dh_auto_clean override_dh_auto_build override_dh_auto_configure diff --git a/dev-tools/build-packages/deb/docker/amd64/Dockerfile b/dev-tools/build-packages/deb/docker/amd64/Dockerfile new file mode 100644 index 000000000000..f3ca3b981113 --- /dev/null +++ b/dev-tools/build-packages/deb/docker/amd64/Dockerfile @@ -0,0 +1,16 @@ +FROM debian:10 + +ENV DEBIAN_FRONTEND noninteractive + +# Installing necessary packages +RUN apt-get update && apt-get install -y --allow-change-held-packages apt-utils && \ + apt-get install -y --allow-change-held-packages \ + curl sudo wget expect gnupg build-essential \ + devscripts equivs selinux-basics procps gawk + +# Add the script to build the Debian package +ADD builder.sh /usr/local/bin/builder +RUN chmod +x /usr/local/bin/builder + +# Set the entrypoint +ENTRYPOINT ["/usr/local/bin/builder"] \ No newline at end of file diff --git a/dev-tools/build-packages/deb/launcher.sh b/dev-tools/build-packages/deb/launcher.sh new file mode 100755 index 000000000000..090bcb96a71b --- /dev/null +++ b/dev-tools/build-packages/deb/launcher.sh @@ -0,0 +1,195 @@ +#!/bin/bash + +# Wazuh package generator +# Copyright (C) 2021, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. + +# Inputs +package="" +version="" +revision="1" +architecture="amd64" +build_base="yes" +build_docker="yes" + +# Constants +deb_amd64_builder="deb_dashboard_builder_amd64" +deb_builder_dockerfile="${current_path}/docker" + +# Paths +current_path="$( cd $(dirname $0) ; pwd -P )" +config_path=$(realpath $current_path/../config) + +# Folders +out_dir="${current_path}/output" +tmp_dir="${current_path}/tmp" + +trap ctrl_c INT + +clean() { + exit_code=$1 + echo + echo "Cleaning temporary files..." + echo + # Clean the files + rm -r $tmp_dir + rm $current_path/docker/amd64/*.sh + if [ $exit_code != 0 ]; then + rm $out_dir/* + rmdir $out_dir + fi + + exit ${exit_code} +} + +ctrl_c() { + clean 1 +} + +build_deb() { + container_name="$1" + dockerfile_path="$2" + + # Validate and download files to build the package + valid_url='(https?|ftp|file)://[-[:alnum:]\+&@#/%?=~_|!:,.;]*[-[:alnum:]\+&@#/%=~_|]' + + echo + echo "Downloading files..." + echo + + mkdir -p $tmp_dir + cd $tmp_dir + + if [[ $package =~ $valid_url ]]; then + if ! curl --output wazuh-dashboard.tar.gz --silent --fail "${package}"; then + echo "The given URL or Path to the Wazuh Dashboard package is not working: ${package}" + clean 1 + fi + else + echo "The given URL or Path to the Wazuh Dashboard package is not valid: ${package}" + clean 1 + fi + + echo + echo Building the package... + echo + + # Prepare the package + directory_name=$(tar tf wazuh-dashboard.tar.gz | head -1 | sed 's#/.*##' | sort -u) + tar -zxf wazuh-dashboard.tar.gz + rm wazuh-dashboard.tar.gz + mv $directory_name wazuh-dashboard-base + cp $config_path/* wazuh-dashboard-base + echo ${version} >wazuh-dashboard-base/VERSION + tar -czf ./wazuh-dashboard.tar.gz wazuh-dashboard-base + + # Copy the necessary files + cp ${current_path}/builder.sh ${dockerfile_path} + + # Build the Docker image + if [[ ${build_docker} == "yes" ]]; then + docker build -t ${container_name} ${dockerfile_path} || return 1 + fi + + # Build the Debian package with a Docker container + if [ ! -d "$out_dir" ]; then + mkdir -p $out_dir + fi + volumes="-v ${out_dir}/:/tmp:Z -v ${tmp_dir}/wazuh-dashboard.tar.gz:/opt/wazuh-dashboard.tar.gz" + docker run -t --rm ${volumes} \ + -v ${current_path}/../..:/root:Z \ + ${container_name} ${architecture} \ + ${revision} ${version} || return 1 + + echo "Package $(ls -Art ${out_dir} | tail -n 1) added to ${out_dir}." + + echo + echo DONE! + echo + + return 0 +} + +build() { + build_name="${deb_amd64_builder}" + file_path="../${deb_builder_dockerfile}/${architecture}" + build_deb ${build_name} ${file_path} || return 1 + return 0 +} + +help() { + echo + echo "Usage: $0 [OPTIONS]" + echo + echo " -v, --version Wazuh version" + echo " -p, --package Set the location of the .tar.gz file containing the Wazuh Dashboard package." + echo " -r, --revision [Optional] Package revision. By default: 1." + echo " -o, --output [Optional] Set the destination path of package. By default, an output folder will be created." + echo " --dont-build-docker [Optional] Locally built Docker image will be used instead of generating a new one." + echo " -h, --help Show this help." + echo + exit $1 +} + +main() { + while [ -n "${1}" ]; do + case "${1}" in + "-h" | "--help") + help 0 + ;; + "-p" | "--package") + if [ -n "${2}" ]; then + package="${2}" + shift 2 + else + help 1 + fi + ;; + "-v" | "--version") + if [ -n "${2}" ]; then + version="${2}" + shift 2 + else + help 1 + fi + ;; + "-r" | "--revision") + if [ -n "${2}" ]; then + revision="${2}" + shift 2 + else + help 1 + fi + ;; + "--dont-build-docker") + build_docker="no" + shift 1 + ;; + "-o" | "--output") + if [ -n "${2}" ]; then + out_dir="${2}" + shift 2 + else + help 1 + fi + ;; + *) + help 1 + ;; + esac + done + + if [ -z "$package" ] | [ -z "$version" ]; then + help 1 + fi + + build || clean 1 + + clean 0 +} + +main "$@" diff --git a/dev-tools/build-packages/rpm/builder.sh b/dev-tools/build-packages/rpm/builder.sh new file mode 100755 index 000000000000..f71f9476d038 --- /dev/null +++ b/dev-tools/build-packages/rpm/builder.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# Wazuh package builder +# Copyright (C) 2021, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. + +set -e + +# Script parameters to build the package +target="wazuh-dashboard" +architecture=$1 +revision=$2 +version=$3 +directory_base="/usr/share/wazuh-dashboard" + +# Build directories +build_dir=/build +rpm_build_dir=${build_dir}/rpmbuild +pkg_name=${target}-${version} +pkg_path="${rpm_build_dir}/RPMS/${architecture}" +file_name="${target}-${version}-${revision}" +rpm_file="${file_name}.${architecture}.rpm" + +mkdir -p ${rpm_build_dir}/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} + +# Prepare the sources directory to build the source tar.gz +mkdir ${build_dir}/${pkg_name} + +# Including spec file +cp /root/build-packages/rpm/${target}.spec ${rpm_build_dir}/SPECS/${pkg_name}.spec + +# Generating source tar.gz +cd ${build_dir} && tar czf "${rpm_build_dir}/SOURCES/${pkg_name}.tar.gz" "${pkg_name}" + +# Building RPM +/usr/bin/rpmbuild -v \ + --define "_topdir ${rpm_build_dir}" \ + --define "_version ${version}" \ + --define "_release ${revision}" \ + --define "_localstatedir ${directory_base}" \ + --target ${architecture} \ + -ba ${rpm_build_dir}/SPECS/${pkg_name}.spec + +cd ${pkg_path} && sha512sum ${rpm_file} >/tmp/${rpm_file}.sha512 + +find ${pkg_path}/ -maxdepth 3 -type f -name "${file_name}*" -exec mv {} /tmp/ \; diff --git a/dev-tools/build-packages/rpm/docker/x86_64/Dockerfile b/dev-tools/build-packages/rpm/docker/x86_64/Dockerfile new file mode 100644 index 000000000000..eb6493d15878 --- /dev/null +++ b/dev-tools/build-packages/rpm/docker/x86_64/Dockerfile @@ -0,0 +1,21 @@ +FROM rockylinux:8.5 + +# Install all the necessary tools to build the packages +RUN yum clean all && yum update -y +RUN yum install -y openssh-clients sudo gnupg \ + yum-utils epel-release redhat-rpm-config rpm-devel \ + zlib zlib-devel rpm-build autoconf automake \ + glibc-devel libtool perl + +#RUN yum install -y --nobest https://repo.ius.io/ius-release-el7.rpm + +RUN yum update -y && yum install -y python3 + +RUN ln -fs /usr/bin/python3.6 /usr/bin/python + +# Add the scripts to build the RPM package +ADD builder.sh /usr/local/bin/builder +RUN chmod +x /usr/local/bin/builder + +# Set the entrypoint +ENTRYPOINT ["/usr/local/bin/builder"] diff --git a/dev-tools/build-packages/rpm/launcher.sh b/dev-tools/build-packages/rpm/launcher.sh new file mode 100755 index 000000000000..ca9a67d4c1c4 --- /dev/null +++ b/dev-tools/build-packages/rpm/launcher.sh @@ -0,0 +1,198 @@ +#!/bin/bash + +# Wazuh package generator +# Copyright (C) 2021, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. + +# Inputs +package="" +version="" +revision="1" +architecture="x86_64" +build_base="yes" +build_docker="yes" + +# Constants +rpm_x86_builder="rpm_dashboard_builder_x86" +rpm_builder_dockerfile="${current_path}/docker" + +# Paths +current_path="$( cd $(dirname $0) ; pwd -P )" +config_path=$(realpath $current_path/../config) + +# Folders +out_dir="${current_path}/output" +tmp_dir="${current_path}/tmp" + +trap ctrl_c INT + +clean() { + exit_code=$1 + echo + echo "Cleaning temporary files..." + echo + # Clean the files + rm -r $tmp_dir + rm $current_path/docker/x86_64/*.sh + + if [ $exit_code != 0 ]; then + rm $out_dir/* + rmdir $out_dir + fi + + exit ${exit_code} +} + +ctrl_c() { + clean 1 +} + +build_rpm() { + container_name="$1" + dockerfile_path="$2" + + # Validate and download files to build the package + valid_url='(https?|ftp|file)://[-[:alnum:]\+&@#/%?=~_|!:,.;]*[-[:alnum:]\+&@#/%=~_|]' + + echo + echo "Downloading files..." + echo + + mkdir -p $tmp_dir + cd $tmp_dir + + if [[ $package =~ $valid_url ]]; then + if ! curl --output wazuh-dashboard.tar.gz --silent --fail "${package}"; then + echo "The given URL or Path to the Wazuh Dashboard package is not working: ${package}" + clean 1 + fi + else + echo "The given URL or Path to the Wazuh Dashboard package is not valid: ${package}" + clean 1 + fi + + echo + echo Building the package... + echo + + # Prepare the package + directory_name=$(tar tf wazuh-dashboard.tar.gz | head -1 | sed 's#/.*##' | sort -u) + tar -zxf wazuh-dashboard.tar.gz + rm wazuh-dashboard.tar.gz + mv $directory_name wazuh-dashboard-base + mkdir -p wazuh-dashboard-base/etc/services + cp $config_path/* wazuh-dashboard-base/etc/services + echo ${version} >wazuh-dashboard-base/VERSION + tar -czf ./wazuh-dashboard.tar.gz wazuh-dashboard-base + + # Copy the necessary files + cp ${current_path}/builder.sh ${dockerfile_path} + + # Build the Docker image + if [[ ${build_docker} == "yes" ]]; then + docker build -t ${container_name} ${dockerfile_path} || return 1 + fi + + # Build the RPM package with a Docker container + + if [ ! -d "$out_dir" ]; then + mkdir -p $out_dir + fi + volumes="-v ${out_dir}/:/tmp:Z -v ${tmp_dir}/wazuh-dashboard.tar.gz:/opt/wazuh-dashboard.tar.gz" + docker run -t --rm ${volumes} \ + -v ${current_path}/../..:/root:Z \ + ${container_name} ${architecture} \ + ${revision} ${version} || return 1 + + echo "Package $(ls -Art ${out_dir} | tail -n 1) added to ${out_dir}." + + echo + echo DONE! + echo + + return 0 +} + +build() { + build_name="${rpm_x86_builder}" + file_path="../${rpm_builder_dockerfile}/${architecture}" + build_rpm ${build_name} ${file_path} || return 1 + return 0 +} + +help() { + echo + echo "Usage: $0 [OPTIONS]" + echo + echo " -v, --version Wazuh version" + echo " -p, --package Set the location of the .tar.gz file containing the Wazuh Dashboard package." + echo " -r, --revision [Optional] Package revision. By default: 1." + echo " -o, --output [Optional] Set the destination path of package. By default, an output folder will be created." + echo " --dont-build-docker [Optional] Locally built Docker image will be used instead of generating a new one." + echo " -h, --help Show this help." + echo + exit $1 +} + +main() { + while [ -n "${1}" ]; do + case "${1}" in + "-h" | "--help") + help 0 + ;; + "-p" | "--package") + if [ -n "${2}" ]; then + package="${2}" + shift 2 + else + help 1 + fi + ;; + "-v" | "--version") + if [ -n "${2}" ]; then + version="${2}" + shift 2 + else + help 1 + fi + ;; + "-r" | "--revision") + if [ -n "${2}" ]; then + revision="${2}" + shift 2 + else + help 1 + fi + ;; + "--dont-build-docker") + build_docker="no" + shift 1 + ;; + "-o" | "--output") + if [ -n "${2}" ]; then + outdir="${2}" + shift 2 + else + help 1 + fi + ;; + *) + help 1 + ;; + esac + done + + if [ -z "$package" ] | [ -z "$version" ]; then + help 1 + fi + + build || clean 1 + + clean 0 +} + +main "$@" diff --git a/dev-tools/build-packages/rpm/wazuh-dashboard.spec b/dev-tools/build-packages/rpm/wazuh-dashboard.spec new file mode 100644 index 000000000000..39e5c924d453 --- /dev/null +++ b/dev-tools/build-packages/rpm/wazuh-dashboard.spec @@ -0,0 +1,427 @@ +# Wazuh dashboard SPEC +# Copyright (C) 2021, Wazuh Inc. +# +# This program is a free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public +# License (version 2) as published by the FSF - Free Software +# Foundation. +Summary: Wazuh dashboard is a user interface and visualization tool for security-related data. Documentation can be found at https://documentation.wazuh.com/current/getting-started/components/wazuh-dashboard.html +Name: wazuh-dashboard +Version: %{_version} +Release: %{_release} +License: GPL +Group: System Environment/Daemons +Source0: %{name}-%{version}.tar.gz +URL: https://www.wazuh.com/ +buildroot: %{_tmppath}/%{name}-%{version}-%{release}-wazuh-dashboard-%(%{__id_u} -n) +Vendor: Wazuh, Inc +Packager: Wazuh, Inc +Requires(pre): /usr/sbin/groupadd /usr/sbin/useradd +Requires(preun): /sbin/service +Requires(postun): /sbin/service +AutoReqProv: no +Requires: libcap +ExclusiveOS: linux + +# ----------------------------------------------------------------------------- + +%global USER %{name} +%global GROUP %{name} +%global CONFIG_DIR /etc/%{name} +%global PID_DIR /run/%{name} +%global INSTALL_DIR /usr/share/%{name} +%global DASHBOARD_FILE wazuh-dashboard.tar.gz +%define _source_payload w9.gzdio +%define _binary_payload w9.gzdio + +# ----------------------------------------------------------------------------- + + +%description +Wazuh dashboard is a user interface and visualization tool for security-related data. This Wazuh central component enables exploring, visualizing, and analyzing the stored security alerts generated by the Wazuh server. Wazuh dashboard enables inspecting the status and managing the configurations of the Wazuh cluster and agents as well as creating and managing users and roles. In addition, it allows testing the ruleset and making calls to the Wazuh API. Documentation can be found at https://documentation.wazuh.com/current/getting-started/components/wazuh-dashboard.html + +# ----------------------------------------------------------------------------- + +%prep + +cp /opt/%{DASHBOARD_FILE} ./ + +groupadd %{GROUP} +useradd -g %{GROUP} %{USER} + +# ----------------------------------------------------------------------------- + +%build + +tar -xf %{DASHBOARD_FILE} + +# ----------------------------------------------------------------------------- + +%install + +mkdir -p %{buildroot}%{CONFIG_DIR} +mkdir -p %{buildroot}%{INSTALL_DIR} +mkdir -p %{buildroot}/etc/systemd/system +mkdir -p %{buildroot}%{_initrddir} +mkdir -p %{buildroot}/etc/default + +cp wazuh-dashboard-base/config/node.options %{buildroot}%{CONFIG_DIR} +cp wazuh-dashboard-base/config/opensearch_dashboards.yml %{buildroot}%{CONFIG_DIR} +cp wazuh-dashboard-base/VERSION %{buildroot}%{INSTALL_DIR} + +mv wazuh-dashboard-base/* %{buildroot}%{INSTALL_DIR} + +# Set custom welcome styles + +mkdir -p %{buildroot}%{INSTALL_DIR}/config + +cp %{buildroot}%{INSTALL_DIR}/etc/services/wazuh-dashboard.service %{buildroot}/etc/systemd/system/wazuh-dashboard.service +cp %{buildroot}%{INSTALL_DIR}/etc/services/default %{buildroot}/etc/default/wazuh-dashboard + +chmod 640 %{buildroot}/etc/systemd/system/wazuh-dashboard.service +chmod 640 %{buildroot}/etc/default/wazuh-dashboard + +rm -rf %{buildroot}%{INSTALL_DIR}/etc/ + +find %{buildroot}%{INSTALL_DIR} -exec chown %{USER}:%{GROUP} {} \; +find %{buildroot}%{CONFIG_DIR} -exec chown %{USER}:%{GROUP} {} \; + +chown root:root %{buildroot}/etc/systemd/system/wazuh-dashboard.service + +find %{buildroot}%{INSTALL_DIR}/plugins/wazuh/ -exec chown %{USER}:%{GROUP} {} \; +find %{buildroot}%{INSTALL_DIR}/plugins/wazuh/ -type f -perm 644 -exec chmod 640 {} \; +find %{buildroot}%{INSTALL_DIR}/plugins/wazuh/ -type f -perm 755 -exec chmod 750 {} \; +find %{buildroot}%{INSTALL_DIR}/plugins/wazuh/ -type d -exec chmod 750 {} \; +find %{buildroot}%{INSTALL_DIR}/plugins/wazuh/ -type f -perm 744 -exec chmod 740 {} \; + +# ----------------------------------------------------------------------------- + +%pre +# Create the wazuh-dashboard group if it doesn't exists +if [ $1 = 1 ]; then + if command -v getent > /dev/null 2>&1 && ! getent group %{GROUP} > /dev/null 2>&1; then + groupadd -r %{GROUP} + elif ! getent group %{GROUP} > /dev/null 2>&1; then + groupadd -r %{GROUP} + fi + # Create the wazuh-dashboard user if it doesn't exists + if ! getent passwd %{USER} > /dev/null 2>&1; then + useradd -g %{GROUP} -G %{USER} -d %{INSTALL_DIR}/ -r -s /sbin/nologin wazuh-dashboard + fi +fi +# Stop the services to upgrade the package +if [ $1 = 2 ]; then + if command -v systemctl > /dev/null 2>&1 && systemctl > /dev/null 2>&1 && systemctl is-active --quiet wazuh-dashboard > /dev/null 2>&1; then + systemctl stop wazuh-dashboard.service > /dev/null 2>&1 + touch %{INSTALL_DIR}/wazuh-dashboard.restart + # Check for SysV + elif command -v service > /dev/null 2>&1 && service wazuh-dashboard status 2>/dev/null | grep "is running" > /dev/null 2>&1; then + service wazuh-dashboard stop > /dev/null 2>&1 + touch %{INSTALL_DIR}/wazuh-dashboard.restart + fi +fi + +# ----------------------------------------------------------------------------- + +%post +setcap 'cap_net_bind_service=+ep' %{INSTALL_DIR}/node/bin/node + +if [ ! -f %{INSTALLATION_DIR}/config/opensearch_dashboards.keystore ]; then + runuser %{USER} --shell="/bin/bash" --command="%{INSTALL_DIR}/bin/opensearch-dashboards-keystore create" > /dev/null 2>&1 + runuser %{USER} --shell="/bin/bash" --command="echo kibanaserver | %{INSTALL_DIR}/bin/opensearch-dashboards-keystore add opensearch.username --stdin" > /dev/null 2>&1 + runuser %{USER} --shell="/bin/bash" --command="echo kibanaserver | %{INSTALL_DIR}/bin/opensearch-dashboards-keystore add opensearch.password --stdin" > /dev/null 2>&1 +fi + +# ----------------------------------------------------------------------------- + +%preun +if [ $1 = 0 ];then # Remove + echo -n "Stopping wazuh-dashboard service..." + if command -v systemctl > /dev/null 2>&1 && systemctl > /dev/null 2>&1; then + systemctl stop wazuh-dashboard.service > /dev/null 2>&1 + # Check for SysV + elif command -v service > /dev/null 2>&1; then + service wazuh-dashboard stop > /dev/null 2>&1 + fi +fi + +# ----------------------------------------------------------------------------- + +%postun +if [ $1 = 0 ];then + # If the package is been uninstalled + # Remove the wazuh-dashboard user if it exists + if getent passwd %{USER} > /dev/null 2>&1; then + userdel %{USER} >/dev/null 2>&1 + fi + # Remove the wazuh-dashboard group if it exists + if command -v getent > /dev/null 2>&1 && getent group %{GROUP} > /dev/null 2>&1; then + groupdel %{GROUP} >/dev/null 2>&1 + elif getent group %{GROUP} > /dev/null 2>&1; then + groupdel %{GROUP} >/dev/null 2>&1 + fi + + # Remove /etc/wazuh-dashboard and /usr/share/wazuh-dashboard dirs + rm -rf %{INSTALL_DIR} + if [ -d %{PID_DIR} ]; then + rm -rf %{PID_DIR} + fi +fi + +# ----------------------------------------------------------------------------- + +# posttrans code is the last thing executed in a install/upgrade +%posttrans +if [ ! -d %{PID_DIR} ]; then + mkdir -p %{PID_DIR} + chown %{USER}:%{GROUP} %{PID_DIR} +fi + +if [ -f %{INSTALL_DIR}/wazuh-dashboard.restart ]; then + rm -f %{INSTALL_DIR}/wazuh-dashboard.restart + if command -v systemctl > /dev/null 2>&1 && systemctl > /dev/null 2>&1; then + systemctl restart wazuh-dashboard.service > /dev/null 2>&1 + # Check for SysV + elif command -v service > /dev/null 2>&1; then + service wazuh-dashboard restart > /dev/null 2>&1 + fi + +fi + + +# ----------------------------------------------------------------------------- + +%clean +rm -fr %{buildroot} + +# ----------------------------------------------------------------------------- + +%files +%defattr(-,%{USER},%{GROUP}) +%dir %attr(750, %{USER}, %{GROUP}) %{CONFIG_DIR} + +%attr(0750, %{USER}, %{GROUP}) "/etc/default/wazuh-dashboard" +%config(noreplace) %attr(0640, %{USER}, %{GROUP}) "%{CONFIG_DIR}/opensearch_dashboards.yml" +%config(noreplace) %attr(0640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/config/opensearch_dashboards.yml" +%config(noreplace) %attr(0640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/config/node.options" + +%attr(440, %{USER}, %{GROUP}) %{INSTALL_DIR}/VERSION +%dir %attr(750, %{USER}, %{GROUP}) %{INSTALL_DIR} +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/core" +%attr(-, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/core/*" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/remove" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/list" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/lib" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/downloaders" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/__fixtures__" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/__fixtures__/replies" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/utils" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/root" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/harden" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/__fixtures__" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/__fixtures__/plugin" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/__fixtures__/plugin/foo" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/plugins" +%attr(-, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/plugins/* +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/serve" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/serve/integration_tests" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/serve/integration_tests/__fixtures__" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/serve/integration_tests/__fixtures__/reload_logging_config" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/utils" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/rotate" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/core" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/i18n" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/i18n/localization" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/warnings" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/http" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/config" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/keystore" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/ui_render" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/ui_render/bootstrap" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/apm" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/docs" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/node_modules" +%attr(-, %{USER}, %{GROUP}) "%{INSTALL_DIR}/node_modules/*" +%attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/node_modules/.yarn-integrity" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/node" +%attr(-, %{USER}, %{GROUP}) "%{INSTALL_DIR}/node/*" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/data" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/plugins" +%attr(-, %{USER}, %{GROUP}) "%{INSTALL_DIR}/plugins/*" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/bin" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/remove/settings.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/remove/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/remove/remove.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/dev.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/list/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/list/list.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/lib/logger.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/lib/errors.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/lib/log_warnings.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/opensearch_dashboards.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/downloaders/file.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/downloaders/http.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/zip.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/download.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/install.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/settings.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/rename.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/__fixtures__/replies/invalid_name.zip" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/__fixtures__/replies/test_plugin_different_version.zip" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/__fixtures__/replies/banana.jpg" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/__fixtures__/replies/test_plugin_no_opensearch_dashboards.zip" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/__fixtures__/replies/test_plugin.zip" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/__fixtures__/replies/corrupt.zip" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/__fixtures__/replies/test_plugin_many.zip" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/cleanup.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/pack.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/install/progress.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/cli.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_plugin/dist.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/cli_keystore.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/add.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/create.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/utils/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/utils/prompt.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/dev.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/get_keystore.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/remove.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/dist.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli_keystore/list.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/apm.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/root/force.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/root/is_root.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/root/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/polyfill.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/node_version_validator.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/harden/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/harden/child_process.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/harden/lodash_template.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/no_transpilation.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/exit_on_warning.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/setup_node_env/dist.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/np_ui_plugin_public_dirs.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/optimize_mixin.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/proxy_bundles_route.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/file_hash.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/file_hash_cache.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/__fixtures__/plugin/foo/plugin.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/__fixtures__/outside_output.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/bundles_route.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/optimize/bundles_route/dynamic_asset_response.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/command.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/help.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/cli.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/serve/serve.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/serve/read_keystore.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/serve/integration_tests/__fixtures__/invalid_config.yml" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/opensearch_dashboards_log_file.test.yml" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/opensearch_dashboards_log_console.test.yml" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/opensearch_dashboards.test.yml" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/cli/dist.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/utils/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/utils/unset.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/utils/version.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/utils/artifact_type.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/utils/deep_clone_with_buffers.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/rotate/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/rotate/log_rotator.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/apply_filters_to_keys.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/log_format.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/log_reporter.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/log_format_json.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/log_with_metadata.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/configuration.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/log_interceptor.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/logging/log_format_string.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/core/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/i18n/localization/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/i18n/localization/telemetry_localization_collector.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/i18n/localization/file_integrity.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/i18n/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/i18n/get_translations_path.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/i18n/constants.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/osd_server.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/warnings/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/http/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/http/register_hapi_plugins.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/http/setup_base_path_provider.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/config/override.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/config/complete.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/config/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/config/schema.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/config/config.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/keystore/keystore.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/keystore/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/server/keystore/errors.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/ui_mixin.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/ui_render/ui_render_mixin.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/ui_render/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/ui_render/bootstrap/osd_bundles_loader_source.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/ui_render/bootstrap/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/ui_render/bootstrap/template.js.hbs" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/ui_render/bootstrap/app_bootstrap.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/legacy/ui/apm/index.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/docs/docs_repo.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/src/docs/cli.js" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/package.json" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/LICENSE.txt" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/NOTICE.txt" +%attr(640, %{USER}, %{GROUP}) "%{INSTALL_DIR}/README.txt" +%attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/bin/use_node" +%attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/bin/opensearch-dashboards" +%attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/bin/opensearch-dashboards-plugin" +%attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/bin/opensearch-dashboards-keystore" +%dir %attr(750, %{USER}, %{GROUP}) "%{INSTALL_DIR}/config" +%attr(640, %{USER}, %{GROUP}) "%{CONFIG_DIR}/node.options" +%attr(640, root, root) "/etc/systemd/system/wazuh-dashboard.service" + +%changelog +* Fri May 05 2023 support - %{version} +- More info: https://documentation.wazuh.com/current/release-notes/ +* Mon Apr 24 2023 support - 4.4.2 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Mon Apr 17 2023 support - 4.4.1 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Wed Jan 18 2023 support - 4.4.0 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Thu Nov 10 2022 support - 4.3.10 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Mon Oct 03 2022 support - 4.3.9 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Mon Sep 19 2022 support - 4.3.8 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Mon Aug 08 2022 support - 4.3.7 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Thu Jul 07 2022 support - 4.3.6 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Wed Jun 29 2022 support - 4.3.5 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Tue Jun 07 2022 support - 4.3.4 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Tue May 31 2022 support - 4.3.3 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Mon May 30 2022 support - 4.3.2 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Wed May 18 2022 support - 4.3.1 +- More info: https://documentation.wazuh.com/current/release-notes/ +* Thu May 05 2022 support - 4.3.0 +- More info: https://documentation.wazuh.com/current/release-notes/ diff --git a/dev-tools/signoff-check.sh b/dev-tools/signoff-check.sh index 683628c5664d..cb147e943cf9 100755 --- a/dev-tools/signoff-check.sh +++ b/dev-tools/signoff-check.sh @@ -5,7 +5,7 @@ # Validate input parameters if [ -z $1 ] || [ -z $2 ] then - echo usage: ./signoff-check.sh commit1 commit2 + echo usage: ./signoff_check.sh commit1 commit2 echo echo Checks all of the commits between commit1 \(exclusive\) and commit2 \(inclusive\) echo were made with the --signoff flag enabled diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 000000000000..fa199650b978 --- /dev/null +++ b/docker/README.md @@ -0,0 +1,75 @@ +# Frontend development environments + +Install [Docker Desktop][docker-desktop] as per its instructions, available for Windows, Mac +and Linux (Ubuntu, Debian & Fedora). +This ensures that the development experience between Linux, Mac and Windows is as +similar as possible. + +> IMPORTANT: be methodic during the installation of Docker Desktop, and proceed +> step by step as described in their documentation. Make sure that your system +> meets the system requirements before installing Docker Desktop, and read any +> post-installation note, specially on Linux: [Differences between +> Docker Desktop for Linux and Docker Engine][docker-variant]. + +## Pre-requisites + +1. Assign resources to [Docker Desktop][docker-desktop]. The requirements for the + environments are: + + - 8 GB of RAM (minimum) + - 4 cores + + The more resources the better ☺ + +2. Clone the [wazuh-dashboard][app-repo] and the [wazuh-security-dashboards-plugin][security-repo] + repositories at the same level. + +3. Set up user permissions + + The Docker volumes will be created by the internal Docker user, making them + read-only. To prevent this, a new group named `docker-desktop` and GUID 100999 + needs to be created, then added to your user and the source code folder: + + ```bash + sudo groupadd -g 100999 docker-desktop + sudo useradd -u 100999 -g 100999 -M docker-desktop + sudo chown -R docker-desktop:docker-desktop $WZD_HOME + sudo usermod -aG docker-desktop $USER + ``` + +## Understanding Docker contexts + +Before we begin starting Docker containers, we need to understand the +differences between Docker Engine and Docker Desktop, more precisely, that the +use different contexts. + +Carefully read these two sections of the Docker documentation: + +- [Differences between Docker Desktop for Linux and Docker Engine][docker-variant]. +- [Switch between Docker Desktop and Docker Engine][docker-context]. + +Docker Desktop will change to its context automatically at start, so be sure +that any existing Docker container using the default context is **stopped** +before starting Docker Desktop and any of the environments in this folder. + +## Starting up the environments + +Use the sh script to up the environment. + +Example: + +```bash +Usage: ./dev.sh {up|down|stop} [security] +``` + +Once the `wazuh-dashboard` container is up, attach a shell to it and run `yarn start --no-base-path` +to start the application. + +The dependencies of the project will be installed automatically by the `installed` container, +even for the security plugin, if the security flag is provided. + +[docker-desktop]: https://docs.docker.com/get-docker +[docker-variant]: https://docs.docker.com/desktop/install/linux-install/#differences-between-docker-desktop-for-linux-and-docker-engine +[docker-context]: https://docs.docker.com/desktop/install/linux-install/#context +[app-repo]: https://github.com/wazuh/wazuh-dashboard +[security-repo]: https://github.com/wazuh/wazuh-security-dashboards-plugin diff --git a/docker/config/opensearch_dashboards.dev.security.yml b/docker/config/opensearch_dashboards.dev.security.yml new file mode 100644 index 000000000000..5199aa789c33 --- /dev/null +++ b/docker/config/opensearch_dashboards.dev.security.yml @@ -0,0 +1,16 @@ +server.host: "0.0.0.0" + +opensearchDashboards.branding: + useExpandedHeader: false + +opensearch.hosts: ["https://indexer:9200"] +opensearch.ssl.verificationMode: none +opensearch.username: "kibanaserver" +opensearch.password: "kibanaserver" +opensearch.requestHeadersWhitelist: [ authorization,securitytenant ] +opensearch_security.multitenancy.enabled: true +opensearch_security.multitenancy.tenants.preferred: ["Private", "Global"] +opensearch_security.readonly_mode.roles: ["kibana_read_only"] + +# Use this setting if you are running opensearch-dashboards without https +opensearch_security.cookie.secure: false diff --git a/docker/config/opensearch_dashboards.dev.yml b/docker/config/opensearch_dashboards.dev.yml new file mode 100644 index 000000000000..88b30aafe3f4 --- /dev/null +++ b/docker/config/opensearch_dashboards.dev.yml @@ -0,0 +1,4 @@ +server.host: "0.0.0.0" + +opensearchDashboards.branding: + useExpandedHeader: false diff --git a/docker/dev.sh b/docker/dev.sh new file mode 100755 index 000000000000..3562d7dbbbf0 --- /dev/null +++ b/docker/dev.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# Change working directory to the root of the repository +cd "${0%/*}/.." + +COMPOSE_FILE=docker/dev.yml + +# Check if 2nd argument is security +if [ "$2" = "security" ]; then + export SECURITY_PLUGIN_REPO_PATH="../../wazuh-security-dashboards-plugin" + COMPOSE_FILE=docker/dev_security.yml + +fi + +# Common variables +export REPO_PATH=$(pwd) +export NODE_VERSION=$(cat $REPO_PATH/.nvmrc) +export OPENSEARCH_VERSION=$(bash $REPO_PATH/docker/get_version.sh) + +COMPOSE_CMD="docker compose -f $COMPOSE_FILE" + +print_variables() { + echo "NODE_VERSION: $NODE_VERSION" + echo "OPENSEARCH_VERSION: $OPENSEARCH_VERSION" +} + +case $1 in +up) + print_variables + $COMPOSE_CMD up -d + ;; +down) + echo "Cleaning up..." + $COMPOSE_CMD exec wazuh-dashboard yarn osd clean + $COMPOSE_CMD down + ;; +stop) + $COMPOSE_CMD stop + ;; +*) + echo "Usage: $0 {up|down|stop} [security]" + exit 1 + ;; +esac diff --git a/docker/dev.yml b/docker/dev.yml new file mode 100644 index 000000000000..8f41bf45eb0a --- /dev/null +++ b/docker/dev.yml @@ -0,0 +1,35 @@ +version: "3.9" + +services: + # Runs the bootstrap and exits + installer: + image: node:${NODE_VERSION} + container_name: installer-${OPENSEARCH_VERSION} + volumes: + - ${REPO_PATH}:/home/node/app + user: "1000:1000" + working_dir: /home/node/app + command: > + /bin/bash -c " + yarn osd bootstrap + " + + wazuh-dashboard: + image: node:${NODE_VERSION} + container_name: wazuh-dashboard-${OPENSEARCH_VERSION} + depends_on: + installer: + condition: service_completed_successfully + ports: + - 5601:5601 # Map host port 5601 to container port 5601 + expose: + - "5601" # Expose port 5601 for web access to Wazuh Dashboard + volumes: + - ${REPO_PATH}:/home/node/app + - ${REPO_PATH}/docker/config/opensearch_dashboards.dev.yml:/home/node/app/config/opensearch_dashboards.dev.yml + user: "1000:1000" + working_dir: /home/node/app + command: > + /bin/bash -c " + yarn opensearch snapshot + " diff --git a/docker/dev_security.yml b/docker/dev_security.yml new file mode 100755 index 000000000000..7f6b935ae3ee --- /dev/null +++ b/docker/dev_security.yml @@ -0,0 +1,85 @@ +version: "3.9" + +services: + indexer: + # Specifying the latest available image - modify if you want a specific version + image: opensearchproject/opensearch:${OPENSEARCH_VERSION} + container_name: indexer-${OPENSEARCH_VERSION} + environment: + # Name the cluster + - cluster.name=opensearch-cluster + # Name the node that will run in this container + - node.name=indexer + # Nodes to look for when discovering the cluster + - discovery.seed_hosts=indexer + # Nodes eligible to serve as cluster manager + - cluster.initial_cluster_manager_nodes=indexer + # Disable JVM heap memory swapping + - bootstrap.memory_lock=true + # Set min and max JVM heap sizes to at least 50% of system RAM + - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" + ulimits: + # Set memlock to unlimited (no soft or hard limit) + memlock: + soft: -1 + hard: -1 + # Maximum number of open files for the opensearch user - set to at least 65536 + nofile: + soft: 65536 + hard: 65536 + volumes: + # Creates volume called opensearch-data and mounts it to the container + - opensearch-data:/usr/share/opensearch/data + ports: + - 9200:9200 # REST API + - 9600:9600 # Performance Analyzer + networks: + # All of the containers will join the same Docker bridge network + - opensearch-net + + # Runs the bootstrap and exits + installer: + image: node:${NODE_VERSION} + container_name: installer-security-${OPENSEARCH_VERSION} + volumes: + - ${REPO_PATH}:/home/node/app + - ${SECURITY_PLUGIN_REPO_PATH}:/home/node/app/plugins/security + user: "1000:1000" + working_dir: /home/node/app + command: > + /bin/bash -c " + yarn osd bootstrap + cd plugins/security + yarn + " + + wazuh-dashboard: + image: node:${NODE_VERSION} + container_name: wazuh-dashboard-security-${OPENSEARCH_VERSION} + depends_on: + installer: + condition: service_completed_successfully + # indexer: + # condition: service_healthy + ports: + - 5601:5601 # Map host port 5601 to container port 5601 + expose: + - "5601" # Expose port 5601 for web access to Wazuh Dashboard + volumes: + - ${REPO_PATH}:/home/node/app + - ${SECURITY_PLUGIN_REPO_PATH}:/home/node/app/plugins/security + - ${REPO_PATH}/docker/config/opensearch_dashboards.dev.security.yml:/home/node/app/config/opensearch_dashboards.dev.yml + user: "1000" + working_dir: /home/node/app + networks: + - opensearch-net + command: > + /bin/bash -c " + tail -f /dev/null + " + +volumes: + opensearch-data: + +networks: + opensearch-net: diff --git a/docker/get_version.sh b/docker/get_version.sh new file mode 100755 index 000000000000..555dd89e9e9c --- /dev/null +++ b/docker/get_version.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Copyright OpenSearch Contributors +# SPDX-License-Identifier: Apache-2.0 + +set -e + +PACKAGE_VERSION=$(cat package.json \ +| grep version \ +| head -1 \ +| awk -F: '{ print $2 }' \ +| sed 's/[",]//g' \ +| tr -d [:space:]) + +echo "$PACKAGE_VERSION" \ No newline at end of file diff --git a/docs/docker-dev/docker-dev-setup-manual.md b/docs/docker-dev/docker-dev-setup-manual.md index 3263372a3d45..da40ab93f4a2 100644 --- a/docs/docker-dev/docker-dev-setup-manual.md +++ b/docs/docker-dev/docker-dev-setup-manual.md @@ -6,10 +6,10 @@ The following instructions demonstrate how to set up a development environment f 2. In the terminal, run the command below. * This should create a folder named `opensearch-dashboards-docker-dev` and it should contain two files: `docker-compose.yml` and `entrypoint.sh`. - * Here is the link to the installer script: `https://raw.githubusercontent.com/opensearch-project/OpenSearch-Dashboards/main/dev-tools/install-docker-dev.sh` if needed. + * Here is the link to the installer script: `https://raw.githubusercontent.com/opensearch-project/OpenSearch-Dashboards/main/dev_tools/install_docker_dev.sh` if needed. ```bash -curl -o- https://raw.githubusercontent.com/opensearch-project/OpenSearch-Dashboards/main/dev-tools/install-docker-dev.sh | bash +curl -o- https://raw.githubusercontent.com/opensearch-project/OpenSearch-Dashboards/main/dev_tools/install_docker_dev.sh | bash ``` 3. Open VS Code or [install it](https://code.visualstudio.com/download), if it's not already installed. @@ -66,7 +66,7 @@ This section explains how to run Selenium functional tests using Docker and debu 2. Make sure you have completed steps 1-5 in the [Docker Development Environment Setup](#docker-development-environment-setup). Now, ensure you have 5 files, `docker-compose.yml`, `docker-compose.selenium.yml`, `Dockerfile.selenium`, `entrypoint.sh` and `start-vnc.sh`. You can also download them by running the installer script. This time you need to pass a parameter `--ftr`. ```bash -curl -o- https://raw.githubusercontent.com/opensearch-project/OpenSearch-Dashboards/main/dev-tools/install-docker-dev.sh | bash -s -- --ftr +curl -o- https://raw.githubusercontent.com/opensearch-project/OpenSearch-Dashboards/main/dev_tools/install_docker_dev.sh | bash -s -- --ftr ``` 3. In the terminal, run the following commands to stop any running containers, build the new configuration, and start the containers: diff --git a/package.json b/package.json index 351e33db12ea..6c058e0a0477 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,10 @@ "number": 8467, "sha": "6cb7fec4e154faa0a4a3fee4b33dfef91b9870d9" }, + "wazuh": { + "version": "4.9.0", + "revision": "00" + }, "homepage": "https://opensearch.org", "bugs": { "url": "http://github.com/opensearch-project/OpenSearch-Dashboards/issues" @@ -75,7 +79,9 @@ "docs:acceptApiChanges": "scripts/use_node --max-old-space-size=6144 scripts/check_published_api_changes.js --accept", "osd:bootstrap": "scripts/use_node scripts/build_ts_refs && scripts/use_node scripts/register_git_hook", "spec_to_console": "scripts/use_node scripts/spec_to_console", - "pkg-version": "scripts/use_node -e \"console.log(require('./package.json').version)\"" + "pkg-version": "scripts/use_node -e \"console.log(require('./package.json').version)\"", + "wzd-revision": "scripts/use_node -e \"console.log(require('./package.json').wazuh.revision)\"", + "wzd-version": "scripts/use_node -e \"console.log(require('./package.json').wazuh.version)\"" }, "repository": { "type": "git", diff --git a/packages/osd-config/src/__snapshots__/env.test.ts.snap b/packages/osd-config/src/__snapshots__/env.test.ts.snap index 74a05672b5d0..a5143dd6d9ea 100644 --- a/packages/osd-config/src/__snapshots__/env.test.ts.snap +++ b/packages/osd-config/src/__snapshots__/env.test.ts.snap @@ -34,6 +34,7 @@ Env { "buildSha": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dist": false, "version": "v1", + "wazuhVersion": "4.x.x", }, "pluginSearchPaths": Array [ "/test/opensearchDashboardsRoot/src/plugins", @@ -77,6 +78,7 @@ Env { "buildSha": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dist": false, "version": "v1", + "wazuhVersion": "4.x.x", }, "pluginSearchPaths": Array [ "/test/opensearchDashboardsRoot/src/plugins", @@ -119,6 +121,7 @@ Env { "buildSha": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dist": false, "version": "some-version", + "wazuhVersion": "4.x.x", }, "pluginSearchPaths": Array [ "/test/opensearchDashboardsRoot/src/plugins", @@ -161,6 +164,7 @@ Env { "buildSha": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dist": false, "version": "some-version", + "wazuhVersion": "4.x.x", }, "pluginSearchPaths": Array [ "/test/opensearchDashboardsRoot/src/plugins", @@ -203,6 +207,7 @@ Env { "buildSha": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dist": false, "version": "some-version", + "wazuhVersion": "4.x.x", }, "pluginSearchPaths": Array [ "/test/opensearchDashboardsRoot/src/plugins", @@ -245,6 +250,7 @@ Env { "buildSha": "feature-v1-build-sha", "dist": true, "version": "v1", + "wazuhVersion": "4.x.x", }, "pluginSearchPaths": Array [ "/test/opensearchDashboardsRoot/src/plugins", @@ -287,6 +293,7 @@ Env { "buildSha": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "dist": false, "version": "v1", + "wazuhVersion": "4.x.x", }, "pluginSearchPaths": Array [ "/test/opensearchDashboardsRoot/src/plugins", @@ -329,6 +336,7 @@ Env { "buildSha": "feature-v1-build-sha", "dist": true, "version": "v1", + "wazuhVersion": "4.x.x", }, "pluginSearchPaths": Array [ "/some/home/dir/src/plugins", diff --git a/packages/osd-config/src/config_service.test.ts b/packages/osd-config/src/config_service.test.ts index 0f634537be7e..65a06598a6ec 100644 --- a/packages/osd-config/src/config_service.test.ts +++ b/packages/osd-config/src/config_service.test.ts @@ -48,6 +48,9 @@ const packageInfos: RawPackageInfo = { number: 42, sha: 'one', }, + wazuh: { + version: '4.5.0', + }, }; const emptyArgv = getEnvOptions(); const defaultEnv = new Env('/opensearch-dashboards', packageInfos, emptyArgv); @@ -270,6 +273,9 @@ test('correctly passes context', async () => { number: 100, sha: 'feature-v1-build-sha', }, + wazuh: { + version: '4.5.0', + }, }; const env = new Env('/opensearch-dashboards', mockPackage, getEnvOptions()); diff --git a/packages/osd-config/src/env.test.ts b/packages/osd-config/src/env.test.ts index 32febbc52eb0..bffc1af4bf86 100644 --- a/packages/osd-config/src/env.test.ts +++ b/packages/osd-config/src/env.test.ts @@ -42,6 +42,9 @@ const packageInfos: RawPackageInfo = { number: 42, sha: 'one', }, + wazuh: { + version: '4.x.x', + }, }; beforeEach(() => { @@ -52,6 +55,9 @@ test('correctly creates default environment in dev mode when isDevClusterMaster mockPackage.raw = { branch: 'some-branch', version: 'some-version', + wazuh: { + version: '4.x.x', + }, }; const defaultEnv = Env.createDefault( @@ -71,6 +77,9 @@ test('correctly creates default environment in dev mode when isDevClusterManager mockPackage.raw = { branch: 'some-branch', version: 'some-version', + wazuh: { + version: '4.x.x', + }, }; const defaultEnv = Env.createDefault( @@ -90,6 +99,9 @@ test('correctly creates default environment in dev mode when isDevClusterManager mockPackage.raw = { branch: 'some-branch', version: 'some-version', + wazuh: { + version: '4.x.x', + }, }; const defaultEnv = Env.createDefault( @@ -114,6 +126,9 @@ test('correctly creates default environment in prod distributable mode.', () => number: 100, sha: 'feature-v1-build-sha', }, + wazuh: { + version: '4.x.x', + }, }; const defaultEnv = Env.createDefault( @@ -136,6 +151,9 @@ test('correctly creates default environment in prod non-distributable mode.', () number: 100, sha: 'feature-v1-build-sha', }, + wazuh: { + version: '4.x.x', + }, }; const defaultEnv = Env.createDefault( @@ -158,6 +176,9 @@ test('correctly creates default environment if `--env.name` is supplied.', () => number: 100, sha: 'feature-v1-build-sha', }, + wazuh: { + version: '4.x.x', + }, }; const defaultDevEnv = Env.createDefault( @@ -191,6 +212,9 @@ test('correctly creates environment with constructor.', () => { number: 100, sha: 'feature-v1-build-sha', }, + wazuh: { + version: '4.x.x', + }, }, getEnvOptions({ cliArgs: { dev: false }, diff --git a/packages/osd-config/src/env.ts b/packages/osd-config/src/env.ts index e27498c341a0..e82355595e99 100644 --- a/packages/osd-config/src/env.ts +++ b/packages/osd-config/src/env.ts @@ -67,6 +67,9 @@ export interface RawPackageInfo { number: number; sha: string; }; + wazuh: { + version: string; + }; } export class Env { @@ -159,6 +162,7 @@ export class Env { : 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', version: pkg.version, dist: isOpenSearchDashboardsDistributable, + wazuhVersion: pkg.wazuh.version, }); } } diff --git a/packages/osd-config/src/types.ts b/packages/osd-config/src/types.ts index c4a82f68502b..1a0927770d08 100644 --- a/packages/osd-config/src/types.ts +++ b/packages/osd-config/src/types.ts @@ -37,6 +37,7 @@ export interface PackageInfo { buildNum: number; buildSha: string; dist: boolean; + wazuhVersion: string; } /** diff --git a/src/cli_plugin/install/settings.js b/src/cli_plugin/install/settings.js index cfd576f8ff5a..3a878dcfffd1 100644 --- a/src/cli_plugin/install/settings.js +++ b/src/cli_plugin/install/settings.js @@ -36,9 +36,12 @@ import { fromRoot } from '../../core/server/utils'; const LATEST_PLUGIN_BASE_URL = 'https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards'; +const LATEST_WAZUH_PLUGIN_BASE_URL = 'https://packages-dev.wazuh.com/pre-release/ui/dashboard'; -function generateUrls({ version, plugin }) { - return [plugin, generatePluginUrl(version, plugin)]; +function generateUrls({ version, plugin, wazuhVersion }) { + return plugin.includes('wazuh') + ? [plugin, generateWazuhPluginUrl(wazuhVersion, plugin)] + : [plugin, generatePluginUrl(version, plugin)]; } function generatePluginUrl(version, plugin) { @@ -49,6 +52,10 @@ function generatePluginUrl(version, plugin) { return `${LATEST_PLUGIN_BASE_URL}/${version}/latest/${platform}/${arch}/${type}/builds/opensearch-dashboards/plugins/${plugin}-${version}.zip`; } +function generateWazuhPluginUrl(version, plugin) { + return `${LATEST_WAZUH_PLUGIN_BASE_URL}/${plugin}-${version}-1.zip`; +} + export function parseMilliseconds(val) { let result; @@ -70,6 +77,7 @@ export function parse(command, options, osdPackage) { config: options.config || '', plugin: command, version: osdPackage.version, + wazuhVersion: osdPackage.wazuh.version, pluginDir: fromRoot('plugins'), }; @@ -77,5 +85,8 @@ export function parse(command, options, osdPackage) { settings.workingPath = resolve(settings.pluginDir, '.plugin.installing'); settings.tempArchiveFile = resolve(settings.workingPath, 'archive.part'); + // Clean up. + delete settings.wazuhVersion; + return settings; } diff --git a/src/cli_plugin/install/settings.test.js b/src/cli_plugin/install/settings.test.js index 60313e3fe9b8..07b19da3ffeb 100644 --- a/src/cli_plugin/install/settings.test.js +++ b/src/cli_plugin/install/settings.test.js @@ -61,7 +61,12 @@ describe('parseMilliseconds function', function () { describe('parse function', function () { const command = 'plugin name'; const defaultOptions = { pluginDir: fromRoot('plugins') }; - const osdPackage = { version: 1234 }; + const osdPackage = { + version: 1234, + wazuh: { + version: 1234, + }, + }; afterAll(() => { Object.defineProperties(process, { diff --git a/src/core/common/logos/__snapshots__/get_logos.test.ts.snap b/src/core/common/logos/__snapshots__/get_logos.test.ts.snap index 6c7746f3533a..cfd1b9f7e3cf 100644 --- a/src/core/common/logos/__snapshots__/get_logos.test.ts.snap +++ b/src/core/common/logos/__snapshots__/get_logos.test.ts.snap @@ -512,11 +512,11 @@ colorScheme = "light" exports[`getLogos when unbranded returns the correct logos 1`] = ` AnimatedMark.dark.type = "default" -AnimatedMark.dark.url = "/mocked/base/path/ui/logos/opensearch_spinner_on_dark.svg" +AnimatedMark.dark.url = "/mocked/base/path/ui/logos/spinner_on_dark.gif" AnimatedMark.light.type = "default" -AnimatedMark.light.url = "/mocked/base/path/ui/logos/opensearch_spinner_on_light.svg" +AnimatedMark.light.url = "/mocked/base/path/ui/logos/spinner_on_light.gif" AnimatedMark.type = "default" -AnimatedMark.url = "/mocked/base/path/ui/logos/opensearch_spinner_on_light.svg" +AnimatedMark.url = "/mocked/base/path/ui/logos/spinner_on_light.gif" Application.dark.type = "default" Application.dark.url = "/mocked/base/path/ui/logos/opensearch_dashboards_on_dark.svg" Application.light.type = "default" @@ -546,11 +546,11 @@ colorScheme = "light" exports[`getLogos when unbranded returns the correct logos when dark color scheme is requested 1`] = ` AnimatedMark.dark.type = "default" -AnimatedMark.dark.url = "/mocked/base/path/ui/logos/opensearch_spinner_on_dark.svg" +AnimatedMark.dark.url = "/mocked/base/path/ui/logos/spinner_on_dark.gif" AnimatedMark.light.type = "default" -AnimatedMark.light.url = "/mocked/base/path/ui/logos/opensearch_spinner_on_light.svg" +AnimatedMark.light.url = "/mocked/base/path/ui/logos/spinner_on_light.gif" AnimatedMark.type = "default" -AnimatedMark.url = "/mocked/base/path/ui/logos/opensearch_spinner_on_dark.svg" +AnimatedMark.url = "/mocked/base/path/ui/logos/spinner_on_dark.gif" Application.dark.type = "default" Application.dark.url = "/mocked/base/path/ui/logos/opensearch_dashboards_on_dark.svg" Application.light.type = "default" @@ -580,11 +580,11 @@ colorScheme = "dark" exports[`getLogos when unbranded returns the correct logos when light color scheme is requested 1`] = ` AnimatedMark.dark.type = "default" -AnimatedMark.dark.url = "/mocked/base/path/ui/logos/opensearch_spinner_on_dark.svg" +AnimatedMark.dark.url = "/mocked/base/path/ui/logos/spinner_on_dark.gif" AnimatedMark.light.type = "default" -AnimatedMark.light.url = "/mocked/base/path/ui/logos/opensearch_spinner_on_light.svg" +AnimatedMark.light.url = "/mocked/base/path/ui/logos/spinner_on_light.gif" AnimatedMark.type = "default" -AnimatedMark.url = "/mocked/base/path/ui/logos/opensearch_spinner_on_light.svg" +AnimatedMark.url = "/mocked/base/path/ui/logos/spinner_on_light.gif" Application.dark.type = "default" Application.dark.url = "/mocked/base/path/ui/logos/opensearch_dashboards_on_dark.svg" Application.light.type = "default" diff --git a/src/core/common/logos/get_logos.ts b/src/core/common/logos/get_logos.ts index c27a5306e9e1..6517cd16ab38 100644 --- a/src/core/common/logos/get_logos.ts +++ b/src/core/common/logos/get_logos.ts @@ -21,9 +21,9 @@ export const MARK_ON_DARK = 'ui/logos/opensearch_mark_on_dark.svg'; export const CENTER_MARK_THEMED = 'ui/logos/opensearch_center_mark.svg'; export const CENTER_MARK_ON_LIGHT = 'ui/logos/opensearch_center_mark_on_light.svg'; export const CENTER_MARK_ON_DARK = 'ui/logos/opensearch_center_mark_on_dark.svg'; -export const ANIMATED_MARK_THEMED = 'ui/logos/opensearch_spinner.svg'; -export const ANIMATED_MARK_ON_LIGHT = 'ui/logos/opensearch_spinner_on_light.svg'; -export const ANIMATED_MARK_ON_DARK = 'ui/logos/opensearch_spinner_on_dark.svg'; +export const ANIMATED_MARK_THEMED = 'ui/logos/spinner.svg'; +export const ANIMATED_MARK_ON_LIGHT = 'ui/logos/spinner_on_light.gif'; +export const ANIMATED_MARK_ON_DARK = 'ui/logos/spinner_on_dark.gif'; interface AssetOption { url?: string; diff --git a/src/core/public/chrome/chrome_service.tsx b/src/core/public/chrome/chrome_service.tsx index 7994c6dcc0c0..f6ca2aa28089 100644 --- a/src/core/public/chrome/chrome_service.tsx +++ b/src/core/public/chrome/chrome_service.tsx @@ -244,13 +244,13 @@ export class ChromeService { basePath={http.basePath} breadcrumbs$={breadcrumbs$.pipe(takeUntil(this.stop$))} customNavLink$={customNavLink$.pipe(takeUntil(this.stop$))} - opensearchDashboardsDocLink={docLinks.links.opensearchDashboards.introduction} + opensearchDashboardsDocLink={docLinks.links.wazuh.index} forceAppSwitcherNavigation$={navLinks.getForceAppSwitcherNavigation$()} helpExtension$={helpExtension$.pipe(takeUntil(this.stop$))} helpSupportUrl$={helpSupportUrl$.pipe(takeUntil(this.stop$))} homeHref={http.basePath.prepend('/app/home')} isVisible$={this.isVisible$} - opensearchDashboardsVersion={injectedMetadata.getOpenSearchDashboardsVersion()} + opensearchDashboardsVersion={injectedMetadata.getWazuhVersion()} navLinks$={navLinks.getNavLinks$()} recentlyAccessed$={recentlyAccessed.get$()} navControlsLeft$={navControls.getLeft$()} diff --git a/src/core/public/chrome/constants.ts b/src/core/public/chrome/constants.ts index 5008f8b4a69a..2fa80237566e 100644 --- a/src/core/public/chrome/constants.ts +++ b/src/core/public/chrome/constants.ts @@ -28,6 +28,6 @@ * under the License. */ -export const OPENSEARCH_DASHBOARDS_ASK_OPENSEARCH_LINK = 'https://forum.opensearch.org/'; -export const GITHUB_CREATE_ISSUE_LINK = - 'https://github.com/opensearch-project/OpenSearch-Dashboards/issues/new/choose'; +export const OPENSEARCH_DASHBOARDS_FEEDBACK_LINK = 'https://wazuh.com/community/join-us-on-slack'; +export const OPENSEARCH_DASHBOARDS_ASK_OPENSEARCH_LINK = OPENSEARCH_DASHBOARDS_FEEDBACK_LINK; +export const GITHUB_CREATE_ISSUE_LINK = 'https://github.com/wazuh/wazuh/issues/new/choose'; diff --git a/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap b/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap index 7b4e3ba472dc..52378a456579 100644 --- a/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap +++ b/src/core/public/chrome/ui/header/__snapshots__/collapsible_nav.test.tsx.snap @@ -128,14 +128,14 @@ exports[`CollapsibleNav renders links grouped by category 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/test/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -2071,14 +2071,14 @@ exports[`CollapsibleNav renders the default nav 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/test/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -2374,14 +2374,14 @@ exports[`CollapsibleNav renders the default nav 2`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/test/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -2677,14 +2677,14 @@ exports[`CollapsibleNav renders the default nav 3`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/test/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -5503,14 +5503,14 @@ exports[`CollapsibleNav without custom branding renders the nav bar in dark mode "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/test/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/test/ui/logos/spinner_on_dark.gif", }, "Application": Object { "dark": Object { @@ -6606,14 +6606,14 @@ exports[`CollapsibleNav without custom branding renders the nav bar in default m "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/test/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/test/ui/logos/opensearch_spinner_on_light.svg", + "url": "/test/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { diff --git a/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap b/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap index 7ec470c74e03..a66f88ad068b 100644 --- a/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap +++ b/src/core/public/chrome/ui/header/__snapshots__/header.test.tsx.snap @@ -1432,14 +1432,14 @@ exports[`Header handles visibility and lock changes 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -2037,14 +2037,14 @@ exports[`Header handles visibility and lock changes 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -2529,14 +2529,14 @@ exports[`Header handles visibility and lock changes 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -3272,14 +3272,14 @@ exports[`Header handles visibility and lock changes 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -3501,7 +3501,7 @@ exports[`Header handles visibility and lock changes 1`] = ` data-euiicon-type="home" data-test-image-url="home" data-test-subj="homeIcon" - title="opensearch dashboards home" + title="Wazuh dashboards home" />
@@ -5943,14 +5943,14 @@ exports[`Header handles visibility and lock changes 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -8082,14 +8082,14 @@ exports[`Header renders condensed header 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -8789,14 +8789,14 @@ exports[`Header renders condensed header 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -8971,10 +8971,10 @@ exports[`Header renders condensed header 1`] = ` >
@@ -11411,14 +11411,14 @@ exports[`Header renders condensed header 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { diff --git a/src/core/public/chrome/ui/header/__snapshots__/header_help_menu.test.tsx.snap b/src/core/public/chrome/ui/header/__snapshots__/header_help_menu.test.tsx.snap index 036e2b4ee0ce..2173ce50c764 100644 --- a/src/core/public/chrome/ui/header/__snapshots__/header_help_menu.test.tsx.snap +++ b/src/core/public/chrome/ui/header/__snapshots__/header_help_menu.test.tsx.snap @@ -1798,7 +1798,7 @@ exports[`Header help menu hides survey link 1`] = ` - Documentation + Wazuh documentation @@ -1815,7 +1815,7 @@ exports[`Header help menu hides survey link 1`] = ` - Community + Ask Wazuh @@ -1828,7 +1828,7 @@ exports[`Header help menu hides survey link 1`] = ` /> @@ -2019,11 +2019,11 @@ exports[`Header help menu hides survey link 1`] = ` className="euiButtonEmpty__text" > - Documentation + Wazuh documentation @@ -2065,11 +2065,11 @@ exports[`Header help menu hides survey link 1`] = ` className="euiButtonEmpty__text" > - Community + Ask Wazuh @@ -2092,14 +2092,14 @@ exports[`Header help menu hides survey link 1`] = ` @@ -3958,7 +3958,7 @@ exports[`Header help menu renders survey link 1`] = ` - Documentation + Wazuh documentation @@ -3975,7 +3975,7 @@ exports[`Header help menu renders survey link 1`] = ` - Community + Ask Wazuh @@ -4008,7 +4008,7 @@ exports[`Header help menu renders survey link 1`] = ` /> @@ -4199,11 +4199,11 @@ exports[`Header help menu renders survey link 1`] = ` className="euiButtonEmpty__text" > - Documentation + Wazuh documentation @@ -4245,11 +4245,11 @@ exports[`Header help menu renders survey link 1`] = ` className="euiButtonEmpty__text" > - Community + Ask Wazuh @@ -4321,14 +4321,14 @@ exports[`Header help menu renders survey link 1`] = ` diff --git a/src/core/public/chrome/ui/header/__snapshots__/home_icon.test.tsx.snap b/src/core/public/chrome/ui/header/__snapshots__/home_icon.test.tsx.snap index c1a7c11b69f9..adcce5bb2e55 100644 --- a/src/core/public/chrome/ui/header/__snapshots__/home_icon.test.tsx.snap +++ b/src/core/public/chrome/ui/header/__snapshots__/home_icon.test.tsx.snap @@ -28,7 +28,7 @@ exports[`Home icon, unbranded, uses the home icon when header is expanded 1`] = data-test-image-url="home" data-test-subj="homeIcon" size="m" - title="opensearch dashboards home" + title="Wazuh dashboards home" type="home" /> `; @@ -36,10 +36,10 @@ exports[`Home icon, unbranded, uses the home icon when header is expanded 1`] = exports[`Home icon, unbranded, uses the mark logo when header is not expanded 1`] = ` `; diff --git a/src/core/public/chrome/ui/header/header_help_menu.tsx b/src/core/public/chrome/ui/header/header_help_menu.tsx index 0eba4c0c2673..33b858177118 100644 --- a/src/core/public/chrome/ui/header/header_help_menu.tsx +++ b/src/core/public/chrome/ui/header/header_help_menu.tsx @@ -208,7 +208,7 @@ class HeaderHelpMenuUI extends Component { @@ -217,7 +217,7 @@ class HeaderHelpMenuUI extends Component { diff --git a/src/core/public/chrome/ui/header/home_icon.test.tsx b/src/core/public/chrome/ui/header/home_icon.test.tsx index 05ffd5591594..62fc0d6bc8b4 100644 --- a/src/core/public/chrome/ui/header/home_icon.test.tsx +++ b/src/core/public/chrome/ui/header/home_icon.test.tsx @@ -24,7 +24,7 @@ describe('Home icon,', () => { expect(icon.prop('data-test-subj')).toEqual('homeIcon'); expect(icon.prop('type')).toEqual('home'); expect(icon.prop('size')).toEqual('m'); - expect(icon.prop('title')).toEqual('opensearch dashboards home'); + expect(icon.prop('title')).toEqual('Wazuh dashboards home'); }); it('uses the home icon when header is expanded', () => { @@ -39,7 +39,7 @@ describe('Home icon,', () => { expect(icon.prop('data-test-subj')).toEqual('homeIcon'); expect(icon.prop('type')).toEqual('home'); expect(icon.prop('size')).toEqual('m'); - expect(icon.prop('title')).toEqual('opensearch dashboards home'); + expect(icon.prop('title')).toEqual('Wazuh dashboards home'); expect(component).toMatchSnapshot(); }); @@ -53,10 +53,10 @@ describe('Home icon,', () => { }; const component = shallow(); const icon = component.find('EuiIcon'); - expect(icon.prop('data-test-subj')).toEqual('defaultMark'); - expect(icon.prop('type')).toEqual(props.logos.Mark.url); - expect(icon.prop('size')).toEqual('l'); - expect(icon.prop('title')).toEqual('opensearch dashboards home'); + expect(icon.prop('data-test-subj')).toEqual('homeIcon'); + expect(icon.prop('type')).toEqual('home'); + expect(icon.prop('size')).toEqual('m'); + expect(icon.prop('title')).toEqual('Wazuh dashboards home'); expect(component).toMatchSnapshot(); }); diff --git a/src/core/public/chrome/ui/header/home_icon.tsx b/src/core/public/chrome/ui/header/home_icon.tsx index 2c0beb5a26cb..ccb02ba2583c 100644 --- a/src/core/public/chrome/ui/header/home_icon.tsx +++ b/src/core/public/chrome/ui/header/home_icon.tsx @@ -17,7 +17,8 @@ interface Props { * Use branding configurations to render the header mark on the nav bar. */ export const HomeIcon = ({ branding, logos }: Props) => { - const { applicationTitle = 'opensearch dashboards', useExpandedHeader = true } = branding; + // Removed prop unnecessary useExpandedHeader Wazuh dashboards + const { applicationTitle = 'Wazuh dashboards' } = branding; const { url: markURL, type: markType } = logos.Mark; @@ -26,8 +27,8 @@ export const HomeIcon = ({ branding, logos }: Props) => { // Marks look better at the large size let markIconSize: IconSize = 'l'; - // If no custom branded mark was set, use `home` icon only for expanded headers - if (markType !== 'custom' && useExpandedHeader) { + // If no custom branded mark was set, use `home` icon Wazuh dashboards + if (markType !== 'custom') { markIcon = 'home'; testSubj = 'homeIcon'; // Home icon should be medium to fit in with other icons diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts index 0acf4524ab14..9401c9299c89 100644 --- a/src/core/public/doc_links/doc_links_service.ts +++ b/src/core/public/doc_links/doc_links_service.ts @@ -62,11 +62,17 @@ export class DocLinksService { const OPENSEARCH_WEBSITE_DOCS = `${OPENSEARCH_WEBSITE_URL}docs/${DOC_LINK_VERSION}`; const OPENSEARCH_VERSIONED_DOCS = `${OPENSEARCH_WEBSITE_DOCS}/opensearch/`; const OPENSEARCH_DASHBOARDS_VERSIONED_DOCS = `${OPENSEARCH_WEBSITE_DOCS}/dashboards/`; + const WAZUH_DOC_VERSION = injectedMetadata.getWazuhDocVersion(); + const WAZUH_WEBSITE_DOCS = `https://documentation.wazuh.com/${WAZUH_DOC_VERSION}`; return deepFreeze({ DOC_LINK_VERSION, OPENSEARCH_WEBSITE_URL, + WAZUH_DOC_VERSION, links: { + wazuh: { + index: `${WAZUH_WEBSITE_DOCS}/index.html`, + }, opensearch: { // https://opensearch.org/docs/latest/opensearch/index/ introduction: `${OPENSEARCH_VERSIONED_DOCS}index/`, @@ -618,7 +624,11 @@ export class DocLinksService { export interface DocLinksStart { readonly DOC_LINK_VERSION: string; readonly OPENSEARCH_WEBSITE_URL: string; + readonly WAZUH_DOC_VERSION: string; readonly links: { + readonly wazuh: { + readonly index: string; + }; readonly opensearch: { readonly introduction: string; readonly installation: { diff --git a/src/core/public/injected_metadata/injected_metadata_service.mock.ts b/src/core/public/injected_metadata/injected_metadata_service.mock.ts index c91a4e446b1e..bcbc8b2c12cf 100644 --- a/src/core/public/injected_metadata/injected_metadata_service.mock.ts +++ b/src/core/public/injected_metadata/injected_metadata_service.mock.ts @@ -46,6 +46,8 @@ const createSetupContractMock = () => { getOpenSearchDashboardsBuildNumber: jest.fn(), getBranding: jest.fn(), getSurvey: jest.fn(), + getWazuhVersion: jest.fn(), + getWazuhDocVersion: jest.fn(), }; setupContract.getCspConfig.mockReturnValue({ warnLegacyBrowsers: true }); setupContract.getOpenSearchDashboardsVersion.mockReturnValue('opensearchDashboardsVersion'); @@ -62,6 +64,8 @@ const createSetupContractMock = () => { }, } as any); setupContract.getPlugins.mockReturnValue([]); + setupContract.getWazuhVersion.mockReturnValue('4.x.x'); + setupContract.getWazuhDocVersion.mockReturnValue('4.x'); return setupContract; }; diff --git a/src/core/public/injected_metadata/injected_metadata_service.ts b/src/core/public/injected_metadata/injected_metadata_service.ts index f4c6a7f7b91a..941a07b46984 100644 --- a/src/core/public/injected_metadata/injected_metadata_service.ts +++ b/src/core/public/injected_metadata/injected_metadata_service.ts @@ -53,6 +53,7 @@ export interface InjectedMetadataParams { version: string; buildNumber: number; branch: string; + wazuhVersion: string; basePath: string; serverBasePath: string; category?: AppCategory; @@ -88,11 +89,11 @@ export interface InjectedMetadataParams { * @internal */ export class InjectedMetadataService { - private state = deepFreeze( - this.params.injectedMetadata - ) as InjectedMetadataParams['injectedMetadata']; + private state: InjectedMetadataParams['injectedMetadata']; - constructor(private readonly params: InjectedMetadataParams) {} + constructor(params: InjectedMetadataParams) { + this.state = deepFreeze(params.injectedMetadata) as InjectedMetadataParams['injectedMetadata']; + } public start(): InjectedMetadataStart { return this.setup(); @@ -151,6 +152,14 @@ export class InjectedMetadataService { getSurvey: () => { return this.state.survey; }, + + getWazuhVersion: () => { + return this.state.wazuhVersion; + }, + + getWazuhDocVersion: () => { + return this.state.wazuhVersion?.split('.').slice(0, 2).join('.') || 'current'; + }, }; } } @@ -186,6 +195,8 @@ export interface InjectedMetadataSetup { }; getBranding: () => Branding; getSurvey: () => string | undefined; + getWazuhVersion: () => string; + getWazuhDocVersion: () => string; } /** @internal */ diff --git a/src/core/public/mocks.ts b/src/core/public/mocks.ts index 3acc71424b91..6c7c1c8b83ce 100644 --- a/src/core/public/mocks.ts +++ b/src/core/public/mocks.ts @@ -130,6 +130,7 @@ function pluginInitializerContextMock() { buildNum: 100, buildSha: 'buildSha', dist: false, + wazuhVersion: 'wazuhVersion', }, }, config: { @@ -155,6 +156,7 @@ function createCoreContext(): CoreContext { buildNum: 100, buildSha: 'buildSha', dist: false, + wazuhVersion: 'wazuhVersion', }, }, }; diff --git a/src/core/public/rendering/rendering_service.tsx b/src/core/public/rendering/rendering_service.tsx index ffb147bc39fc..d1ee00681628 100644 --- a/src/core/public/rendering/rendering_service.tsx +++ b/src/core/public/rendering/rendering_service.tsx @@ -58,9 +58,15 @@ export class RenderingService { const appUi = application.getComponent(); const bannerUi = overlays.banners.getComponent(); + /** + * This is done so that modifications to login styles are only applied to the login. + */ + const pathName = chromeUi.props.application?.history?.location?.pathname || ''; + const classContent = pathName === '/app/login' ? 'content wz-login' : 'content'; + ReactDOM.render( -
+
{chromeUi} diff --git a/src/core/server/core_app/assets/favicons/android-chrome-192x192.png b/src/core/server/core_app/assets/favicons/android-chrome-192x192.png index a256e84b28b815d3ccc422d64e9820927575c7a8..5ae1721bad2ff956d5b94aaa09c1f3815459e24b 100644 GIT binary patch literal 6424 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 mBuSDaNs=T& diff --git a/src/core/server/core_app/assets/favicons/android-chrome-512x512.png b/src/core/server/core_app/assets/favicons/android-chrome-512x512.png index 404fbfad398faad3f0bea9949e3a8eebc5888fdc..9eb711bb795cdd6e216cd550dd96719c4771a95a 100644 GIT binary patch literal 17660 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 z≰6?pcG;PMk<%8P{FsD*TGeSZMdiXVSm7{Z}=Xu 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 literal 1868 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 b4ue1fgE?PHS%D+C6l3so^>bP0l+XkKy@RcB literal 841 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>*P|S61I-T(3OZw=5@y zsnA-|hUao)+KEpuwjU6(&3)ooSw0hJ4r7wHyNm6G+`vd6hqJ&VvY3H^c>@SDsvqHB z3lwB8@$_|Nf66KYHR01Y=KC_DN=+@gr9daE zmbgZgq$HN4S|t~y0x1R~10zFS15;fi!w^FYD9gP2NC6dvSA|5B1SOU$ z6cpvBW#*(RlvEa^Dr6RvBr`Bn%z6BYhodk|L*tbH=`)^BgBX~Vx%HB{g_VW9CyOu( zE4Vb698O_Y-W;NE`o@(LN6s9PIl_Lr!DE4!9>Xhf!IDo-rc;4dFnGH9xvX3}zf3dtnQWR_eaT@5hlOa_gC-`*64Hyl! zGC4PzFPsjCul&GN3`4mzT2@vTHH$?>R4FtDhr^-KnKUMof+HwutrC-HC`vVXMu88h zr78uADG()KP?RJi8JHi4C;PDq7@d_>s;5s1KQo#}g3=gNx}mBWph)!pP#B&?tFdV4 zQ@;Nxtd7;95G@)~BN-|w-a9$j5DMi6s~`!6sA3T$edZveQV|SMry?l8WKkKw%6NrR zhGePTrwAeuH%zI!c! zoLm~749(Ele|36h3%8G9I%{2gF>8KEi923}Tl;0paa>$j~M_$gDc9Y}n;hCAqVBFz=Uj9{MxuNOeChT%?C7J09HkIi#RodBP)fdxuk$9)mygg z(zViwZ_FQ@IMJ4U3k-1|7-S@^=-NMdV9YKk{k3()9@l}0N|&mY!L9zw+ny3yc}Aty zH{!&r^o6G#sy6NWd$myrmvYv6(FQi^T(n95(t>VJ9OyXY^y(~=%9Ei?={ugj!qSLZ zvUo#YeTW9-XcMjr-}lk3^yVd{*=DdxP3`pew&j=W?SEq?Wh5T`iJ#f*l*4zcXoy){ zaPunDW`6&ElXX`Ii5AvhI}|EJA&JIDP#;ZSw1TT*bXd+D4WP<+fyZ z%xkWZ4s6G4CJGNX$d4x)9}}8vO~||8+T&61Jcb_jHTy5;C0M@=xT~yeXmr4=x<_0b zc$sAMuwr}{A%F~CnsB-Y*EKV=uud3Tx&2W=+UEXdGxn)vCmnqncs49x?5C3xSbborHu?+7iOOc)Bh2GkeCN8hNa+!gF z(a_VyF~s6@>7pfB(z3xVnguzs|nFS#M{%${_`f&O<*c zg{=QPI=ytK<>T}q><8YjB9KVWEXRzA+EHu3qkgiWR!Zroj}y1?}4`J#&B`&L@$ zbE@nXtbG0NZlCYhhdWNebk0nWwe?Tz=V7o|WHMc1zOTYC#H__;XLYI`&-FH|)kS|*-f~EJ z#);ixKEDM|sLOM!&Ja2LL@ct2`#87!+b!{L0}~yaE?oZ06f9-$y1f5-7wf?+hqfQr zbeONN$?bL6d-GYkjL_6Sc13+=zlBpa$mre9M?ij1Kud?_9ifd0-KbLh*2~7aE{_cJN diff --git a/src/core/server/core_app/assets/favicons/favicon.ico b/src/core/server/core_app/assets/favicons/favicon.ico index dd2d62ecec85d74b8432af443756556c882d7656..f5e4095b82e4dab8adfc4ff3fb2311694c365129 100644 GIT binary patch literal 2270 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%0Aq+DGGZ8XdXX-i*F2B<(#l**WtUrpZ-(a(_tj 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 literal 1836 zcmdUw`9IT-1IPLF8KSv9@?lcm5?bTy$}NrA4D(rX%#|ZY&5_(g#j1^LL|N`*W_-Rm zvr_x!vyU?tAGuBCaC0&0qQQ$qN&t(9#^c z_N~`8&tkNzG5hyK_%O53Pp63n6%qmo&iuNtn>#kA-;+wdAM|dd_2!G_ zklq-9ss)5#J{=QhAC>@3N6X}3W5c|77$bDNYd6!!=CA}uC8 z$xR?vmXBnK;kb~UAOY)g%=^ukNWc7tUc#0;A^`?;9vFmq99&#`5xqNX1!K}ik4K14 z>FI|3TqhY;HHA1XLCMm<$PA`HR?SKXwOMEX%C$40x{!GyJ9o}jY?M(Ne%Qq}j+%13 zz+P3e8F@gv;(o81Xr@rC`76UxY~NhwPlb`$)^5BX1sclY?)nFF>U%}q$ktV)q%)pi zzBoGsfMlx)s=B2EpX9{4Eb`y3uT3gIJ0@pfp3F4K%-|jiXT4eiz2J`0Lfi909_F*W z%Q8zLR$rc4_Cr6 z>*kBRKM%B0gd1ZFb(iDUZ%ws_u;a6IGMf@pAddQ#P2riekz7!ASBiM-U;6|Pv+?*q z;2uMbd2_QPIDgsDL+wAZS9dE+9C7A2e=E3AW0kNXspO^7^7@~|iYpV*`tX>>Is{kS zS~&Tl{qX~%sJi!Qt-cD$pOcd{Rb0&Jvwk)#5B69%XOGiZv?QerwvwEz?*kdzT3P+L zJ6)Pop1{}YEay$ao@K#a87l*+K2wyMM_!B7r;J3&qr~d^B>m2ni7@4pj2nd&&|%2U zVLO;;vi$jU?J(z=JuU;fy}Vp$9=ZYYd-lVEHaFd?bxteP(^hRfg^b#)ktq6JW0NpC zAg>LF5Pyj>bGIKjIZu3o`cmdEx9nj_OOEr}=s7>5oH!ZDbf^y2O^bVT z+WYInELO9JC|wJ|0MPy>#;WDs@5$1Omm?jeW48u%5pP;7O~)dq{|f=_T#%LDv6E83 zz`Bgp)ztB`NP2PX1c`yWF>#F#a0A(ueiOpOc?A3x`6D*FkL?WP&mi$h<5oF?p42L@ zm0sf5x=k7g{E;8kdhfwh+e71(h>`;14}tUlTQ?*~@r+X!(uV`_*2I#Drsy-h-10qU zcsV>N#{pM*Wi#dA`3m}MxbLm({q7TmZNuA8)J!SdXQG(PwT=>;D^CoiE{s}-w<`YD zpL>v2a;P3=P|;=DZjyL|w5Z-Laoym0KDDZyi#qmqygW9~^~CJk=%Q$-llzlGevIqw znE;F+*cs6sy=C&waS&?wXTKc z&SGD7*Ml1uTtK9{FomXar^z{1!-rHw3$g5V`wWpc_qC~=a0A{Mn)TL~sY(Gz=YeaS TfQUalx)LF@jU%Gg%9r>L7XHs2 diff --git a/src/core/server/core_app/assets/favicons/mstile-150x150.png b/src/core/server/core_app/assets/favicons/mstile-150x150.png index b064558a1edaf90e48646952f136e6bfc481382e..32afe9a267e26aa7d95223b6b95a7f7993eb7e7c 100644 GIT binary patch literal 14138 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 literal 1853 zcmdUwSu`668-`=4N+y)ZRBg44Ee&FerA;ZNBq}9H8nyklYC}b3LIQ_WMXn93@vGf%!+$;C9*5@kkH=hM1r2A`YoTI^Fn z=_dcOT%OM?hn&Wu2s@FVz>;A1qP9)YHSrw_uDx?pzG45YL_0G4Ef!FlJB~!XSisdqCP4@T?)x$*ykg zlNV~Z_*x4UA)#A$2{wv zRA;k?QKv;J6UD|Yewq${e0X2&cvtw)#uubeA7hqMLueVoFCRmAqQVL@z1YM6M~Erh z_E_YQ%v}pKOn4GI{w`1Jt`29H2(x$3GBEW#P|mV{njt$Gstg}jnyjM(>Un9{MvvrvAdy7KjY)2 z_ogI^icf3&2lGluAD=*1Tdsmlj($zzG>hii^5=>8f9|l$NlBU0{!3DuZK*-6?Ai`6 z>vcj8O0|~vo0L-R0k1gp{)6N@Iiu9{0=|~#pNzPqc{smvt4Wc~{z)?fYzloxK524J zH+C`m21*q^>k(flmVq2Qe4;VYX_Xa$i(fdd`sS~!GqYYCbFUJJZBHT!TT^0e5!*cH z|3#C9FIf1^%;q$FsW-$utqF3Bro!o&bI@sORnv!(Qc0sN@QO-o|@sV7V1*wSD%3b%j{*A zOIQk=uu{>vPv@r0)={q@-m|x0Z%;k>h%i(e3$BEik5HlL3OhZ&r`z_rXC^B+r8ua2 zgzqpz=6u?|c!b@g+hbRXX6cU!rsJbY?MPqV`nqB?+gjem=j zt%lBitZa$)LbjIO?D-DQ+aJl#%DQ(g#;m#^MsY@08yjhIBb;U1J!RzuoQ zk75=e5FDEkps@2C%gjt+$S;?Azg+@|&Ct$K{iYMXTd%q-E5{*brRZ78^FwprkxTcS zAw@dW*Egszo{)yW@GHNpf%yJ^1v+gN>p~|A~@S;V-qN1u0zn zTSb1u=;GU}#Jyedk=|Ez%%8pH5r2)9zVIF;){<|6qyH#QHcPwVjbv}X{5TRrq(u2y z7+Pa!b9AK7qSrWtM3I9{qlW_A_;x9abzgnS{<^(h^P0ZTNooY>odUu21GU$k7lz@m z%Ra?cdhr~kxTe(?Nb+!VhszDRqwEaSH@3`H1tpp5V|hQy>ffJo&Tb!f5=xc6VSF34*D diff --git a/src/core/server/core_app/assets/favicons/mstile-310x150.png b/src/core/server/core_app/assets/favicons/mstile-310x150.png index d938be9ee0904a091083c9b90552bac06f16de9c..e6d3ee3cce9df2692e7d02beda7cadf42cfbb088 100644 GIT binary patch literal 3411 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 literal 2004 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 diff --git a/src/core/server/core_app/assets/favicons/mstile-70x70.png b/src/core/server/core_app/assets/favicons/mstile-70x70.png index 5155640f09769667081fe8f0232108fad5a22da5..0083278ceb1f40bb7ac98686b12797fc55327c29 100644 GIT binary patch literal 2807 zcmaJ@cUV(*8;wv0VK2)PLr^ve3Cn~bBa9$H2q4q}W?Udbazhf5fK-c!21p}IL`A6r z4nQmlRD~jifGlMxhz3QlR3J!&va0A8tlIC7&+k6>-rso6Iq&=a-t*k&rUwT2C`0w2 z5C}vW?~5bKM(@>U!#deJ9x-}UHt2G^!a2cU6o*G*0T6d8NCsedIw=|;0wii;d^_L_ zfykTCLc%%W1b-|Aq$5bH7zCfrl(8WY=k0tZi4qHNU}PYg#&Chp)ZK-{XjB(?m_5OU z!1M%SXue4-AUG)?gpw3X!BFAbU183AtW1Coa7ZvdJ&wV~@?GE`b+NMf>NXM%`v~F0 zy1@TQDx44q^8{G{%n^aIrr6lnz#K6MfJ#D>ZKFsOD;U}ajY6Vix1%-65sS9PqA;*e z7hD#QMUBD|ao(T8$yP4#7!HStMIw1T9)f3!09nyU6b6Gq+MtnWw6zRj%}!)+NPKGs z+xW8r4q#JQG$w}zGGMEUBr=%5ae>Q{{ig~#^NTEl{pqA+XNKgHm`D`DX0@u%Kmy_a zL+SJ{Xf}rk{G0Fp6lRAcG65tJV1o%PimZ20#;c*2SWgx};()9W5RChLkbyBE2V}>9 zOc>f0fr6QZ(HK;a$2R{+AP}&42Ae}-Pyjs61um07&}dYwBM#$@cK3GhaRU)B4>rG7mZ`>%45vSg5}o&B#)f8LVWXLb6;y0XO=^8*Z-<5@CmNBm+4LLlp- z@i_Mo{uAlm*f_0FE!UfY9p$CksjAPa-PS}_xo&{%Owkgg;50RgvjrWhZW=AH130sW z&FMNT?jFJ|auz6ox#|x0h$>iG&p>{yhXS%Cr*>g&wbK};j+cLW$f=HJ=rsL0DF;dC zIq@DWj~`krJov{0U)Ae(*L>J>D`9adxmf+S03`?#Sm8`AZoa7cwrC^H_@dz((~Hoc z6f^e_6DaCeHMaVkx~;nWH=>F3SKWuY?UQ-hZxlyO#odAdzVR`+-ABR&ucpX#IBCDq zeF0r?UCmUY()b7KV85D|;JJF{K9iQ1hYNGky=#o;^`4vN?cf+{t^U`p&IRx3uAZ*z(T&YrH4oVJ{^G`857B&nY zHy8UT*lmB8)$&rHW0CLBI#d8hkH-mjZTS157WnjWmt$|m=1l8HDyY0sL;sPj-)2k` z%Edxl{kn9}^1F&AaU2snD9|j{xvREyJYF29d3`xTB2l@FF!L}>{y>B(O&^|G+Mx`!TDq|>&P``3 z_1*H{rIQ_ZwfNlNx?r-|LaEx`9Ru?PiGpWvYiW5_vyT)-?yr=t$q{MYNYT}JDKX!* zw|k`U_#Y>fiys$_;Ax^5#r0)Pn@*n}lP_|Mv%NQ~pk-9cQ#F9x+$Ij`V6>Z`@DctA zUzo^*KD3_#*assOUh8jBz^6n9`}mkf5o=YGbQnunLd1Y2L)~`R*I#8mrneaQt60E3 zc}bLEV9=gMZN6#r3x3UMFSKDIqTRQqPWM|Qveo5R9wN_@!|lg}xR-euE&!S94}7y5 z@z8cSc0ML2_}3Tf%z?6a`K|r8-&dH4yV_76&ihWB)Cks1$yY3j8g9wSE?g*jq1xnZ z+$1!AA6WCA-?1x-HJUwsL+I9-mQ?#2clQX!;XYN(eqrMzeP((#HBy8y&FL-4KHp|$ zBcY|Y|J>h{KF2C3@J>dOOYg?+aN zxF_516lK4Bc|q9LS0gSNqNiD!dctnrOXy!A1phF*!!M?g7VBs_K+#RR#jJn&f`3hk zFgRbN{GdMJ5#GCXO(J+(scge;P|lzNeJb}Jny48gC@`tJ#%X&eEs2uMCv z4sCJ|FzggaBdt+C2JHU(q%DsqkB%y~J!~0xkZ`z$24Tb~o7QSlwY>dPbMrI0J9@~E z-{Hf)-x85fEL_NImqbKYl%zin$O^iWdnF>0+1E$dF48QNRJkY5E{J`^Wne@ zV)3~8Tgg#Ige+D)_d;1KEtb0}-Hg7uH;8#P$PUaQpZ-N{zzb_9i&YiM=1E!Yf zvf(O!pNs>_C)YCLXZGy!z?5x0#*K*N`UR9Q4wZNx8#k+)>waV&_d1@mB#xjF?jXI zYxm~Ig7(?stS8Z}U8%j9(2>4|njY4LZEnOTKi}KmQ<2aUoz+wMbo$BFY$`uuLfwLD zgrV0va4FB7ylZxACNlU3aQBweLed2D2dklXTu76@`gv)0mj zWS0Pwy0lF}uza+|!e3Zcm#g3pZK-`A?erD*_`UW>@Ur}^BE5w>tb(Hc6*Hq47YYj! zlE3RB%h!psdgolrH3d5JiIz-1rJ=WiZp|O^l&v;0Gj(ogSG?ex{0{UUUij|eIBSEe zKzAoa)RY{-XaSvg@IjA1@yq$!V5MoxcLpX?xL_}XbhEb);qPZY7oT}9^_-**LFv@8 zD@foNd9teOO@|_h2wKGjS-JLU*^!A2(iuTi`2As;S7)#e*!;ha= zn4I}}I9B+>Cc(MJg_V0vuW_aSNf>aQr?D*#vNvH!?_09&=N82|tP literal 1331 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&Ee-GqaRt)<2R+#F_i-rDp=KpP ze!&cXez3k1;l5e$`jN8qmy6YD7W^Cw+dede*xubS(Npi_@~OtpX7GFB2-}1Ce4G;)Uhe(wbN}i=Pxx}?#U>6nINGs~QhHQquA z8b4aU@XM>L(&A_LFjZu97r7p@;XHFru*kQKE>?f{PICH?(XF#v?&BmA5tC)&DVwGj z-ORj^@}+3^Zas50??sl2y_U;%-$-F~)exH~(~x>~zd(1p(y}kPCq%W2b%N!DU2|UC z7OVO4d6VNzF^xkD@>lWYweNF$`Ap+MZ{9wIL)C>EM}LX8*M~L>-1p&Z4Ozky<@$K} zA5Xo5Zgcd@e*b7%vEXZjh_A~s<)G+<*_Y>*v~4)7TFhuXbF;zXo@wj?VtWGaJp8DW z*l@Dz=>@(=w}PtpdJeB=ne1aYnJM#+)bF+jhFkg`Ful0avSFo5xslTG4Z99rSu8(C z-_?ezBwgj)7hZ#vUk=O_yW!{bzLUL}b(O-SZOj}W-|McF&JIqDS(mUYh--De_{--T zt?VxNvirz-sm}F@F7Z~?4U;ap%oIF-lgIM&k`^=j8UOeE6K)GXb@|4e(s#2<#3xp_ z&#_GuQi(rnZqU2PP3E<8&;e09v+dT&%O`br$cr89*xhkcFWydh>aCLp%H~;dy(;~? zMbXT1?lhdA zy5q^StLJ^M2uR2HdL9wT{4#}e@zRFNb6EBi_g`0Add9``+Q9{uC7YSHw?^kOUb-#48FbRl$c7US8UxWxAeL5ncKfCg)b_$?h@Eq z)Y0E7(8Pj+6144 zs$E=aQ`TR1*{0jdBYTvW_tapw{U3R|Yq_v+u|7a^`Ur8_Tuo%mKqovrSu z>2@vE-eo7YP1bz!s)DWd`$Lt9iDFSykgX6w(8mTkYDK!7biv8fBU?t zv#Zj(UFjIl)T(Sr5oO)d5cm7#`a(xzZ9<$a_tfn>qx#D;cX7$)lNEJ2D_&04=3P4b z)Rco+KUW;+xFqW<8~Q=B*EDjW*2xFbvo|-r+M?kmRa$1Il_vFMMfUewnY?L?SzE!` d`CoB8qu;Hy)pvh$9RU_944$rjF6*2UngA?S#FPL4 diff --git a/src/core/server/core_app/assets/favicons/safari-pinned-tab.svg b/src/core/server/core_app/assets/favicons/safari-pinned-tab.svg index 5f8b7cfd8576..71f62271cac9 100644 --- a/src/core/server/core_app/assets/favicons/safari-pinned-tab.svg +++ b/src/core/server/core_app/assets/favicons/safari-pinned-tab.svg @@ -1 +1,13 @@ - + + + + + + + + + diff --git a/src/core/server/core_app/assets/legacy_light_theme.css b/src/core/server/core_app/assets/legacy_light_theme.css index d4f6d10e7022..54b880044ed7 100644 --- a/src/core/server/core_app/assets/legacy_light_theme.css +++ b/src/core/server/core_app/assets/legacy_light_theme.css @@ -931,7 +931,8 @@ table th[class*="col-"] { .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th { - background-color: #006BB4; + /* Wazuh's color palette */ + background-color: #3595F9; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, @@ -1050,7 +1051,8 @@ table th[class*="col-"] { transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } .form-control:focus { - border-color: #006BB4; + /* Wazuh's color palette */ + border-color: #3595F9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(0, 107, 180, 0.6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(0, 107, 180, 0.6); @@ -1493,7 +1495,8 @@ a.text-danger:focus { color: #e6e6e6; } .bg-info { - background-color: #006BB4; + /* Wazuh's color palette */ + background-color: #3595F9; } a.bg-info:hover, a.bg-info:focus { @@ -1609,9 +1612,10 @@ fieldset[disabled] a.btn { pointer-events: none; } .btn-default { + /* Wazuh's color palette */ color: #FFF; - background-color: #006BB4; - border-color: #006BB4; + background-color: #3595F9; + border-color: #3595F9; } .btn-default:focus, .btn-default.focus { @@ -1658,17 +1662,20 @@ fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus { - background-color: #006BB4; - border-color: #006BB4; + /* Wazuh's color palette */ + background-color: #3595F9; + border-color: #3595F9; } .btn-default .badge { - color: #006BB4; + /* Wazuh's color palette */ + color: #3595F9; background-color: #FFF; } .btn-primary { + /* Wazuh's color palette */ color: #FFF; - background-color: #006BB4; - border-color: #006BB4; + background-color: #3595F9; + border-color: #3595F9; } .btn-primary:focus, .btn-primary.focus { @@ -1715,11 +1722,13 @@ fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus { - background-color: #006BB4; - border-color: #006BB4; + /* Wazuh's color palette */ + background-color: #3595F9; + border-color: #3595F9; } .btn-primary .badge { - color: #006BB4; + /* Wazuh's color palette */ + color: #3595F9; background-color: #FFF; } .btn-xs { @@ -2401,7 +2410,8 @@ button.close { background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); } .progress-bar-info { - background-color: #006BB4; + /* Wazuh's color palette */ + background-color: #3595F9; } .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); @@ -2539,8 +2549,9 @@ button.list-group-item-success.active:focus { border-color: #FFF; } .list-group-item-info { + /* Wazuh's color palette */ color: #FFF; - background-color: #006BB4; + background-color: #3595F9; } a.list-group-item-info, button.list-group-item-info { @@ -2665,8 +2676,9 @@ button.list-group-item-danger.active:focus { .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { + /* Wazuh's color palette */ background-color: #D3DAE6; - border-color: #006BB4; + border-color: #3595F9; } .nav .nav-divider { height: 1px; @@ -2759,8 +2771,9 @@ button.list-group-item-danger.active:focus { .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { + /* Wazuh's color palette */ color: #FFF; - background-color: #006BB4; + background-color: #3595F9; } .nav-stacked > li { float: none; @@ -2869,7 +2882,8 @@ button.list-group-item-danger.active:focus { color: #e6e6e6; } .alert-info { - background-color: #006BB4; + /* Wazuh's color palette */ + background-color: #3595F9; border-color: #004d81; color: #FFF; } @@ -3503,7 +3517,8 @@ select[multiple].input-group-sm > .input-group-addon { padding: 5px 15px; line-height: 1.42857143; text-decoration: none; - color: #006BB4; + /* Wazuh's color palette */ + color: #3595F9; background-color: transparent; border: 1px solid transparent; margin-left: -1px; @@ -3524,7 +3539,8 @@ select[multiple].input-group-sm > .input-group-addon { .pagination > li > a:focus, .pagination > li > span:focus { z-index: 2; - color: #006BB4; + /* Wazuh's color palette */ + color: #3595F9; background-color: rgba(0, 0, 0, 0); border-color: transparent; } @@ -3643,7 +3659,8 @@ a.label:focus { display: none; } .label-default { - background-color: #006BB4; + /* Wazuh's color palette */ + background-color: #3595F9; } .label-default[href]:hover, .label-default[href]:focus { @@ -3664,7 +3681,8 @@ a.label:focus { background-color: #014a44; } .label-info { - background-color: #006BB4; + /* Wazuh's color palette */ + background-color: #3595F9; } .label-info[href]:hover, .label-info[href]:focus { @@ -3977,15 +3995,17 @@ a.label:focus { border-color: #004d81; } .panel-info > .panel-heading { + /* Wazuh's color palette */ color: #FFF; - background-color: #006BB4; + background-color: #3595F9; border-color: #004d81; } .panel-info > .panel-heading + .panel-collapse > .panel-body { border-top-color: #004d81; } .panel-info > .panel-heading .badge { - color: #006BB4; + /* Wazuh's color palette */ + color: #3595F9; background-color: #FFF; } .panel-info > .panel-footer + .panel-collapse > .panel-body { @@ -4305,7 +4325,8 @@ a.label:focus { } .text-info, .text-info:hover { - color: #006BB4; + /* Wazuh's color palette */ + color: #3595F9; } table .success, .table .success, @@ -4428,3 +4449,71 @@ input:focus { -webkit-box-shadow: none; box-shadow: none; } + +/* -------------------------------- WAZUH -------------------------------- */ +.wz-login { + background: url(./wazuh_login_bg.svg) !important; + width: 100% !important; + height: 100% !important; + background-size: cover !important; +} + +.login-wrapper { + text-align: center; + width: 430px!important; + top: 55px; + border-radius: 1px; + padding: 1em; +} + +#opensearch-dashboards-body > div > div.app-wrapper.hidden-chrome > div > div.application > div > ul > div.euiText.euiText--medium > div { + text-align: center; + padding-bottom: 10px; + color: #ffffff !important; + font-size: 35px !important; + font-weight: 300; +} + +#opensearch-dashboards-body > div > div.app-wrapper.hidden-chrome > div > div.application > div > ul > div.euiText.euiText--small > div { + text-align: center; + padding-bottom: 15px; + color: #ffffff !important; + font-size: 16px !important; +} + +#opensearch-dashboards-body > div > div.app-wrapper.hidden-chrome > div > div.application > div > ul > form { + padding: 16px; + box-shadow: 0 2px 2px -1px rgba(152, 162, 179, 0.3), 0 1px 5px -2px rgba(152, 162, 179, 0.3); + background-color: #FFF; + border: 1px solid #D3DAE6; + border-radius: 4px; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + margin-top: 32px; +} + +.loginWelcome__logo { + display: inline-block; + width: 80px; + height: 80px; + line-height: 80px; + text-align: center; + background-color: #FFF; + border-radius: 100%; + padding: 16px; + box-shadow: 0 6px 12px -1px rgba(152, 162, 179, 0.2), 0 4px 4px -1px rgba(152, 162, 179, 0.2), 0 2px 2px 0 rgba(152, 162, 179, 0.2); + margin-bottom: 32px; +} + +div.euiFormRow > div.euiFormRow__fieldWrapper > button { + background-color: #3595F9!important; + border-color: #3595F9!important; + color: #fff; +} + +.loginWelcome__logo { + background: url(./wazuh_logo_circle.svg) center center no-repeat !important; +} + +/* -------------------------------- WAZUH -------------------------------- */ diff --git a/src/core/server/core_app/assets/logos/opensearch_spinner.svg b/src/core/server/core_app/assets/logos/opensearch_spinner.svg deleted file mode 100644 index 98c6f2af6189..000000000000 --- a/src/core/server/core_app/assets/logos/opensearch_spinner.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/core/server/core_app/assets/logos/opensearch_spinner_on_dark.svg b/src/core/server/core_app/assets/logos/opensearch_spinner_on_dark.svg deleted file mode 100644 index 8d2b16595121..000000000000 --- a/src/core/server/core_app/assets/logos/opensearch_spinner_on_dark.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/core/server/core_app/assets/logos/opensearch_spinner_on_light.svg b/src/core/server/core_app/assets/logos/opensearch_spinner_on_light.svg deleted file mode 100644 index 41ab3c960b94..000000000000 --- a/src/core/server/core_app/assets/logos/opensearch_spinner_on_light.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/core/server/core_app/assets/logos/spinner.gif b/src/core/server/core_app/assets/logos/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..de9446f345c623fc814170b89090dfda6974f1fd GIT binary patch literal 357492 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≫hY>;-qb?GKQAP#?20pY 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 KhBOEv=>0E%j(Q>h literal 0 HcmV?d00001 diff --git a/src/core/server/core_app/assets/logos/spinner_on_dark.gif b/src/core/server/core_app/assets/logos/spinner_on_dark.gif new file mode 100644 index 0000000000000000000000000000000000000000..bca3614c2fabef71e10a5a4acfe3c3dd09de4869 GIT binary patch literal 313690 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
EWXIn& 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
Nil=6 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 literal 0 HcmV?d00001 diff --git a/src/core/server/core_app/assets/logos/spinner_on_light.gif b/src/core/server/core_app/assets/logos/spinner_on_light.gif new file mode 100644 index 0000000000000000000000000000000000000000..de9446f345c623fc814170b89090dfda6974f1fd GIT binary patch literal 357492 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≫hY>;-qb?GKQAP#?20pY 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 KhBOEv=>0E%j(Q>h literal 0 HcmV?d00001 diff --git a/src/core/server/core_app/assets/wazuh_login_bg.svg b/src/core/server/core_app/assets/wazuh_login_bg.svg new file mode 100644 index 000000000000..ebe5663263a8 --- /dev/null +++ b/src/core/server/core_app/assets/wazuh_login_bg.svg @@ -0,0 +1,758 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/core/server/core_app/assets/wazuh_logo.svg b/src/core/server/core_app/assets/wazuh_logo.svg new file mode 100644 index 000000000000..b74126093841 --- /dev/null +++ b/src/core/server/core_app/assets/wazuh_logo.svg @@ -0,0 +1,51 @@ + + + + + + Layer 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/core/server/http/__snapshots__/http_service.test.ts.snap b/src/core/server/http/__snapshots__/http_service.test.ts.snap index 037c8990ea77..4d757cce8d5d 100644 --- a/src/core/server/http/__snapshots__/http_service.test.ts.snap +++ b/src/core/server/http/__snapshots__/http_service.test.ts.snap @@ -12,7 +12,7 @@ exports[`spins up notReady server until started if configured with \`autoListen: Object { "body": Array [ Array [ - "OpenSearch Dashboards server is not ready yet", + "Wazuh dashboard server is not ready yet", ], ], "code": Array [ diff --git a/src/core/server/http/http_service.ts b/src/core/server/http/http_service.ts index 8627557c7332..2f2b139880fe 100644 --- a/src/core/server/http/http_service.ts +++ b/src/core/server/http/http_service.ts @@ -198,15 +198,13 @@ export class HttpService path: '/{p*}', method: '*', handler: (req, responseToolkit) => { - this.log.debug( - `OpenSearch Dashboards server is not ready yet ${req.method}:${req.url.href}.` - ); + this.log.debug(`Wazuh dashboard server is not ready yet ${req.method}:${req.url.href}.`); // If server is not ready yet, because plugins or core can perform // long running tasks (build assets, saved objects migrations etc.) // we should let client know that and ask to retry after 30 seconds. return responseToolkit - .response('OpenSearch Dashboards server is not ready yet') + .response('Wazuh dashboard server is not ready yet') .code(503) .header('Retry-After', '30'); }, diff --git a/src/core/server/mocks.ts b/src/core/server/mocks.ts index 2a6114013b22..1e6ab8be6648 100644 --- a/src/core/server/mocks.ts +++ b/src/core/server/mocks.ts @@ -116,6 +116,7 @@ function pluginInitializerContextMock(config: T = {} as T) { buildNum: 100, buildSha: 'buildSha', dist: false, + wazuhVersion: 'wazuhVersion', }, instanceUuid: 'instance-uuid', }, diff --git a/src/core/server/opensearch_dashboards_config.ts b/src/core/server/opensearch_dashboards_config.ts index 107d02ea3377..d6ff51be837a 100644 --- a/src/core/server/opensearch_dashboards_config.ts +++ b/src/core/server/opensearch_dashboards_config.ts @@ -79,7 +79,7 @@ export const config = { defaultValue: '/', }), applicationTitle: schema.string({ - defaultValue: '', + defaultValue: 'Wazuh', }), useExpandedHeader: schema.boolean({ defaultValue: true, diff --git a/src/core/server/plugins/discovery/plugin_manifest_parser.test.ts b/src/core/server/plugins/discovery/plugin_manifest_parser.test.ts index 5ef01f88f3f7..3dedc87479f2 100644 --- a/src/core/server/plugins/discovery/plugin_manifest_parser.test.ts +++ b/src/core/server/plugins/discovery/plugin_manifest_parser.test.ts @@ -45,6 +45,7 @@ const packageInfo = { buildSha: '', version: '7.0.0-alpha1', dist: false, + wazuhVersion: '4.0.0', }; afterEach(() => { diff --git a/src/core/server/plugins/discovery/plugins_discovery.test.ts b/src/core/server/plugins/discovery/plugins_discovery.test.ts index 550acaf3f4f3..adf67dc7dfa5 100644 --- a/src/core/server/plugins/discovery/plugins_discovery.test.ts +++ b/src/core/server/plugins/discovery/plugins_discovery.test.ts @@ -82,6 +82,9 @@ const packageMock = { number: 1, sha: '', }, + wazuh: { + version: '4.x.x', + }, }; const manifestPath = (...pluginPath: string[]) => diff --git a/src/core/server/plugins/integration_tests/plugins_service.test.ts b/src/core/server/plugins/integration_tests/plugins_service.test.ts index ea400ddcd913..89280544ebca 100644 --- a/src/core/server/plugins/integration_tests/plugins_service.test.ts +++ b/src/core/server/plugins/integration_tests/plugins_service.test.ts @@ -106,6 +106,9 @@ describe('PluginsService', () => { number: 100, sha: 'feature-v1-build-sha', }, + wazuh: { + version: '4.x.x', + }, }; const env = Env.createDefault(REPO_ROOT, getEnvOptions()); diff --git a/src/core/server/plugins/plugins_service.test.ts b/src/core/server/plugins/plugins_service.test.ts index 06b12643a64a..f885ac2d7dfa 100644 --- a/src/core/server/plugins/plugins_service.test.ts +++ b/src/core/server/plugins/plugins_service.test.ts @@ -128,6 +128,9 @@ describe('PluginsService', () => { number: 100, sha: 'feature-v1-build-sha', }, + wazuh: { + version: '4.x.x', + }, }; coreId = Symbol('core'); diff --git a/src/core/server/rendering/__snapshots__/rendering_service.test.ts.snap b/src/core/server/rendering/__snapshots__/rendering_service.test.ts.snap index ad92d759a832..97b361a5f286 100644 --- a/src/core/server/rendering/__snapshots__/rendering_service.test.ts.snap +++ b/src/core/server/rendering/__snapshots__/rendering_service.test.ts.snap @@ -6,7 +6,7 @@ Object { "basePath": "/mock-server-basepath", "branch": Any, "branding": Object { - "applicationTitle": "OpenSearch Dashboards", + "applicationTitle": "Wazuh", "assetFolderUrl": "/mock-server-basepath/ui/default_branding", "darkMode": false, "loadingLogo": Object {}, @@ -30,6 +30,7 @@ Object { "buildSha": Any, "dist": Any, "version": Any, + "wazuhVersion": Any, }, }, "i18n": Object { @@ -50,6 +51,7 @@ Object { "uiPlugins": Array [], "vars": Object {}, "version": Any, + "wazuhVersion": "4.9.0", } `; @@ -59,7 +61,7 @@ Object { "basePath": "/mock-server-basepath", "branch": Any, "branding": Object { - "applicationTitle": "OpenSearch Dashboards", + "applicationTitle": "Wazuh", "assetFolderUrl": "/mock-server-basepath/ui/default_branding", "darkMode": false, "loadingLogo": Object {}, @@ -83,6 +85,7 @@ Object { "buildSha": Any, "dist": Any, "version": Any, + "wazuhVersion": Any, }, }, "i18n": Object { @@ -103,6 +106,7 @@ Object { "uiPlugins": Array [], "vars": Object {}, "version": Any, + "wazuhVersion": "4.9.0", } `; @@ -112,7 +116,7 @@ Object { "basePath": "/mock-server-basepath", "branch": Any, "branding": Object { - "applicationTitle": "OpenSearch Dashboards", + "applicationTitle": "Wazuh", "assetFolderUrl": "/mock-server-basepath/ui/default_branding", "darkMode": true, "loadingLogo": Object {}, @@ -136,6 +140,7 @@ Object { "buildSha": Any, "dist": Any, "version": Any, + "wazuhVersion": Any, }, }, "i18n": Object { @@ -156,6 +161,7 @@ Object { "uiPlugins": Array [], "vars": Object {}, "version": Any, + "wazuhVersion": "4.9.0", } `; @@ -165,7 +171,7 @@ Object { "basePath": "/mock-server-basepath", "branch": Any, "branding": Object { - "applicationTitle": "OpenSearch Dashboards", + "applicationTitle": "Wazuh", "assetFolderUrl": "/mock-server-basepath/ui/default_branding", "darkMode": true, "loadingLogo": Object {}, @@ -189,6 +195,7 @@ Object { "buildSha": Any, "dist": Any, "version": Any, + "wazuhVersion": Any, }, }, "i18n": Object { @@ -213,6 +220,7 @@ Object { "uiPlugins": Array [], "vars": Object {}, "version": Any, + "wazuhVersion": "4.9.0", } `; @@ -222,7 +230,7 @@ Object { "basePath": "", "branch": Any, "branding": Object { - "applicationTitle": "OpenSearch Dashboards", + "applicationTitle": "Wazuh", "assetFolderUrl": "/ui/default_branding", "darkMode": false, "loadingLogo": Object {}, @@ -246,6 +254,7 @@ Object { "buildSha": Any, "dist": Any, "version": Any, + "wazuhVersion": Any, }, }, "i18n": Object { @@ -266,6 +275,7 @@ Object { "uiPlugins": Array [], "vars": Object {}, "version": Any, + "wazuhVersion": "4.9.0", } `; @@ -275,7 +285,7 @@ Object { "basePath": "/mock-server-basepath", "branch": Any, "branding": Object { - "applicationTitle": "OpenSearch Dashboards", + "applicationTitle": "Wazuh", "assetFolderUrl": "/mock-server-basepath/ui/default_branding", "darkMode": false, "loadingLogo": Object {}, @@ -299,6 +309,7 @@ Object { "buildSha": Any, "dist": Any, "version": Any, + "wazuhVersion": Any, }, }, "i18n": Object { @@ -319,6 +330,7 @@ Object { "uiPlugins": Array [], "vars": Object {}, "version": Any, + "wazuhVersion": "4.9.0", } `; @@ -328,7 +340,7 @@ Object { "basePath": "/mock-server-basepath", "branch": Any, "branding": Object { - "applicationTitle": "OpenSearch Dashboards", + "applicationTitle": "Wazuh", "assetFolderUrl": "/mock-server-basepath/ui/default_branding", "darkMode": false, "loadingLogo": Object {}, @@ -352,6 +364,7 @@ Object { "buildSha": Any, "dist": Any, "version": Any, + "wazuhVersion": Any, }, }, "i18n": Object { @@ -372,5 +385,6 @@ Object { "uiPlugins": Array [], "vars": Object {}, "version": Any, + "wazuhVersion": "4.9.0", } `; diff --git a/src/core/server/rendering/rendering_service.test.ts b/src/core/server/rendering/rendering_service.test.ts index 5fa7d010989e..fdf1549440f1 100644 --- a/src/core/server/rendering/rendering_service.test.ts +++ b/src/core/server/rendering/rendering_service.test.ts @@ -56,6 +56,7 @@ const INJECTED_METADATA = { buildSha: expect.any(String), dist: expect.any(Boolean), version: expect.any(String), + wazuhVersion: expect.any(String), }, }, }; diff --git a/src/core/server/rendering/rendering_service.tsx b/src/core/server/rendering/rendering_service.tsx index acaee7f42bc5..48b1f6f99721 100644 --- a/src/core/server/rendering/rendering_service.tsx +++ b/src/core/server/rendering/rendering_service.tsx @@ -124,6 +124,7 @@ export class RenderingService { version: env.packageInfo.version, buildNumber: env.packageInfo.buildNum, branch: env.packageInfo.branch, + wazuhVersion: env.packageInfo.wazuhVersion, basePath, serverBasePath, env, diff --git a/src/core/server/rendering/types.ts b/src/core/server/rendering/types.ts index 45821c2b8228..12144ef14bac 100644 --- a/src/core/server/rendering/types.ts +++ b/src/core/server/rendering/types.ts @@ -51,6 +51,7 @@ export interface RenderingMetadata { version: string; buildNumber: number; branch: string; + wazuhVersion: string; basePath: string; serverBasePath: string; env: { diff --git a/src/core/server/rendering/views/__snapshots__/template.test.tsx.snap b/src/core/server/rendering/views/__snapshots__/template.test.tsx.snap index 36d073992ec8..f7b85f7929fe 100644 --- a/src/core/server/rendering/views/__snapshots__/template.test.tsx.snap +++ b/src/core/server/rendering/views/__snapshots__/template.test.tsx.snap @@ -66,7 +66,7 @@ Array [ data="{\\"strictCsp\\":true}" />, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
= ({ theme, darkMode }) => { .osdWelcomeText { display: inline-block; - font-size: 14px; + font-size: 24px; /* Wazuh */ + font-family: sans-serif; line-height: 40px !important; height: 40px !important; color: ${themeDefinition.euiColorDarkShade}; @@ -134,8 +135,8 @@ export const Styles: FunctionComponent = ({ theme, darkMode }) => { } .osdLoaderWrap svg { - width: 64px; - height: 64px; + width: 384px; /* Wazuh */ + height: 112px; /* Wazuh */ margin: auto; line-height: 1; } @@ -147,8 +148,8 @@ export const Styles: FunctionComponent = ({ theme, darkMode }) => { .osdProgress { display: inline-block; position: relative; - width: 32px; - height: 4px; + width: 256px; /* Wazuh */ + height: 10px; overflow: hidden; background-color: ${themeDefinition.euiColorLightestShade}; line-height: 1; @@ -157,7 +158,7 @@ export const Styles: FunctionComponent = ({ theme, darkMode }) => { .osdProgress:before { position: absolute; content: ''; - height: 4px; + height: 10px; /* Wazuh */ width: 100%; top: 0; bottom: 0; @@ -168,8 +169,8 @@ export const Styles: FunctionComponent = ({ theme, darkMode }) => { } .loadingLogoContainer { - height: 80px; - padding: 8px; + height: 150px; /* Wazuh */ + padding: 10px 10px 10px 10px; } .loadingLogo { diff --git a/src/core/server/rendering/views/template.test.tsx b/src/core/server/rendering/views/template.test.tsx index 39a3e1401ea3..dcc571384d72 100644 --- a/src/core/server/rendering/views/template.test.tsx +++ b/src/core/server/rendering/views/template.test.tsx @@ -25,6 +25,7 @@ function mockProps() { version: injectedMetadata.getOpenSearchDashboardsVersion(), buildNumber: 1, branch: injectedMetadata.getBasePath(), + wazuhVersion: injectedMetadata.getWazuhVersion(), basePath: '', serverBasePath: '', env: { @@ -34,6 +35,7 @@ function mockProps() { buildNum: 1, buildSha: '', dist: true, + wazuhVersion: '', }, mode: { name: 'production' as 'development' | 'production', diff --git a/src/core/server/rendering/views/template.tsx b/src/core/server/rendering/views/template.tsx index 8aa7903d8df1..5d3709283bd5 100644 --- a/src/core/server/rendering/views/template.tsx +++ b/src/core/server/rendering/views/template.tsx @@ -154,7 +154,9 @@ export const Template: FunctionComponent = ({ })} > {i18n('core.ui.welcomeMessage', { - defaultMessage: `Loading ${applicationTitle}`, + // Wazuh: change the default message to avoid + // showing the "Loading Wazuh" message twice. + defaultMessage: 'Loading ...', })}
{/* Show a progress bar if a static custom branded logo is used */} diff --git a/src/core/server/status/routes/integration_tests/status.test.ts b/src/core/server/status/routes/integration_tests/status.test.ts index 1045ca939c05..d52c895fa6b6 100644 --- a/src/core/server/status/routes/integration_tests/status.test.ts +++ b/src/core/server/status/routes/integration_tests/status.test.ts @@ -79,6 +79,7 @@ describe('GET /api/status', () => { buildSha: 'xsha', dist: true, version: '9.9.9-SNAPSHOT', + wazuhVersion: '4.2.0', }, serverName: 'xopensearchDashboards', uuid: 'xxxx-xxxxx', diff --git a/src/dev/build/lib/config.ts b/src/dev/build/lib/config.ts index c8750e9234b3..c182b2617dad 100644 --- a/src/dev/build/lib/config.ts +++ b/src/dev/build/lib/config.ts @@ -55,6 +55,7 @@ interface Package { workspaces: { packages: string[]; }; + wazuh: { version: string }; [key: string]: unknown; } diff --git a/src/dev/build/tasks/create_package_json_task.ts b/src/dev/build/tasks/create_package_json_task.ts index 8f9b41738eea..7b8d2a311a0b 100644 --- a/src/dev/build/tasks/create_package_json_task.ts +++ b/src/dev/build/tasks/create_package_json_task.ts @@ -51,6 +51,9 @@ export const CreatePackageJson: Task = { distributable: true, release: config.isRelease, }, + wazuh: { + version: pkg.wazuh.version, + }, repository: pkg.repository, engines: { node: pkg.engines.node, diff --git a/src/dev/precommit_hook/casing_check_config.js b/src/dev/precommit_hook/casing_check_config.js index 53dc1869bd52..eb3ceff6f9e8 100644 --- a/src/dev/precommit_hook/casing_check_config.js +++ b/src/dev/precommit_hook/casing_check_config.js @@ -66,7 +66,7 @@ export const IGNORE_FILE_GLOBS = [ 'packages/opensearch-safer-lodash-set/**/*', // TODO fix file names in APM to remove these - + 'dev-tools/**/*', // packages for the ingest manager's api integration tests could be valid semver which has dashes ]; @@ -102,6 +102,7 @@ export const IGNORE_DIRECTORY_GLOBS = [ 'test/functional/fixtures/opensearch_archiver/visualize_source-filters', 'packages/osd-pm/src/utils/__fixtures__/*', 'src/dev/build/tasks/__fixtures__/*', + 'dev-tools/*', ]; /** diff --git a/src/plugins/advanced_settings/public/management_app/components/call_outs/__snapshots__/call_outs.test.tsx.snap b/src/plugins/advanced_settings/public/management_app/components/call_outs/__snapshots__/call_outs.test.tsx.snap index 1bef984d56dd..c8d90d009555 100644 --- a/src/plugins/advanced_settings/public/management_app/components/call_outs/__snapshots__/call_outs.test.tsx.snap +++ b/src/plugins/advanced_settings/public/management_app/components/call_outs/__snapshots__/call_outs.test.tsx.snap @@ -15,7 +15,7 @@ exports[`CallOuts should render normally 1`] = ` >

diff --git a/src/plugins/advanced_settings/public/management_app/components/call_outs/call_outs.tsx b/src/plugins/advanced_settings/public/management_app/components/call_outs/call_outs.tsx index c2a0d93612f2..efeca4b7cf45 100644 --- a/src/plugins/advanced_settings/public/management_app/components/call_outs/call_outs.tsx +++ b/src/plugins/advanced_settings/public/management_app/components/call_outs/call_outs.tsx @@ -50,11 +50,11 @@ export const CallOuts = () => {

diff --git a/src/plugins/dashboard/public/application/components/dashboard_listing/__snapshots__/dashboard_listing.test.tsx.snap b/src/plugins/dashboard/public/application/components/dashboard_listing/__snapshots__/dashboard_listing.test.tsx.snap index c9ffe147e5f8..eeb457c1daf3 100644 --- a/src/plugins/dashboard/public/application/components/dashboard_listing/__snapshots__/dashboard_listing.test.tsx.snap +++ b/src/plugins/dashboard/public/application/components/dashboard_listing/__snapshots__/dashboard_listing.test.tsx.snap @@ -152,14 +152,14 @@ exports[`dashboard listing hideWriteControls 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -480,6 +480,7 @@ exports[`dashboard listing hideWriteControls 1`] = ` "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -826,6 +827,9 @@ exports[`dashboard listing hideWriteControls 1`] = ` "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { @@ -1284,14 +1288,14 @@ exports[`dashboard listing render table listing with initial filters from URL 1` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -1612,6 +1616,7 @@ exports[`dashboard listing render table listing with initial filters from URL 1` "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -1958,6 +1963,9 @@ exports[`dashboard listing render table listing with initial filters from URL 1` "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { @@ -2477,14 +2485,14 @@ exports[`dashboard listing renders call to action when no dashboards exist 1`] = "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -2805,6 +2813,7 @@ exports[`dashboard listing renders call to action when no dashboards exist 1`] = "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -3151,6 +3160,9 @@ exports[`dashboard listing renders call to action when no dashboards exist 1`] = "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { @@ -3670,14 +3682,14 @@ exports[`dashboard listing renders table rows 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -3998,6 +4010,7 @@ exports[`dashboard listing renders table rows 1`] = ` "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -4344,6 +4357,9 @@ exports[`dashboard listing renders table rows 1`] = ` "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { @@ -4863,14 +4879,14 @@ exports[`dashboard listing renders warning when listingLimit is exceeded 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -5191,6 +5207,7 @@ exports[`dashboard listing renders warning when listingLimit is exceeded 1`] = ` "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -5537,6 +5554,9 @@ exports[`dashboard listing renders warning when listingLimit is exceeded 1`] = ` "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { diff --git a/src/plugins/dashboard/public/application/components/dashboard_top_nav/__snapshots__/dashboard_top_nav.test.tsx.snap b/src/plugins/dashboard/public/application/components/dashboard_top_nav/__snapshots__/dashboard_top_nav.test.tsx.snap index 1954051c9474..f492ce3dd21b 100644 --- a/src/plugins/dashboard/public/application/components/dashboard_top_nav/__snapshots__/dashboard_top_nav.test.tsx.snap +++ b/src/plugins/dashboard/public/application/components/dashboard_top_nav/__snapshots__/dashboard_top_nav.test.tsx.snap @@ -140,14 +140,14 @@ exports[`Dashboard top nav render in embed mode 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -372,6 +372,7 @@ exports[`Dashboard top nav render in embed mode 1`] = ` "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -718,6 +719,9 @@ exports[`Dashboard top nav render in embed mode 1`] = ` "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { @@ -1097,14 +1101,14 @@ exports[`Dashboard top nav render in embed mode, and force hide filter bar 1`] = "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -1329,6 +1333,7 @@ exports[`Dashboard top nav render in embed mode, and force hide filter bar 1`] = "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -1675,6 +1680,9 @@ exports[`Dashboard top nav render in embed mode, and force hide filter bar 1`] = "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { @@ -2054,14 +2062,14 @@ exports[`Dashboard top nav render in embed mode, components can be forced show b "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -2286,6 +2294,7 @@ exports[`Dashboard top nav render in embed mode, components can be forced show b "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -2632,6 +2641,9 @@ exports[`Dashboard top nav render in embed mode, components can be forced show b "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { @@ -3011,14 +3023,14 @@ exports[`Dashboard top nav render in full screen mode with appended URL param bu "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -3243,6 +3255,7 @@ exports[`Dashboard top nav render in full screen mode with appended URL param bu "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -3589,6 +3602,9 @@ exports[`Dashboard top nav render in full screen mode with appended URL param bu "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { @@ -3968,14 +3984,14 @@ exports[`Dashboard top nav render in full screen mode, no componenets should be "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -4200,6 +4216,7 @@ exports[`Dashboard top nav render in full screen mode, no componenets should be "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -4546,6 +4563,9 @@ exports[`Dashboard top nav render in full screen mode, no componenets should be "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { @@ -4925,14 +4945,14 @@ exports[`Dashboard top nav render with all components 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -5157,6 +5177,7 @@ exports[`Dashboard top nav render with all components 1`] = ` "docLinks": Object { "DOC_LINK_VERSION": "mocked-test-branch", "OPENSEARCH_WEBSITE_URL": "https://opensearch.org/", + "WAZUH_DOC_VERSION": "4.x", "links": Object { "noDocumentation": Object { "addData": "https://opensearch.org/docs/mocked-test-branch", @@ -5503,6 +5524,9 @@ exports[`Dashboard top nav render with all components 1`] = ` "guide": "https://opensearch.org/docs/mocked-test-branchvisualize/viz-index/", }, }, + "wazuh": Object { + "index": "https://documentation.wazuh.com/4.x/index.html", + }, }, }, "embeddable": Object { diff --git a/src/plugins/home/opensearch_dashboards.json b/src/plugins/home/opensearch_dashboards.json index 40351c0dd83c..35a81bc7adb9 100644 --- a/src/plugins/home/opensearch_dashboards.json +++ b/src/plugins/home/opensearch_dashboards.json @@ -6,6 +6,6 @@ "requiredPlugins": ["data", "urlForwarding"], "optionalPlugins": ["usageCollection", "telemetry", "dataSource"], "requiredBundles": [ - "opensearchDashboardsReact", "dataSourceManagement" + "opensearchDashboardsReact" ] } diff --git a/src/plugins/home/public/application/components/__snapshots__/home.test.js.snap b/src/plugins/home/public/application/components/__snapshots__/home.test.js.snap index 31df3b66efb5..ecf88b90b6bd 100644 --- a/src/plugins/home/public/application/components/__snapshots__/home.test.js.snap +++ b/src/plugins/home/public/application/components/__snapshots__/home.test.js.snap @@ -26,12 +26,6 @@ exports[`home change home route should render a link to change the default route - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ +`; + +exports[`home welcome stores skip welcome setting if skipped 1`] = ` +
+ + } + /> +
+ - - - - diff --git a/src/plugins/home/public/application/components/home.test.js b/src/plugins/home/public/application/components/home.test.js index 0c0953dbd63f..6bdd659e5f7c 100644 --- a/src/plugins/home/public/application/components/home.test.js +++ b/src/plugins/home/public/application/components/home.test.js @@ -90,7 +90,7 @@ describe('home', () => { expect(path).toMatch(/home:(welcome|newThemeModal):show/); return 'false'; }), - setItem: sinon.mock(), + setItem: jest.fn(), }, urlBasePath: 'goober', onOptInSeen() { @@ -305,23 +305,20 @@ describe('home', () => { expect(component).toMatchSnapshot(); }); - - test('stores skip welcome setting if skipped', async () => { + // Skip test because it is not used in Wazuh dashboards + test.skip('stores skip welcome setting if skipped', async () => { defaultProps.localStorage.getItem = sinon.spy(() => 'true'); const component = await renderHome({ find: () => Promise.resolve({ total: 0 }), }); - component.instance().skipWelcome(); - component.update(); - sinon.assert.calledWith(defaultProps.localStorage.setItem, 'home:welcome:show', 'false'); expect(component).toMatchSnapshot(); }); - - test('should show the normal home page if loading fails', async () => { + // Skip test because it is not used in Wazuh dashboards + test.skip('should show the normal home page if loading fails', async () => { defaultProps.localStorage.getItem = sinon.spy(() => 'true'); const component = await renderHome({ @@ -376,7 +373,7 @@ describe('home', () => { sinon.assert.calledWith(defaultProps.localStorage.getItem, 'home:newThemeModal:show'); - expect(component.find(NewThemeModal).exists()).toBeTruthy(); + expect(component.find(NewThemeModal).exists()).toBeFalsy(); expect(component).toMatchSnapshot(); }); test('should not show the new theme modal if v7 theme in use', async () => { diff --git a/src/plugins/home/public/application/components/home_app.js b/src/plugins/home/public/application/components/home_app.js index 4e8dd16dd998..ac10eeedb454 100644 --- a/src/plugins/home/public/application/components/home_app.js +++ b/src/plugins/home/public/application/components/home_app.js @@ -33,11 +33,7 @@ import { I18nProvider } from '@osd/i18n/react'; import PropTypes from 'prop-types'; import { Home } from './home'; import { FeatureDirectory } from './feature_directory'; -import { TutorialDirectory } from './tutorial_directory'; -import { Tutorial } from './tutorial/tutorial'; import { HashRouter as Router, Switch, Route } from 'react-router-dom'; -import { getTutorial } from '../load_tutorials'; -import { replaceTemplateStrings } from './tutorial/replace_template_strings'; import { getServices } from '../opensearch_dashboards_services'; import { useMount } from 'react-use'; @@ -50,45 +46,12 @@ const RedirectToDefaultApp = () => { }; export function HomeApp({ directories, solutions }) { - const { - savedObjectsClient, - getBasePath, - addBasePath, - environmentService, - telemetry, - } = getServices(); - const environment = environmentService.getEnvironment(); - const isCloudEnabled = environment.cloud; - - const renderTutorialDirectory = (props) => { - return ( - - ); - }; - - const renderTutorial = (props) => { - return ( - - ); - }; + const { savedObjectsClient, getBasePath, addBasePath, telemetry } = getServices(); return ( - - diff --git a/src/plugins/home/public/application/components/solutions_section/__snapshots__/solution_title.test.tsx.snap b/src/plugins/home/public/application/components/solutions_section/__snapshots__/solution_title.test.tsx.snap index c88537eac658..4c4943d47882 100644 --- a/src/plugins/home/public/application/components/solutions_section/__snapshots__/solution_title.test.tsx.snap +++ b/src/plugins/home/public/application/components/solutions_section/__snapshots__/solution_title.test.tsx.snap @@ -11,7 +11,7 @@ exports[`SolutionTitle renders correctly by default 1`] = ` diff --git a/src/plugins/home/public/application/components/solutions_section/solution_title.test.tsx b/src/plugins/home/public/application/components/solutions_section/solution_title.test.tsx index 9d8f7662f8fb..132159b8e784 100644 --- a/src/plugins/home/public/application/components/solutions_section/solution_title.test.tsx +++ b/src/plugins/home/public/application/components/solutions_section/solution_title.test.tsx @@ -64,7 +64,7 @@ describe('SolutionTitle ', () => { expect(elements.length).toEqual(1); const img = elements.first(); - expect(img.prop('iconType')).toEqual(props.logos.Mark.url); + expect(img.prop('iconType')).toEqual('/ui/favicons/safari-pinned-tab.svg'); const titles = component.find('EuiTitle > h3'); expect(titles.length).toEqual(1); diff --git a/src/plugins/home/public/application/components/solutions_section/solution_title.tsx b/src/plugins/home/public/application/components/solutions_section/solution_title.tsx index f2a7af96d715..a0254d4cc142 100644 --- a/src/plugins/home/public/application/components/solutions_section/solution_title.tsx +++ b/src/plugins/home/public/application/components/solutions_section/solution_title.tsx @@ -76,8 +76,9 @@ export const SolutionTitle: FC = ({ subtitle, branding, logos }) => ( />
) : ( + // Wazuh logo in the overview card { category: 'data', icon: 'indexOpen', id: 'home_tutorial_directory', - showOnHomePage: true, + showOnHomePage: false, }) ); }); diff --git a/src/plugins/home/public/plugin.ts b/src/plugins/home/public/plugin.ts index 1538156a801e..db0c3e18b117 100644 --- a/src/plugins/home/public/plugin.ts +++ b/src/plugins/home/public/plugin.ts @@ -133,7 +133,8 @@ export class HomePublicPlugin urlForwarding.forwardApp('home', 'home'); const featureCatalogue = { ...this.featuresCatalogueRegistry.setup() }; - + // Disable sample data in home/view app directory + // To activate it again, remove visible() and change showOnHomePage to true. featureCatalogue.register({ id: 'home_tutorial_directory', title: i18n.translate('home.tutorialDirectory.featureCatalogueTitle', { @@ -143,9 +144,12 @@ export class HomePublicPlugin defaultMessage: 'Get started with sample data, visualizations, and dashboards.', }), icon: 'indexOpen', - showOnHomePage: true, + showOnHomePage: false, path: `${HOME_APP_BASE_PATH}#/tutorial_directory`, category: 'data' as FeatureCatalogueCategory.DATA, + visible() { + return false; + }, order: 500, }); diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/__snapshots__/empty_state.test.tsx.snap b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/__snapshots__/empty_state.test.tsx.snap index a617fa0511e2..8a36dc08a89e 100644 --- a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/__snapshots__/empty_state.test.tsx.snap +++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/__snapshots__/empty_state.test.tsx.snap @@ -29,35 +29,7 @@ exports[`EmptyState should render normally 1`] = ` className="inpEmptyState__cardGrid" columns={3} responsive={true} - > - - - } - icon={ - - } - onClick={[Function]} - title={ - - } - /> - - + /> diff --git a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.tsx b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.tsx index 96862e59ffa5..4a1d7f518e05 100644 --- a/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.tsx +++ b/src/plugins/index_pattern_management/public/components/index_pattern_table/empty_state/empty_state.tsx @@ -172,25 +172,6 @@ export const EmptyState = ({ /> */} {getMlCardState() !== MlCardState.HIDDEN ? mlCard : <>} - - navigateToApp('home', { path: '#/tutorial_directory/sampleData' })} - icon={} - title={ - - } - description={ - - } - /> -
diff --git a/src/plugins/management/public/components/landing/landing.tsx b/src/plugins/management/public/components/landing/landing.tsx index 5557eb7e9019..5ec74dc538bc 100644 --- a/src/plugins/management/public/components/landing/landing.tsx +++ b/src/plugins/management/public/components/landing/landing.tsx @@ -68,7 +68,7 @@ export const ManagementLandingPage = ({ setBreadcrumbs }: ManagementLandingPageP
diff --git a/src/plugins/opensearch_dashboards_overview/common/index.ts b/src/plugins/opensearch_dashboards_overview/common/index.ts index 79a90f2794c1..69c0977dce5e 100644 --- a/src/plugins/opensearch_dashboards_overview/common/index.ts +++ b/src/plugins/opensearch_dashboards_overview/common/index.ts @@ -30,5 +30,5 @@ export const PLUGIN_ID = 'opensearchDashboardsOverview'; export const PLUGIN_NAME = 'Overview'; -export const PLUGIN_PATH = `/app/opensearch_dashboards_overview`; +export const PLUGIN_PATH = `/app/home/`; export const PLUGIN_ICON = 'inputOutput'; diff --git a/src/plugins/opensearch_dashboards_overview/public/components/getting_started/__snapshots__/getting_started.test.tsx.snap b/src/plugins/opensearch_dashboards_overview/public/components/getting_started/__snapshots__/getting_started.test.tsx.snap index 9df3bb12caec..f2a26c2fa3b1 100644 --- a/src/plugins/opensearch_dashboards_overview/public/components/getting_started/__snapshots__/getting_started.test.tsx.snap +++ b/src/plugins/opensearch_dashboards_overview/public/components/getting_started/__snapshots__/getting_started.test.tsx.snap @@ -168,19 +168,6 @@ exports[`GettingStarted dark mode on 1`] = ` - - - - -
- - - - -
= ({ addBasePath, isDarkTheme, apps }) => - - - - - -
diff --git a/src/plugins/opensearch_dashboards_overview/public/components/overview/__snapshots__/overview.test.tsx.snap b/src/plugins/opensearch_dashboards_overview/public/components/overview/__snapshots__/overview.test.tsx.snap index 1619a4fea3ff..88aa7cbffce9 100644 --- a/src/plugins/opensearch_dashboards_overview/public/components/overview/__snapshots__/overview.test.tsx.snap +++ b/src/plugins/opensearch_dashboards_overview/public/components/overview/__snapshots__/overview.test.tsx.snap @@ -970,14 +970,14 @@ exports[`Overview renders with news, solutions, and features 1`] = ` "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -1317,7 +1317,7 @@ exports[`Overview renders with news, solutions, and features 1`] = ` ], } } - path="/app/opensearch_dashboards_overview" + path="/app/home/" />
@@ -1455,14 +1455,14 @@ exports[`Overview renders with news, with solutions, and without features 1`] = "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -1858,7 +1858,7 @@ exports[`Overview renders with news, with solutions, and without features 1`] = ], } } - path="/app/opensearch_dashboards_overview" + path="/app/home/" />
@@ -1940,14 +1940,14 @@ exports[`Overview renders with news, without solutions, and with features 1`] = "AnimatedMark": Object { "dark": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_dark.svg", + "url": "/ui/logos/spinner_on_dark.gif", }, "light": Object { "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "type": "default", - "url": "/ui/logos/opensearch_spinner_on_light.svg", + "url": "/ui/logos/spinner_on_light.gif", }, "Application": Object { "dark": Object { @@ -2094,75 +2094,6 @@ exports[`Overview renders with news, without solutions, and with features 1`] = - - -
diff --git a/src/plugins/opensearch_dashboards_overview/public/components/overview/overview.tsx b/src/plugins/opensearch_dashboards_overview/public/components/overview/overview.tsx index 30df4dbe8146..6cfcc7ec4f29 100644 --- a/src/plugins/opensearch_dashboards_overview/public/components/overview/overview.tsx +++ b/src/plugins/opensearch_dashboards_overview/public/components/overview/overview.tsx @@ -56,7 +56,6 @@ import { } from '../../../../../../src/plugins/home/public'; import { PLUGIN_ID, PLUGIN_PATH } from '../../../common'; import { AppPluginStartDependencies } from '../../types'; -import { AddData } from '../add_data'; import { GettingStarted } from '../getting_started'; import { ManageData } from '../manage_data'; import { NewsFeed } from '../news_feed'; @@ -264,10 +263,6 @@ export const Overview: FC = ({ newsFetchResult, solutions, features, logo : 'osdOverviewData--expanded' }`} > - - - - diff --git a/src/plugins/opensearch_dashboards_overview/public/plugin.ts b/src/plugins/opensearch_dashboards_overview/public/plugin.ts index e38282ff06d6..d8ac61c6d7e2 100644 --- a/src/plugins/opensearch_dashboards_overview/public/plugin.ts +++ b/src/plugins/opensearch_dashboards_overview/public/plugin.ts @@ -77,13 +77,13 @@ export class OpenSearchDashboardsOverviewPlugin return hasOpenSearchDashboardsApp; }), distinct(), - map((hasOpenSearchDashboardsApp) => { + map(() => { return () => { - if (!hasOpenSearchDashboardsApp) { - return { status: AppStatus.inaccessible, navLinkStatus: AppNavLinkStatus.hidden }; - } else { - return { status: AppStatus.accessible, navLinkStatus: AppNavLinkStatus.default }; - } + // Wazuh: Hide the OpenSearch Dashboards Overview app + return { + status: AppStatus.inaccessible, + navLinkStatus: AppNavLinkStatus.hidden, + }; }; }) ); diff --git a/src/plugins/opensearch_dashboards_react/public/overview_page/overview_page_header/overview_page_header.test.tsx b/src/plugins/opensearch_dashboards_react/public/overview_page/overview_page_header/overview_page_header.test.tsx index 2e27ebd0cb6b..11983e7b067d 100644 --- a/src/plugins/opensearch_dashboards_react/public/overview_page/overview_page_header/overview_page_header.test.tsx +++ b/src/plugins/opensearch_dashboards_react/public/overview_page/overview_page_header/overview_page_header.test.tsx @@ -121,8 +121,8 @@ describe('OverviewPageHeader ', () => { expect(head.length).toBe(1); expect(head.first().text()).toEqual(mockTitle); }); - - it('renders with the toolbar by default', () => { + // Skip test because it is not used in Wazuh dashboards + it.skip('renders with the toolbar by default', () => { const props = { ...mockProps(), }; @@ -141,8 +141,8 @@ describe('OverviewPageHeader ', () => { // Would contain only the "Add Data" button expect(component).toMatchSnapshot(); }); - - it('renders with the toolbar when it is explicitly asked not to be hidden', () => { + // Skip test because it is not used in Wazuh dashboards + it.skip('renders with the toolbar when it is explicitly asked not to be hidden', () => { const props = { ...mockProps(), hideToolbar: false, diff --git a/src/plugins/opensearch_dashboards_react/public/overview_page/overview_page_header/overview_page_header.tsx b/src/plugins/opensearch_dashboards_react/public/overview_page/overview_page_header/overview_page_header.tsx index a636f7ecdb7d..8208b851a8a1 100644 --- a/src/plugins/opensearch_dashboards_react/public/overview_page/overview_page_header/overview_page_header.tsx +++ b/src/plugins/opensearch_dashboards_react/public/overview_page/overview_page_header/overview_page_header.tsx @@ -111,24 +111,6 @@ export const OverviewPageHeader: FC = ({ {!hideToolbar && ( - - - - {i18n.translate( - 'opensearch-dashboards-react.osdOverviewPageHeader.addDataButtonLabel', - { - defaultMessage: 'Add data', - } - )} - - - - {showManagementLink && isManagementEnabled ? ( diff --git a/test/functional/apps/home/_sample_data.ts b/test/functional/apps/home/_sample_data.ts index a790a884ccbe..17804a9bd3d4 100644 --- a/test/functional/apps/home/_sample_data.ts +++ b/test/functional/apps/home/_sample_data.ts @@ -42,7 +42,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const dashboardExpect = getService('dashboardExpect'); const PageObjects = getPageObjects(['common', 'header', 'home', 'dashboard', 'timePicker']); - describe('sample data', function describeIndexTests() { + /** + * This test suite is skipped because the seccion of the sample data set is not available in the UI. + */ + describe.skip('sample data', function describeIndexTests() { before(async () => { await security.testUser.setRoles([ 'opensearch_dashboards_admin', diff --git a/test/functional/apps/visualize/_custom_branding.ts b/test/functional/apps/visualize/_custom_branding.ts index 37f07e932ee5..9b161da01718 100644 --- a/test/functional/apps/visualize/_custom_branding.ts +++ b/test/functional/apps/visualize/_custom_branding.ts @@ -28,7 +28,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const expectedWelcomeMessage = 'Welcome to OpenSearch'; describe('OpenSearch Dashboards branding configuration', function customHomeBranding() { - describe('should render overview page', async () => { + /** + * This test is skipped because the overview page is not available. + */ + describe.skip('should render overview page', async () => { this.tags('includeFirefox'); before(async function () { @@ -81,7 +84,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); - it('with customized logo', async () => { + /** + * This test is omitted because the welcome page has been removed. + */ + it.skip('with customized logo', async () => { await testSubjects.existOrFail('welcomeCustomLogo'); const actualLabel = await testSubjects.getAttribute( 'welcomeCustomLogo', @@ -90,7 +96,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(actualLabel.toUpperCase()).to.equal(expectedMarkLogo.toUpperCase()); }); - it('with customized title', async () => { + it.skip('with customized title', async () => { await testSubjects.existOrFail('welcomeCustomTitle'); const actualLabel = await testSubjects.getAttribute( 'welcomeCustomTitle', @@ -99,7 +105,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(actualLabel.toUpperCase()).to.equal(expectedWelcomeMessage.toUpperCase()); }); - it('with customized logo in dark mode', async () => { + it.skip('with customized logo in dark mode', async () => { await PageObjects.common.navigateToApp('management/opensearch-dashboards/settings'); await PageObjects.settings.toggleAdvancedSettingCheckbox('theme:darkMode'); await PageObjects.common.navigateToApp('home');