Skip to content

Commit

Permalink
Merge branch 'main' into feat/add-user-chrome
Browse files Browse the repository at this point in the history
Signed-off-by: Miki <[email protected]>
  • Loading branch information
AMoo-Miki authored Feb 8, 2024
2 parents ab521c4 + e13dbff commit ccf1b61
Show file tree
Hide file tree
Showing 207 changed files with 5,446 additions and 1,486 deletions.
3 changes: 1 addition & 2 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ target
# plugin overrides
/src/core/lib/osd_internal_native_observable
/src/legacy/plugin_discovery/plugin_pack/__tests__/fixtures/plugins/broken
/src/plugins/data/common/opensearch_query/kuery/ast/_generated_/**
/src/plugins/vis_type_timeline/public/_generated_/**
/src/plugins/**/_generated_/**

# package overrides
/packages/opensearch-eslint-config-opensearch-dashboards
Expand Down
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1 +1 @@
* @ananzh @kavilla @seanneumann @AMoo-Miki @ashwin-pc @joshuarrrr @abbyhu2000 @zengyan-amazon @kristenTian @zhongnansu @manasvinibs @ZilongX @Flyingliuhub @BSFishy @curq @bandinib-amzn @SuZhou-Joe
* @ananzh @kavilla @AMoo-Miki @ashwin-pc @joshuarrrr @abbyhu2000 @zengyan-amazon @kristenTian @zhongnansu @manasvinibs @ZilongX @Flyingliuhub @BSFishy @curq @bandinib-amzn @SuZhou-Joe
2 changes: 1 addition & 1 deletion .node-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.16.0
18.19.0
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.16.0
18.19.0
34 changes: 33 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,37 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

### Deprecations

- Rename `withLongNumerals` to `withLongNumeralsSupport` in `HttpFetchOptions` [#5592](https:/opensearch-project/OpenSearch-Dashboards/pull/5592)

### 🛡 Security

- [WS-2021-0638] Bump mocha from `7.2.0` to `10.1.0` ([#2711](https:/opensearch-project/OpenSearch-Dashboards/pull/2711))
- Add support for TLS v1.3 ([#5133](https:/opensearch-project/OpenSearch-Dashboards/pull/5133))
- [CVE-2023-45133] Bump all babel dependencies from `7.16.x` to `7.22.9` to fix upstream vulnerability ([#5428](https:/opensearch-project/OpenSearch-Dashboards/pull/5428))
- [CVE-2023-45857] Bump `axios` from `0.27.2` to `1.6.1` ([#5470](https:/opensearch-project/OpenSearch-Dashboards/pull/5470))
- [CVE-2023-26159] Bump `follow-redirects` from `1.15.2` to `1.15.4` ([#5669](https:/opensearch-project/OpenSearch-Dashboards/pull/5669))
- [CVE-2023-52079] Bump `msgpackr` from `1.9.7` to `1.10.1` ([#5803](https:/opensearch-project/OpenSearch-Dashboards/pull/5803))
- [CVE-2020-8203] Bump `cheerio` from `0.22.0` to `1.0.0-rc.1` to fix vulnerable `lodash` dependency ([#5797](https:/opensearch-project/OpenSearch-Dashboards/pull/5797))

### 📈 Features/Enhancements

- Add support for read-only mode through tenants ([#4498](https:/opensearch-project/OpenSearch-Dashboards/pull/4498))
- Replace OuiSelect component with OuiSuperSelect in data-source plugin ([#5315](https:/opensearch-project/OpenSearch-Dashboards/pull/5315))
- [Workspace] Add core workspace service module to enable the implementation of workspace features within OSD plugins ([#5092](https:/opensearch-project/OpenSearch-Dashboards/pull/5092))
- [Workspace] Setup workspace skeleton and implement basic CRUD API ([#5075](https:/opensearch-project/OpenSearch-Dashboards/pull/5075))
- [Decouple] Add new cross compatibility check core service which export functionality for plugins to verify if their OpenSearch plugin counterpart is installed on the cluster or has incompatible version to configure the plugin behavior([#4710](https:/opensearch-project/OpenSearch-Dashboards/pull/4710))
- [Discover] Add long numerals support [#5592](https:/opensearch-project/OpenSearch-Dashboards/pull/5592)
- [Discover] Display inner properties in the left navigation bar [#5429](https:/opensearch-project/OpenSearch-Dashboards/pull/5429)
- [Discover] Added customizable pagination options based on Discover UI settings [#5610](https:/opensearch-project/OpenSearch-Dashboards/pull/5610)
- [Chrome] Introduce registerCollapsibleNavHeader to allow plugins to customize the rendering of nav menu header ([#5244](https:/opensearch-project/OpenSearch-Dashboards/pull/5244))
- [PM] Enhance single version requirements imposed during bootstrapping ([#5675](https:/opensearch-project/OpenSearch-Dashboards/pull/5675))
- [Custom Branding] Relative URL should be allowed for logos ([#5572](https:/opensearch-project/OpenSearch-Dashboards/pull/5572))
- [Theme] Make theme and dark mode settings device specific (in local storage) ([#5652](https:/opensearch-project/OpenSearch-Dashboards/pull/5652))
- Revert to legacy discover table and add toggle to new discover table ([#5789](https:/opensearch-project/OpenSearch-Dashboards/pull/5789))
- [Discover] Add collapsible and resizeable sidebar ([#5789](https:/opensearch-project/OpenSearch-Dashboards/pull/5789))
- [Discover] Enhanced the data source selector with added sorting functionality ([#5609](https:/opensearch-project/OpenSearch-Dashboards/issues/5609))
- [Multiple Datasource] Add datasource picker component and use it in devtools and tutorial page when multiple datasource is enabled ([#5756](https:/opensearch-project/OpenSearch-Dashboards/pull/5756))
- [Multiple Datasource] Add datasource picker to import saved object flyout when multiple data source is enabled ([#5781](https:/opensearch-project/OpenSearch-Dashboards/pull/5781))

### 🐛 Bug Fixes

Expand All @@ -41,7 +55,18 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- [BUG][Data] Fix empty suggestion history when querying in search bar [#5349](https:/opensearch-project/OpenSearch-Dashboards/pull/5349)
- [BUG][Discover] Fix what is displayed in `selected fields` when removing columns from canvas [#5537](https:/opensearch-project/OpenSearch-Dashboards/pull/5537)
- [BUG][Discover] Fix advanced setting `discover:modifyColumnsOnSwitch` ([#5508](https:/opensearch-project/OpenSearch-Dashboards/pull/5508))
- [BUG][Discover] Show 0 filters when there are no active filters ([#5508](https:/opensearch-project/OpenSearch-Dashboards/pull/5508))
- [Discover] Fix missing index pattern field from breaking Discover [#5626](https:/opensearch-project/OpenSearch-Dashboards/pull/5626)
- [BUG][Discover] Fix Discover table panel not adjusting its size automatically when the time range changes ([#5789](https:/opensearch-project/OpenSearch-Dashboards/pull/5789))
- [BUG] Fix issue where changing from a search with few results to a search with more results keeps the number of rows from the previous search ([#5789](https:/opensearch-project/OpenSearch-Dashboards/pull/5789))
- [BUG] Fix copying data from columns in Discover including extra data ([#5789](https:/opensearch-project/OpenSearch-Dashboards/pull/5789))
- [BUG] Fix no line wrapping when displaying fields in Discover datagrid ([#5789](https:/opensearch-project/OpenSearch-Dashboards/pull/5789))
- [BUG] Fix 'truncate:maxHeight' not working in Discover since 2.10.0 ([#5789](https:/opensearch-project/OpenSearch-Dashboards/pull/5789))
- [BUG] Fix UI glitch when mouseover Discover datagrid element ([#5789](https:/opensearch-project/OpenSearch-Dashboards/pull/5789))
- [BUG] Remove duplicate sample data as id 90943e30-9a47-11e8-b64d-95841ca0b247 ([5668](https:/opensearch-project/OpenSearch-Dashboards/pull/5668))
- [BUG][Multiple Datasource] Fix datasource testing connection unexpectedly passed with wrong endpoint [#5663](https:/opensearch-project/OpenSearch-Dashboards/pull/5663)
- [Table Visualization] Fix filter action buttons for split table aggregations ([#5619](https:/opensearch-project/OpenSearch-Dashboards/pull/5619))
- [BUG][Multiple Datasource] Datasource id is required if multiple datasource is enabled and no default cluster supported [#5751](https:/opensearch-project/OpenSearch-Dashboards/pull/5751)

### 🚞 Infrastructure

Expand All @@ -51,6 +76,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- [CI] Enable inputs for manually triggered Cypress test jobs ([#5134](https:/opensearch-project/OpenSearch-Dashboards/pull/5134))
- [CI] Replace usage of deprecated `set-output` in workflows ([#5340](https:/opensearch-project/OpenSearch-Dashboards/pull/5340))
- [Chore] Add `--security` for `opensearch snapshot` and `opensearch_dashboards` to configure local setup with the security plugin ([#5451](https:/opensearch-project/OpenSearch-Dashboards/pull/5451))
- [Chore] Updates default dev environment security credentials ([#5736](https:/opensearch-project/OpenSearch-Dashboards/pull/5736))

### 📝 Documentation

Expand All @@ -67,13 +93,17 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- Replace `node-sass` with `sass-embedded` ([#5338](https:/opensearch-project/OpenSearch-Dashboards/pull/5338))
- Bump `chromedriver` from `107.0.3` to `119.0.1` ([#5465](https:/opensearch-project/OpenSearch-Dashboards/pull/5465))
- Bump `typescript` resolution from `4.0.2` to `4.6.4` ([#5470](https:/opensearch-project/OpenSearch-Dashboards/pull/5470))
- Add @SuZhou-Joe as a maintainer. ([#5594](https:/opensearch-project/OpenSearch-Dashboards/pull/5594))
- Bump `OUI` to `1.4.0` ([#5637](https:/opensearch-project/OpenSearch-Dashboards/pull/5637))
- Add @SuZhou-Joe as a maintainer ([#5594](https:/opensearch-project/OpenSearch-Dashboards/pull/5594))
- Move @seanneumann to emeritus maintainer ([#5634](https:/opensearch-project/OpenSearch-Dashboards/pull/5634))
- Remove `ui-select` dev dependency ([#5660](https:/opensearch-project/OpenSearch-Dashboards/pull/5660))

### 🪛 Refactoring

- [Console] Remove unused ul element and its custom styling ([#3993](https:/opensearch-project/OpenSearch-Dashboards/pull/3993))
- Remove unused Sass in `tile_map` plugin ([#4110](https:/opensearch-project/OpenSearch-Dashboards/pull/4110))
- [Home] Remove unused tutorials ([#5212](https:/opensearch-project/OpenSearch-Dashboards/pull/5212))
- [UiSharedDeps] Standardize theme JSON imports to be light/dark-mode aware ([#5662](https:/opensearch-project/OpenSearch-Dashboards/pull/5662))

### 🔩 Tests

Expand Down Expand Up @@ -214,6 +244,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- Bump OpenSearch-Dashboards 2.10.0 to use nodejs 18.16.0 version ([#4948](https:/opensearch-project/OpenSearch-Dashboards/pull/4948))
- Bump `oui` to `1.3.0` ([#4941](https:/opensearch-project/OpenSearch-Dashboards/pull/4941))
- Add @curq as maintainer ([#4760](https:/opensearch-project/OpenSearch-Dashboards/pull/4760))
- Bump OpenSearch Dashboards to use nodejs v18.19.0 ([#4948](https:/opensearch-project/OpenSearch-Dashboards/pull/5830))

### 🪛 Refactoring

Expand Down Expand Up @@ -326,6 +357,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- [Dashboard De-Angular] Add more unit tests for utils folder ([#4641](https:/opensearch-project/OpenSearch-Dashboards/pull/4641))
- [Dashboard De-Angular] Add unit tests for dashboard_listing and dashboard_top_nav ([#4640](https:/opensearch-project/OpenSearch-Dashboards/pull/4640))
- Optimize `augment-vis` saved obj searching by adding arg to saved obj client ([#4595](https:/opensearch-project/OpenSearch-Dashboards/pull/4595))
- Change SavedObjects' Import API to allow selecting a data source when uploading files ([#5777](https:/opensearch-project/OpenSearch-Dashboards/pull/5777))

### 🐛 Bug Fixes

Expand Down
35 changes: 17 additions & 18 deletions DEVELOPER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ For windows:
$ wsl -d docker-desktop
$ sysctl -w vm.max_map_count=262144
```

### Next Steps

Now that you have a development environment to play with, there are a number of different paths you may take next.
Expand Down Expand Up @@ -235,6 +236,7 @@ $ yarn opensearch snapshot --P https://repo1.maven.org/maven2/org/opensearch/plu
Note - if you add the [`security` plugin](https:/opensearch-project/security), you'll also need to [configure OpenSearch Dashboards for security](#configure-opensearch-dashboards-for-security).

### Plugin development

The osd-plugin-generator tool makes it easier to create a plugin for OpenSearch Dashboards. It sets up the basic structure of the project and provides scripts to build it. Refer to [osd-plugin-generator](https:/opensearch-project/OpenSearch-Dashboards/tree/main/packages/osd-plugin-generator) for more details.

#### Other snapshot configuration options
Expand Down Expand Up @@ -280,29 +282,26 @@ This method can also be used to develop against the [full distribution of OpenSe

### Configure OpenSearch Dashboards for security

_This step is only mandatory if you have the [`security` plugin](https:/opensearch-project/security) installed on your OpenSearch cluster with https/authentication enabled._
_This step is only needed if you want your dev environment to also start with security. To do so both the OpenSearch node and OpenSearch Dashboards cluster need to have the security plugin installed. Follow the steps below to get setup correctly._

> 1. Run `export initialAdminPassword=<initial admin password>` since it's needed by the configuration script
> 2. Run `yarn opensearch snapshot --security`
> 3. Wait a few seconds while the plugin is installed, configured, and OpenSearch starts up.
To startup the OpenSearch snapshot with security

Then within another window. You can start:
> OpenSearch has strong password requirements and will fail to bootstrap if the password requirements are not met. e.g. myStrongPassword123!
> 1. Run `export OPENSEARCH_USERNAME=admin`
> 2. Run `export OPENSEARCH_PASSWORD=<initial admin password>`
> 3. Optional: Run `export OPENSEARCH_SECURITY_READONLY_ROLE=<read only role>`
> 4. Run `yarn start:security`
> 5. Navigate to OpenSearch Dashboards and login with the above username and password.
1. Run `export OPENSEARCH_INITIAL_ADMIN_PASSWORD=<initial admin password>` since it's needed by the configuration script
2. Run `yarn opensearch snapshot --security`
3. Wait a few seconds while the plugin is installed, configured, and OpenSearch starts up.

Once the bootstrap of OpenSearch Dashboards is finished, you need to apply some
changes to the default [`opensearch_dashboards.yml`](https:/opensearch-project/OpenSearch-Dashboards/blob/main/config/opensearch_dashboards.yml#L25-L72) in order to connect to OpenSearch.
Then within another window you can start OpenSearch Dashboards:

```yml
opensearch.hosts: ["https://localhost:9200"]
opensearch.username: "admin" # Default username on the docker image
opensearch.password: "admin" # Default password on the docker image
opensearch.ssl.verificationMode: none
```
_First make sure to clone the https:/opensearch-project/security-dashboards-plugin repo into the plugins folder and build it (Using `yarn build`). You can follow the instructions here https:/opensearch-project/security-dashboards-plugin/blob/main/DEVELOPER_GUIDE.md#install-opensearch-dashboards-with-security-dashboards-plugin._

> You do not have to edit the `config/opensearch-dashboards.yml` file since the `yarn start:security` command sets up the default overrides automatically
Then do the following:

1. Run `yarn start:security`
2. Navigate to OpenSearch Dashboards and login with the username `admin` and password `<initial admin password>`.

For more detailed documentation, see [Configure TLS for OpenSearch Dashboards](https://opensearch.org/docs/latest/install-and-configure/install-dashboards/tls).

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG NODE_VERSION=18.16.0
ARG NODE_VERSION=18.19.0
FROM node:${NODE_VERSION} AS base

ENV HOME '.'
Expand Down
12 changes: 6 additions & 6 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ This document contains a list of maintainers in this repo. See [opensearch-proje
| ------------------------- | --------------------------------------------------- | ----------- |
| Anan Zhuang | [ananzh](https:/ananzh) | Amazon |
| Kawika (Rocky) Avilla | [kavilla](https:/kavilla) | Amazon |
| Sean Neumann | [seanneumann](https:/seanneumann) | Amazon |
| Miki Barahmand | [AMoo-Miki](https:/AMoo-Miki) | Amazon |
| Ashwin P Chandran | [ashwin-pc](https:/ashwin-pc) | Amazon |
| Josh Romero | [joshuarrrr](https:/joshuarrrr) | Amazon |
Expand All @@ -26,8 +25,9 @@ This document contains a list of maintainers in this repo. See [opensearch-proje

## Emeritus

| Maintainer | GitHub ID | Affiliation |
| ------------- | ----------------------------------------- | ----------- |
| Tommy Markley | [tmarkley](https:/tmarkley) | Amazon |
| Mihir Soni | [mihirsoni](https:/mihirsoni) | Amazon |
| Bishoy Boktor | [boktorbb](https:/boktorbb) | Amazon |
| Maintainer | GitHub ID | Affiliation |
| ------------- |-----------------------------------------------|-------------|
| Tommy Markley | [tmarkley](https:/tmarkley) | Amazon |
| Mihir Soni | [mihirsoni](https:/mihirsoni) | Amazon |
| Bishoy Boktor | [boktorbb](https:/boktorbb) | Amazon |
| Sean Neumann | [seanneumann](https:/seanneumann) | Contributor |
2 changes: 1 addition & 1 deletion TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ In general, we recommend four tiers of tests:

# Requirements
* Install the latest NodeJS, [NPM](https://www.npmjs.com/get-npm) and [Yarn](https://classic.yarnpkg.com/en/docs/install/#mac-stable)
* `nvm install v14.20.1`
* `nvm install v18.19.0`
* `npm install -g yarn`

# Running tests
Expand Down
4 changes: 3 additions & 1 deletion config/opensearch_dashboards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,8 @@

# Set the value of this setting to true to enable multiple data source feature.
#data_source.enabled: false
# Set the value of this setting to false to disable default cluster in data source feature.
#data_source.defaultCluster: true
# Set the value of these settings to customize crypto materials to encryption saved credentials
# in data sources.
#data_source.encryption.wrappingKeyName: 'changeme'
Expand Down Expand Up @@ -272,4 +274,4 @@
# opensearchDashboards.survey.url: "https://survey.opensearch.org"

# Set the value of this setting to true to enable plugin augmentation on Dashboard
# vis_augmenter.pluginAugmentationEnabled: true
# vis_augmenter.pluginAugmentationEnabled: true
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@
"**/async": "^3.2.3",
"**/d3-color": "^3.1.0",
"**/elasticsearch/agentkeepalive": "^4.5.0",
"**/follow-redirects": "^1.15.4",
"**/glob-parent": "^6.0.0",
"**/hoist-non-react-statics": "^3.3.2",
"**/json-schema": "^0.4.0",
Expand Down Expand Up @@ -127,9 +128,9 @@
"dependencies": {
"@aws-crypto/client-node": "^3.1.1",
"@elastic/datemath": "5.0.3",
"@elastic/eui": "npm:@opensearch-project/[email protected]-alpha.2",
"@elastic/eui": "npm:@opensearch-project/[email protected]",
"@elastic/good": "^9.0.1-kibana3",
"@elastic/numeral": "^2.5.0",
"@elastic/numeral": "npm:@amoo-miki/[email protected].0",
"@elastic/request-crypto": "2.0.0",
"@elastic/safer-lodash-set": "0.0.0",
"@hapi/accept": "^5.0.2",
Expand Down Expand Up @@ -350,7 +351,7 @@
"brace": "0.11.1",
"chai": "3.5.0",
"chance": "1.0.18",
"cheerio": "0.22.0",
"cheerio": "1.0.0-rc.1",
"chromedriver": "^119.0.1",
"classnames": "2.3.1",
"compare-versions": "3.5.1",
Expand Down Expand Up @@ -455,7 +456,6 @@
"tough-cookie": "^4.1.3",
"tree-kill": "^1.2.2",
"typescript": "4.0.2",
"ui-select": "0.19.8",
"vega": "^5.23.0",
"vega-interpreter": "npm:@amoo-miki/[email protected]",
"vega-lite": "^5.6.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/osd-dev-utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"@osd/utils": "1.0.0",
"axios": "^1.6.1",
"chalk": "^4.1.0",
"cheerio": "0.22.0",
"cheerio": "1.0.0-rc.1",
"dedent": "^0.7.0",
"execa": "^4.0.2",
"exit-hook": "^2.2.0",
Expand Down
Loading

0 comments on commit ccf1b61

Please sign in to comment.