## Summary
This PR removes the feature flag and enables the new index details page
by default. The index details page was implemented in following PRs:
- https://github.com/elastic/kibana/pull/163521
- https://github.com/elastic/kibana/pull/163955
- https://github.com/elastic/kibana/pull/164741
- https://github.com/elastic/kibana/pull/165027
- https://github.com/elastic/kibana/pull/165038
- https://github.com/elastic/kibana/pull/165456
In this PR we completely remove now obsolete code for the old index
details flyout: react components and corresponding redux code. All
related tests are updated and cleaned up. The config value for Index
Management plugin `xpack.index_management.dev.enableIndexDetailsPage` is
deprecated as unused and can be removed in v9.0.
### How to test
1. Start ES and Kibana with `yarn es snapshot` and `yarn start`
3. Navigate to Index Management and create an index
4. Click the index name in the table and check the tabs of the details
page
### Screenshots
#### Stateful
Overview
<img width="1387" alt="Screenshot 2023-09-27 at 14 41 57"
src="e58b15e7-d10c-4473-873c-d0f128392404">
Mappings
<img width="1392" alt="Screenshot 2023-09-27 at 14 42 05"
src="441157cb-5a26-47c3-8da0-b4df51ebec5d">
Settings
<img width="1385" alt="Screenshot 2023-09-27 at 14 42 13"
src="da66a2eb-1f21-44c1-9356-484c66caab88">
Statistics
<img width="1380" alt="Screenshot 2023-09-27 at 14 42 22"
src="ec93d85c-e754-4c21-88ab-0124dc114fc9">
Error loading data
<img width="1333" alt="Screenshot 2023-09-26 at 19 05 37"
src="fc1804b3-6aa0-4019-bae6-e7bb40113b28">
<img width="1327" alt="Screenshot 2023-09-26 at 19 06 07"
src="ca711697-cc74-4ba8-b17c-ec9b01f3026e">
<img width="1329" alt="Screenshot 2023-09-26 at 19 06 28"
src="0cb46b09-8542-452a-8845-40d060057e95">
<img width="1331" alt="Screenshot 2023-09-26 at 19 06 48"
src="87de8d3d-b6e5-4e8f-b27c-18a1c6e950d8">
Error saving index settings
<img width="1332" alt="Screenshot 2023-09-26 at 19 07 31"
src="e6e4b3d0-c237-4d0a-995a-4562bc78f88e">
### Serverless
Overview
<img width="1336" alt="Screenshot 2023-09-26 at 19 51 47"
src="6c76c23b-4be6-4ab3-ae1d-c7ae751e100d">
Mappings
<img width="1336" alt="Screenshot 2023-09-26 at 19 23 51"
src="625fa703-506f-4389-9df0-86441a655074">
Settings
<img width="1332" alt="Screenshot 2023-09-26 at 19 24 02"
src="c496ab09-f2db-4c1b-9fb6-1e9b64b1c142">
# Release note
Index details can now be viewed on a new index details page in Index
Management.
<img width="1387" alt="Screenshot 2023-09-27 at 14 41 57"
src="b90c706d-8b15-49e4-8f6a-cb66f3ed1822">
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
https://github.com/elastic/security-team/issues/7588
To meet the above requirements, I believe it is sufficient to replace
only the URL with one that directly points to the security integration
instead of the integrations list. This change does not appear to affect
the flow of guided onboarding in any way.
4d1aa943-2dce-4d43-bab1-d7cc024695f8
## Summary
### `@kbn/es` package
- Introduces `--resources` option to the `es serverless` command
- Allows for
[`serverless_resources`](https://github.com/elastic/kibana/tree/main/packages/kbn-es/src/serverless_resources)
to be overwritten
### Security Solution Plugin
- Added customized `users`, `users_roles` and `roles.yml` files that
includes:
- Updated `roles.yml` file (sync'ed with project controller version)
- Updated `users` / `users_roles` file that includes one one per
security project role (name the same as the role)
- New CLI script - `node
x-pack/plugins/security_solution/scripts/endpoint/start_es_serverless_with_security_users.js`
- that will start ES in serverless mode and inject the customized
`--resources` into the command
- Any existing option that can be passed to `es` or `es serverless` can
still continue to be passed to this new script. I will pass them along.
closes#167092
__
Updates the text for the info callouts which are displayed when anomaly
detection jobs are waiting for a node.
@szabosteve would you mind having a review of the text?
**Jobs list**

**Creating a new job**

Fixes https://github.com/elastic/kibana/issues/165472
---------
Co-authored-by: István Zoltán Szabó <istvan.szabo@elastic.co>
The `chi2test` utils so fare were only used within data comparison view.
We plan to use it with other plugins, so moving it so a separate package
in this PR. `SIGNIFICANCE_LEVELS` was updated to include some more
digits.
## Summary
Save to library action should not be present in ES|QL panels. For now we
only allow by value embeddables and we don't want them to be
edited/created in Lens editor
<img width="915" alt="image"
src="d6e5e8a7-459f-4b1d-8461-2863b45db882">
### Checklist
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
## Summary
Supposedly, this is the error that's causing these type of errors:/
```
Cannot write file '/Users/alex/Git/kibana/x-pack/test/functional/services/random.js' because it would overwrite input file.
```
Separated off from: https://github.com/elastic/kibana/pull/167355
Co-authored-by: Thomas Watson <watson@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
We're breaking #166813 up into smaller PRs in the interest of getting
PRs through sooner for type fixes. These are the changes for
`x-pack/test_serverless`.
## Reviewers
There are no code owners for these files, so I'm using the recently
edited suggestions
---------
Co-authored-by: Alex Szabo <delanni.alex@gmail.com>
Co-authored-by: Thomas Watson <w@tson.dk>
Co-authored-by: Alex Szabo <alex.szabo@elastic.co>
Co-authored-by: Thomas Watson <watson@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
In cypress tests, when the logs are output in the beginning, some binary
buffers are also stringified, so when looking at logs, we have to scroll
through thousands of lines of logs, that's annoying and doesn't help
debugging.
I'd like that to be somewhat more readable, there are a few options:
- the replacer should interpret buffers as strings, try to output it
like that
- not every binary buffer is printable
- the replacer should redact the exact fields (certificateAuthority?)
- too specific, might need fixing later
- trim long arrays after 32 items
- I chose this as a solution
Other suggestions are welcome.
<img width="666" alt="Screenshot 2023-09-27 at 12 49 54"
src="7d35e59d-fb14-4d2a-9225-277cc2e1519b">
## Summary
Closes#162263
Introduces a new `Feature Privileges` section to the developer
documentation. The documentation includes a tutorial on how to control
access to features of plugin being developed. Introduces a few sections:
- Controlling access to UI features
- Controlling access to server side APIs
- Documentation for configuration options
## Testing
To build this locally, run ./scripts/dev_docs from a local checkout of
this PR. A server will eventually start on http://localhost:3000 where
you can preview the changes.
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes for Platform Deployment Management.
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## 📓 Summary
Closes#167011
This implementation fixes the persisted beta badge after leaving the Log
Explorer profile, restoring any existing element on the mount point as a
clean-up action.
3214e097-2c82-4b09-8310-ad09eb4c5a18
Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes for ML UI.
---------
Co-authored-by: Dima Arnautov <dmitrii.arnautov@elastic.co>
## Summary
When a user is writing am ES|QL query with the enrich command and
doesn't have a policy then we want to navigate them from the editor to
the index management page to create one.
In the future the same action can open a flyout in order for the users
to not change context but we don't have it atm.

---------
Co-authored-by: Marco Liberati <dej611@users.noreply.github.com>
This PR addresses requested changes to the UI/UX part of Protection
Updates tab on policy detail view. Previously we were automatically
saving `global_manifest_version` on "toggle on" state. With these
changes a bottom bar, mimicking Policy settings tab, with a save button
that is active whenever changes were made was introduced.
98c43bbd-1ee2-4fbd-8105-2bb5fcdbc4af
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes for Infra UI.
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes for Enterprise Search Frontend.
---------
Co-authored-by: Alex Szabo <alex.szabo@elastic.co>
## Summary
Partially addresses https://github.com/elastic/kibana/issues/46410
Stops using `kuiTextInput` CSS class name in `number_parameter.js` and
`string_paramter.js` components in the `home` plugin.
How to test? I don't know if these parameters are still used, so to test
this apply this patch:
```diff
diff --git a/src/plugins/home/public/application/components/tutorial/instruction_set.js b/src/plugins/home/public/application/components/tutorial/instruction_set.js
index 651212f062c..7f2077a322d 100644
--- a/src/plugins/home/public/application/components/tutorial/instruction_set.js
+++ b/src/plugins/home/public/application/components/tutorial/instruction_set.js
@@ -261,14 +261,20 @@ class InstructionSetUi extends React.Component {
render() {
let paramsForm;
- if (this.props.params && this.state.isParamFormVisible) {
+ if (true) {
paramsForm = (
<>
+ PARAMETER FORM
<EuiSpacer />
<ParameterForm
- params={this.props.params}
- paramValues={this.props.paramValues}
- setParameter={this.props.setParameter}
+ params={[
+ { id: 'test', label: 'test', type: 'string' },
+ { id: 'test2', label: 'test2', type: 'number'}
+ ]}
+ paramValues={{ test: 'test', test2: 123 }}
+ setParameter={(id, value) => {
+ console.log('setParameter', id, value);
+ }}
/>
</>
);
```
And go to `/app/home#/tutorial/apm` page, you will see the new parameter
input look there:
<img width="478" alt="image"
src="ba3a3dce-c2d5-41db-a7e8-24bf6caeb16b">
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
`OBSERVABILITY_ONBOARDING_LOCATOR` and
`ObservabilityOnboardingLocatorParams` were removed from
`observability_onboarding` plugin in
[#165962](https://github.com/elastic/kibana/pull/165962) and are now
part of `@kbn/deeplinks-observability/locators`.
`datsetName` was transformed into an optional variable in the wizard
state in [#166654](https://github.com/elastic/kibana/pull/166654) which
makes sense for first step of custom logs onboarding but it's required
in onboarding saved object.
Removed `isServerless` flag which lived in our global context and had to
be passed about to the various components which create their own version
of the context using `getMlGlobalServices`
This PR adds a new context which contains flags for all of the features
which can be toggled when in serverless mode.
Flags added:
```
showNodeInfo
showMLNavMenu
showLicenseInfo
isADEnabled
isDFAEnabled
isNLPEnabled
```
The enabled features flags are now read from the config file client
side, rather than using capabilities.
Additional changes:
- Changes the wording of the awaiting ML node callout in serverless.
- In the search project, the default ML page is the trained models list
and not Overview
- Reenables the Memory Usage page for all projects
---------
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes for AppEx SharedUX.
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes for APM UI.
Closes https://github.com/elastic/kibana/issues/166021
Closes https://github.com/elastic/kibana/issues/163381
This PR adds inspector cluster tab MVP
This PR does not:
1) include all UI elements in design. These will be added at later
dates.
2) show clusters tab when request fails. Somewhere between kibana server
elasticsearch request and the client, the raw response is getting
removed for failed requests. This will have to be sorted out in a
separate PR.
3) Opening clusters tab from "incomplete data" warnings
### Test setup
1. Start remote elasticsearch by running: `yarn es snapshot -E
transport.port=9500 -E http.port=9201 -E path.data=../remote1`
2. Install sample data to remote cluster
1. Add `elasticsearch.hosts: ["http://localhost:9201"]` to
kibana.dev.yml. **Note** create `config/kibana.dev.yml` if one does not
exist. kibana.dev.yml is not managed by git so it has to be created the
first time you add values.
2. run `yarn start` to start kibana process
3. install sample web logs data set on home page
4. install sample flight data set on home page
5. stop kibana process
6. remove `elasticsearch.hosts` from kibana.dev.yml
3. Start local elasticsearch by running: `yarn es snapshot -E
path.data=../local1`
4. Start kibana
5. Add remote cluster under "Stack management -> Remote clusters"
1. Set **Name** to "remote1"
2. Set **Seed nodes** to "localhost:9500"
3. Enable **Skip if unavailable**
5. install sample web logs data set
6. install sample flights data set
7. Create data view.
1. Set **Index pattern** to
`kibana_sample_data*,remote1:kibana_sample_data*`
2. Set **Time field** to `timestamp`
### Local cluster (status=successful)
1) Open discover
2) Select "Kibana sample data logs" data view
3) Open inspector
4) Open clusters tab
<img width="300" alt="Screen Shot 2023-09-22 at 9 38 38 AM"
src="e4e91555-8200-43bc-b2fe-7739f7178e43">
### Remote cluster (status=successful)
1) Open discover
2) Select "kibana_sample_data*,remote1:kibana_sample_data*" data view
3) Open inspector
4) Open clusters tab
<img width="300" alt="Screen Shot 2023-09-22 at 9 47 08 AM"
src="676897fc-e7e2-4c0b-8e35-c382c6ac89d6">
### Remote cluster (status=partial, failed shard)
1) Open discover
2) Select "kibana_sample_data*,remote1:kibana_sample_data*" data view
3) Add filter
```
{
"error_query": {
"indices": [
{
"error_type": "exception",
"message": "local shard failure message 123",
"name": "remote1:kibana_sample_data_logs",
"shard_ids": [
0
]
}
]
}
}
```
3) Open inspector
4) Open clusters tab
<img width="300" alt="Screen Shot 2023-09-22 at 9 50 49 AM"
src="6935f2b4-60ad-4704-8ee0-17890ca9d83a">
<img width="300" alt="Screen Shot 2023-09-22 at 9 51 12 AM"
src="ec0a6b4a-177f-40fd-96b3-c56102d5f425">
### Remote cluster (status=skipped, all shards fail)
1) Open discover
2) Select "kibana_sample_data*,remote1:kibana_sample_data*" data view
3) Add filter
```
{
"error_query": {
"indices": [
{
"error_type": "exception",
"message": "local shard failure message 123",
"name": "remote1:*",
"shard_ids": [
0
]
}
]
}
}
```
3) Open inspector
4) Open clusters tab
<img width="300" alt="Screen Shot 2023-09-22 at 9 52 49 AM"
src="a1ba947b-3cd1-4416-9756-29f3960a4ba6">
### Remote cluster (status=skipped, no remote)
1) Open discover
2) Kill process running remote1 elasticsearch
3) Select "kibana_sample_data*,remote1:kibana_sample_data*" data view
4) Open inspector
5) Open clusters tab
<img width="300" alt="Screen Shot 2023-09-22 at 9 55 45 AM"
src="f049b617-96e1-4ecc-bfeb-f75522f70fef">
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes for Kibana Presenation.
## Summary
We're breaking https://github.com/elastic/kibana/pull/166813 up into
smaller PRs in the interest of getting PRs through sooner for type
fixes. These are the changes related to syncing EUI deps.
## Summary
This PR adds data drift detection workflow from Trained models to Data
comparison view. It also renames Data comparison to Data Drift.
**From the new map view in Trained model list:**
- Clicking on the index icon in the map view will give an option/action
to Analyze data drift
a68163ab-8a83-4378-8cf3-ea49f4480a06
- If model has detected related indices, it will also give an option to
Analyze data drift in the Transform actions
**From the data comparison/drift page:**
- Default screen with list of available data views and saved search will
be shown
<img width="1470" alt="Screen Shot 2023-09-07 at 00 22 01"
src="db13b8b7-9d90-4220-b03e-9f9d12ab53e9">
- But can also customize index patterns for the data sets to analyze.
Upon 'analyzing', a new data view will be created if needed (either
permanently or temporarily).
<img width="1271" alt="Screen Shot 2023-08-29 at 16 56 57"
src="e000e920-162b-4369-8762-70b6244e50e7">
<img width="1470" alt="Screen Shot 2023-09-07 at 00 22 49"
src="6577a530-c3b0-4ab9-95e4-d1d8fd1c9f0a">
- If there exists a data view with exact combination of index patterns
and time field, it will use that data view
- If there exists a data view with the same index patterns but different
time field, it will create a new data view with name
`{referencePattern},{comparisonPattern}-{timeField}`
- If no data view exists that matches, it will create a new data view
with name `{referencePattern},{comparisonPattern}`
## For reviewers:
- **appex-sharedux**: [Small change in the exported type interface for
BaseSavedObjectFinder](https://github.com/elastic/kibana/pull/162853/files#diff-5e2e62df8aba5ac9445962bfa00eee933a386110d0a24dfe6ac0f300a796ccc3)
to correctly list `children` as an accepted prop. This prop which is
used for the `toolsRight`.
- **security-solution**: Renaming of `Data comparison` to `Data Drift`
## Tests:
[Flaky test suite runner with Data Drift
test](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3216#018accc2-d33b-4cd6-a178-589e6698b675)
... successful after 50 runs✅
### Checklist
Delete any items that are not applicable to this PR.
- [ ] Any text added [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
### Risk Matrix
Delete this section if it is not applicable to this PR.
Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.
When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:
| Risk | Probability | Severity | Mitigation/Notes |
|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces—unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes—Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |
### For maintainers
- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>