Commit graph

86 commits

Author SHA1 Message Date
Gerard Soldevila
36fa5a4da6
[8.18] SKA: Relocate "platform" packages that remain on /packages (208704) (#212751)
# Backport

This will backport the following commits from `main` to `8.18`:
- #208704
2025-03-05 19:22:58 +03:00
Davis McPhee
c40c6d69c1
[8.x] [Discover] In-table search (#206454) (#208868)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Discover] In-table search
(#206454)](https://github.com/elastic/kibana/pull/206454)

<!--- Backport version: 9.6.4 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Julia
Rechkunova","email":"julia.rechkunova@elastic.co"},"sourceCommit":{"committedDate":"2025-01-29T23:52:07Z","message":"[Discover]
In-table search (#206454)\n\n- Closes
https://github.com/elastic/kibana/issues/192360\r\n\r\n##
Summary\r\n\r\nThe default browser Find-in-page does not work great with
the grid\r\nvirtualization and our pagination and it can only find
matches in rows\r\nwhich are currently displayed.\r\n\r\nThis PR adds
in-table search support to the grid so users can find\r\nmatches in all
grid rows (up to `500` sample docs/rows by default) and\r\njump between
them with \"Previous\"/\"Next\"
buttons.\r\n\r\n![Jan-24-2025\r\n22-03-54](https://github.com/user-attachments/assets/95b31fb8-4740-4c5f-ba91-8e1c19066e02)\r\n\r\nThe
implementation is extracted in a new
package\r\n`@kbn/data-grid-in-table-search`. This would allow to use
in-table\r\nsearch with `EuiDataGrid` on other pages of Kibana
too.\r\n\r\n`Cmd+F` shortcut is overridden when one of grid elements is
in focus\r\notherwise we keep the browser default behaviour.\r\n\r\n###
Checklist\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
florent-leborgne
<florent.leborgne@elastic.co>","sha":"8ffb2ff62830655587d2b91e295b5d76fc86806e","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","release_note:feature","Team:DataDiscovery","backport:prev-minor","Project:OneDiscover"],"title":"[Discover]
In-table
search","number":206454,"url":"https://github.com/elastic/kibana/pull/206454","mergeCommit":{"message":"[Discover]
In-table search (#206454)\n\n- Closes
https://github.com/elastic/kibana/issues/192360\r\n\r\n##
Summary\r\n\r\nThe default browser Find-in-page does not work great with
the grid\r\nvirtualization and our pagination and it can only find
matches in rows\r\nwhich are currently displayed.\r\n\r\nThis PR adds
in-table search support to the grid so users can find\r\nmatches in all
grid rows (up to `500` sample docs/rows by default) and\r\njump between
them with \"Previous\"/\"Next\"
buttons.\r\n\r\n![Jan-24-2025\r\n22-03-54](https://github.com/user-attachments/assets/95b31fb8-4740-4c5f-ba91-8e1c19066e02)\r\n\r\nThe
implementation is extracted in a new
package\r\n`@kbn/data-grid-in-table-search`. This would allow to use
in-table\r\nsearch with `EuiDataGrid` on other pages of Kibana
too.\r\n\r\n`Cmd+F` shortcut is overridden when one of grid elements is
in focus\r\notherwise we keep the browser default behaviour.\r\n\r\n###
Checklist\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
florent-leborgne
<florent.leborgne@elastic.co>","sha":"8ffb2ff62830655587d2b91e295b5d76fc86806e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206454","number":206454,"mergeCommit":{"message":"[Discover]
In-table search (#206454)\n\n- Closes
https://github.com/elastic/kibana/issues/192360\r\n\r\n##
Summary\r\n\r\nThe default browser Find-in-page does not work great with
the grid\r\nvirtualization and our pagination and it can only find
matches in rows\r\nwhich are currently displayed.\r\n\r\nThis PR adds
in-table search support to the grid so users can find\r\nmatches in all
grid rows (up to `500` sample docs/rows by default) and\r\njump between
them with \"Previous\"/\"Next\"
buttons.\r\n\r\n![Jan-24-2025\r\n22-03-54](https://github.com/user-attachments/assets/95b31fb8-4740-4c5f-ba91-8e1c19066e02)\r\n\r\nThe
implementation is extracted in a new
package\r\n`@kbn/data-grid-in-table-search`. This would allow to use
in-table\r\nsearch with `EuiDataGrid` on other pages of Kibana
too.\r\n\r\n`Cmd+F` shortcut is overridden when one of grid elements is
in focus\r\notherwise we keep the browser default behaviour.\r\n\r\n###
Checklist\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [x] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [ ] If a plugin
configuration key changed, check if it needs to be\r\nallowlisted in the
cloud and added to the
[docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\r\nchanges have been approved by the breaking-change committee.
The\r\n`release_note:breaking` label should be applied in these
situations.\r\n- [ ] [Flaky
Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\r\nused on any tests changed\r\n- [x] The PR description includes
the appropriate Release Notes section,\r\nand the correct
`release_note:*` label is applied per
the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
florent-leborgne
<florent.leborgne@elastic.co>","sha":"8ffb2ff62830655587d2b91e295b5d76fc86806e"}}]}]
BACKPORT-->

---------

Co-authored-by: Julia Rechkunova <julia.rechkunova@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-01-30 09:16:33 +01:00
Davis McPhee
8b42d98561
[8.x] [Data Views] Backport Upgrade Assistant changes to warn about scripted field creation removal in 9.0 (#205561)
## Summary

This PR backports the Upgrade Assistant changes from #202250 to warn
about the upcoming scripted field creation removal in 9.0. It also
includes some of the documentation changes and cleanup in the Data Views
Management UI.

### Checklist

- [x] Any text added follows [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)
- [x]
[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
- [ ] 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 was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-01-06 13:05:44 -04:00
Marco Antonio Ghiani
ef3ebf0ae3
[8.x] [LogsUI] Add UI setting to hide Logs Stream and dashboard panel option (#194519) (#195542)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[LogsUI] Add UI setting to hide Logs Stream and dashboard panel
option (#194519)](https://github.com/elastic/kibana/pull/194519)

<!--- Backport version: 8.9.8 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Marco Antonio
Ghiani","email":"marcoantonio.ghiani01@gmail.com"},"sourceCommit":{"committedDate":"2024-10-09T08:14:06Z","message":"[LogsUI]
Add UI setting to hide Logs Stream and dashboard panel option
(#194519)\n\n## 📓 Summary\r\n\r\nCloses #193319 \r\nCloses #193320
\r\n\r\nThis work is part of the effort to progressively deprecate the
existing\r\nLogs Stream feature.\r\n\r\nChanges taken on this PR consist
of:\r\n- Create a new uiSettings `observability:enableLogsStream`
which\r\ndefaults to `false` on the stateful/cloud deployments and is
not\r\navailable in serverless ones (still, defaults to `false` behind
the\r\nscene).\r\n- When `observability:enableLogsStream` is `false`,
the Logs Stream page\r\nroute is not registered, and neither is its deep
link for global search.\r\n- When `observability:enableLogsStream` is
`false`, the panels list on\r\nDashboard won't show anymore the option
`Logs Stream (Deprecated)` to\r\nprevent usage of this embeddable in new
dashboards. The embeddable is\r\nstill registered for
retro-compatibility with active dashboards, and it\r\nhas now a callout
explaining the status of this
embeddable\r\n(unmaintained/deprecated).\r\n- Rename logs ML to \"Logs
Anomalies\" and \"Logs Categories\".\r\n\r\nOther minor improvements
regard:\r\n- Remove duplicate Xstate utils and use the relative package
instead.\r\n- Remove the duplicated `useBoolean` hook used in the
deprecation\r\ncallout.\r\n- Sync deep links registration with available
routes through a single\r\n`getLogsRoutes` util.\r\n\r\n## 🎥
Recordings\r\n\r\n### Logs Stream app
removed\r\n\r\n\r\nhttps://github.com/user-attachments/assets/f4173294-8789-4abd-9972-29c9b7c197ed\r\n\r\n###
Logs Stream dashboard panel entry
removed\r\n\r\n\r\nhttps://github.com/user-attachments/assets/7f99ca2a-c030-4867-b976-8fdc1df09d29\r\n\r\n###
Logs Stream app removed from project
nav\r\n\r\n\r\nhttps://github.com/user-attachments/assets/de51bdd6-820a-4c03-8b64-fb1a6ced0a12\r\n\r\n###
Embeddable deprecation callout\r\n\r\n<img width=\"949\"
alt=\"Screenshot 2024-10-02 at 10 22
09\"\r\nsrc=\"https://github.com/user-attachments/assets/99fd5554-004b-45e4-81db-cb23947e210e\">\r\n\r\n###
Unavailable setting in
serverless\r\n\r\n\r\nhttps://github.com/user-attachments/assets/91bf6c37-0845-4918-a485-b6250bbd96bf\r\n\r\n---------\r\n\r\nCo-authored-by:
Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Mike Birnstiehl
<114418652+mdbirnstiehl@users.noreply.github.com>","sha":"9907601dd148ba59420bffda45ff584686f47b43","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:deprecation","v9.0.0","backport:prev-minor","ci:project-deploy-observability","Team:obs-ux-logs","Team:obs-ux-management","apm:review"],"number":194519,"url":"https://github.com/elastic/kibana/pull/194519","mergeCommit":{"message":"[LogsUI]
Add UI setting to hide Logs Stream and dashboard panel option
(#194519)\n\n## 📓 Summary\r\n\r\nCloses #193319 \r\nCloses #193320
\r\n\r\nThis work is part of the effort to progressively deprecate the
existing\r\nLogs Stream feature.\r\n\r\nChanges taken on this PR consist
of:\r\n- Create a new uiSettings `observability:enableLogsStream`
which\r\ndefaults to `false` on the stateful/cloud deployments and is
not\r\navailable in serverless ones (still, defaults to `false` behind
the\r\nscene).\r\n- When `observability:enableLogsStream` is `false`,
the Logs Stream page\r\nroute is not registered, and neither is its deep
link for global search.\r\n- When `observability:enableLogsStream` is
`false`, the panels list on\r\nDashboard won't show anymore the option
`Logs Stream (Deprecated)` to\r\nprevent usage of this embeddable in new
dashboards. The embeddable is\r\nstill registered for
retro-compatibility with active dashboards, and it\r\nhas now a callout
explaining the status of this
embeddable\r\n(unmaintained/deprecated).\r\n- Rename logs ML to \"Logs
Anomalies\" and \"Logs Categories\".\r\n\r\nOther minor improvements
regard:\r\n- Remove duplicate Xstate utils and use the relative package
instead.\r\n- Remove the duplicated `useBoolean` hook used in the
deprecation\r\ncallout.\r\n- Sync deep links registration with available
routes through a single\r\n`getLogsRoutes` util.\r\n\r\n## 🎥
Recordings\r\n\r\n### Logs Stream app
removed\r\n\r\n\r\nhttps://github.com/user-attachments/assets/f4173294-8789-4abd-9972-29c9b7c197ed\r\n\r\n###
Logs Stream dashboard panel entry
removed\r\n\r\n\r\nhttps://github.com/user-attachments/assets/7f99ca2a-c030-4867-b976-8fdc1df09d29\r\n\r\n###
Logs Stream app removed from project
nav\r\n\r\n\r\nhttps://github.com/user-attachments/assets/de51bdd6-820a-4c03-8b64-fb1a6ced0a12\r\n\r\n###
Embeddable deprecation callout\r\n\r\n<img width=\"949\"
alt=\"Screenshot 2024-10-02 at 10 22
09\"\r\nsrc=\"https://github.com/user-attachments/assets/99fd5554-004b-45e4-81db-cb23947e210e\">\r\n\r\n###
Unavailable setting in
serverless\r\n\r\n\r\nhttps://github.com/user-attachments/assets/91bf6c37-0845-4918-a485-b6250bbd96bf\r\n\r\n---------\r\n\r\nCo-authored-by:
Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Mike Birnstiehl
<114418652+mdbirnstiehl@users.noreply.github.com>","sha":"9907601dd148ba59420bffda45ff584686f47b43"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/194519","number":194519,"mergeCommit":{"message":"[LogsUI]
Add UI setting to hide Logs Stream and dashboard panel option
(#194519)\n\n## 📓 Summary\r\n\r\nCloses #193319 \r\nCloses #193320
\r\n\r\nThis work is part of the effort to progressively deprecate the
existing\r\nLogs Stream feature.\r\n\r\nChanges taken on this PR consist
of:\r\n- Create a new uiSettings `observability:enableLogsStream`
which\r\ndefaults to `false` on the stateful/cloud deployments and is
not\r\navailable in serverless ones (still, defaults to `false` behind
the\r\nscene).\r\n- When `observability:enableLogsStream` is `false`,
the Logs Stream page\r\nroute is not registered, and neither is its deep
link for global search.\r\n- When `observability:enableLogsStream` is
`false`, the panels list on\r\nDashboard won't show anymore the option
`Logs Stream (Deprecated)` to\r\nprevent usage of this embeddable in new
dashboards. The embeddable is\r\nstill registered for
retro-compatibility with active dashboards, and it\r\nhas now a callout
explaining the status of this
embeddable\r\n(unmaintained/deprecated).\r\n- Rename logs ML to \"Logs
Anomalies\" and \"Logs Categories\".\r\n\r\nOther minor improvements
regard:\r\n- Remove duplicate Xstate utils and use the relative package
instead.\r\n- Remove the duplicated `useBoolean` hook used in the
deprecation\r\ncallout.\r\n- Sync deep links registration with available
routes through a single\r\n`getLogsRoutes` util.\r\n\r\n## 🎥
Recordings\r\n\r\n### Logs Stream app
removed\r\n\r\n\r\nhttps://github.com/user-attachments/assets/f4173294-8789-4abd-9972-29c9b7c197ed\r\n\r\n###
Logs Stream dashboard panel entry
removed\r\n\r\n\r\nhttps://github.com/user-attachments/assets/7f99ca2a-c030-4867-b976-8fdc1df09d29\r\n\r\n###
Logs Stream app removed from project
nav\r\n\r\n\r\nhttps://github.com/user-attachments/assets/de51bdd6-820a-4c03-8b64-fb1a6ced0a12\r\n\r\n###
Embeddable deprecation callout\r\n\r\n<img width=\"949\"
alt=\"Screenshot 2024-10-02 at 10 22
09\"\r\nsrc=\"https://github.com/user-attachments/assets/99fd5554-004b-45e4-81db-cb23947e210e\">\r\n\r\n###
Unavailable setting in
serverless\r\n\r\n\r\nhttps://github.com/user-attachments/assets/91bf6c37-0845-4918-a485-b6250bbd96bf\r\n\r\n---------\r\n\r\nCo-authored-by:
Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Mike Birnstiehl
<114418652+mdbirnstiehl@users.noreply.github.com>","sha":"9907601dd148ba59420bffda45ff584686f47b43"}}]}]
BACKPORT-->
2024-10-09 12:05:38 +02:00
Tre
69665cecd0
[FTR] Refactor test/common/services/* -> packages/kbn-ftr-common-functional-[ui-]services/* (#191805)
## Summary

Moving common services to respective new homes.

This PR is revived from a previously
[merged](09a365850e)
and [reverted PR](https://github.com/elastic/kibana/pull/191765) as
[detailed
here](https://github.com/elastic/kibana/pull/189051#issuecomment-2318999361).
- This was due to "extra" tests being applied to
https://github.com/elastic/kibana/pull/191708
- These "extra" tests were applied as
https://github.com/elastic/kibana/pull/191708 changes files within
`x-pack/plugins/observability_solution/` as configured
[here](https://github.com/elastic/kibana/blob/main/.buildkite/scripts/pipelines/pull_request/pipeline.ts#L129)

### Why these failures were not caught in the original
[PR](https://github.com/elastic/kibana/pull/189051)
The pipeline is generated at runtime, and the original
[PR](https://github.com/elastic/kibana/pull/189051) had zero changes
under `x-pack/plugins/observability_solution/`
 
 ## Changes on top of original PR
 - Add `ci:all-cypress-suites` label to run extra tests
- Add `services` stanza to which contains the missing references by
spreading the services from `@kbn/ftr-common-functional-services` &&
`@kbn/ftr-common-functional-ui-services` into the stanza, for the
following:
   - `x-pack/plugins/observability_solution/synthetics/e2e/config.ts`
   - `x-pack/plugins/observability_solution/apm/ftr_e2e/ftr_config.ts` 
-
`x-pack/plugins/observability_solution/observability_onboarding/e2e/ftr_config.ts`
   - `x-pack/plugins/observability_solution/profiling/e2e/ftr_config.ts`
   - `x-pack/plugins/observability_solution/synthetics/e2e/config.ts`
   - `x-pack/plugins/observability_solution/uptime/e2e/config.ts`
 

 
 
Blocked by: https://github.com/elastic/kibana/issues/191961
Resolves: https://github.com/elastic/kibana/issues/188541

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-09-05 10:00:55 +01:00
Jon
9f70009d89
Revert "[FTR] Refactor test/common/services/* -> packages/kbn-ftr-com… (#191765)
Build failure


https://buildkite.com/elastic/kibana-pull-request/builds/230868#01919ed7-15d5-425c-9b8e-146ed5fe9daf
2024-08-29 16:05:53 -05:00
Tre
09a365850e
[FTR] Refactor test/common/services/* -> packages/kbn-ftr-common-functional-[ui-]services/* (#189051)
## Summary

Moving common services to respective new homes.

Resolves: https://github.com/elastic/kibana/issues/188541

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2024-08-29 14:46:35 +01:00
Alejandro Fernández Haro
454be59c14
Flaky #187671 (#191542) 2024-08-28 17:23:42 -07:00
Sébastien Loix
3db781d1f2
[Stateful sidenav] Functional tests helpers (#189804) 2024-08-26 04:47:30 -05:00
Yulia Čech
5e346b2561
[Console] Enable monaco by default (#184862)
## Summary

Closes https://github.com/elastic/kibana/issues/184025

This PR enables the migration from Ace to Monaco in Dev Tools Console by
default in the main branch. All serverless projects will still have the
migration disabled by default. After 8.15 is branched, the migration
will be disabled there as well. The intended release version for this
migration is 8.16.

### Functional tests 
This PR creates a copy of functional tests for Monaco Console and keeps
the tests for Ace in a separate folder. When the migration is released,
we can remove the code for Ace together with tests.
The Monaco tests are not the exact copy of the Ace tests, since some
functionality and autocomplete behaviour is slightly different in the
migrated Console. For example, the auto-closing of brackets works in
Monaco when typing something, but is not kicking in in the tests.

Flaky test runner 

### Checklist

Delete any items that are not applicable to this PR.

- [ ] Any text added follows [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
- [ ] [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
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] 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&mdash;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&mdash;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>
2024-06-19 17:37:04 +02:00
Alejandro Fernández Haro
ab21d4fee4
[EBT] Combine packages (#186048)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-06-18 14:23:16 +02:00
Stratoula Kalafateli
b3f64b6f10
[ES|QL] Remove version from _query requests (#184289)
### Summary

Removes the versioning from the _query api requests.

This ES PR removes the version from the _query requests
https://github.com/elastic/elasticsearch/pull/108919 and got backported
at 8.14 too. We need to also remove it from our side too to be in sync
with ES changes.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-29 10:48:31 +02:00
Stratoula Kalafateli
72eea169d7
Revert "[ES|QL] Remove version from _query requests (#184053)" (#184244)
This reverts commit 5c78c01321.

## Summary

Reverts the https://github.com/elastic/kibana/pull/184053 as we don't
want to land in serverless before ES PR does.
2024-05-24 19:51:05 +02:00
Stratoula Kalafateli
5c78c01321
[ES|QL] Remove version from _query requests (#184053)
## Summary

Removes the versioning from the _query api requests.

This ES PR removes the version from the _query requests
https://github.com/elastic/elasticsearch/pull/108919 and got backported
at 8.14 too. We need to also remove it from our side too to be in sync
with ES changes.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-24 15:44:52 +02:00
Rachel Shen
dc1fd5a533
[Tests] Share Modal Redesign clean up and tests (#180406)
## Summary

This PR makes the share redesign modal work the primary share context
paradigm (excluding Canvas) by removing the share plugin config that had
share.new_version.enabled for testing and implementation.
This PR cleans up the FTRs. 

Closes [#151523](https://github.com/elastic/kibana/issues/151523)
As a result of defaulting to short urls, some tests were removed since
they are now obsolete.
One fix in this PR to avoid customer known issues is to allow reporting
(if license is permitted) for watcher users. Refer to
https://github.com/elastic/sdh-kibana/issues/4481#issuecomment-2012969470.

I've opened a separate issue to track any skipped or deleted tests as a
result of short urls by default here
https://github.com/elastic/kibana/issues/181066

### Checklist

- [x]
[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
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))


### Release Note

The share menu is updated for a more streamlined user experience. Users
can navigate through a tabbed modal to copy links for discover,
dashboard, and lens.

---------

Co-authored-by: Eyo Okon Eyo <eyo.eyo@elastic.co>
Co-authored-by: Marco Liberati <dej611@users.noreply.github.com>
2024-05-15 11:49:35 -07:00
Stratoula Kalafateli
807da63c61
[ES|QL] Fetch the query columns utils (#182338)
## Summary

Revives this https://github.com/elastic/kibana/pull/181969

To do so, I had to create a new package `search-types` and move the
types I need there.

The Discovery team can take it from here.

Note: It also does a cleanup on the types I move, some of them were
declared twice.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-05-06 10:51:40 +02:00
Stratoula Kalafateli
125c8951e5
[ES|QL] Runs the _query requests with the version (#180248)
## Summary

Due to https://github.com/elastic/kibana/issues/179641

ES is going to add a mandatory field `version`. (it is optional for now
but they want to make it required for the GA).

The version will change in backwards incompatible changes:
- syntax changes
- functions / commands output changes

This is the first PR which is adding the first version manually for now.
In https://github.com/elastic/kibana/issues/179641 we are exploring how
to deal with versioning in kibana. We are going to offer a solution in
8.15. For now we are adding the version hardcoded (otherwise when the
field is marked required kibana _query requests will fail.

👮‍♀️ If you are aware of any other application which uses the _query api
and is not updated in this PR please let me know

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-04-09 17:39:08 +02:00
Eyo O. Eyo
b25407edba
Update Kibana code editor dependencies (#171720)
## Summary

This PR started out as an attempt to resolve
https://github.com/elastic/kibana/issues/166559; which it does, the
appropriate colours for the message prompt displayed when an edit
attempt on read only content is made in the code editor for both dark
and light mode are now set;

 ### Light mode
<img width="412" alt="Screenshot 2023-11-22 at 11 30 17"
src="8675dd9f-b413-4098-a903-7ac63dc367fb">

### Dark mode
<img width="843" alt="Screenshot 2023-11-22 at 11 29 31"
src="64fd39e0-d5dd-4556-b6ca-75ba8fc55c94">

#### Noteworthy**

- See https://code.visualstudio.com/api/references/theme-color for more
clarification on the style definitions added to this PR
- There's also been accommodation made for consumers of the code editor
to provide their own custom message through the prop `readOnlyMessage`.
- That been said it's worth pointing out that this PR updates
react-monaco-editor and monaco-editor packages to their latest version,
primarily because the functionality that provides support to provide
customization for the providing a color scheme that would support in our
use case for setting colors for dark mode and light mode appropriately,
shipped in version 0.40.0 of monaco editor, also for react-monaco-editor
prior to it's current latest the pinned version of monaco editor was
0.38.0.
- Monaco-yaml is also updated in the PR, matching the change in
expectation of the underlying monaco-editor api.
~- Updates to the packages referenced above, in turn caused the
installed version of prettier to be updated to the latest minor version
2.8.8. This change caused some lint changes to the project files where
parentheses were added to types with Index Access on another type
created using the typeof operator (more context
[here](https://github.com/prettier/prettier/issues/14990)), for this
reason I've opted to lockdown prettier version, so that this PR only
contains the changes required for updating the code editor. A subsequent
PR will be created to revert the package lockdown so that PR contains
only the lint changes that will occur.~

### Checklist
<!--
Delete any items that are not applicable to this PR. -->

- [x] Any text added follows [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
- [ ] [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 -->
- [x] 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&mdash;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&mdash;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: Aleh Zasypkin <aleh.zasypkin@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2024-01-25 10:30:02 +01:00
Christiane (Tina) Heiligers
6002f14481
Adds SOM ftr functional tests to serverless to run in simulated env (#174976)
fix https://github.com/elastic/kibana/issues/174545
Adds SOM tests to serverless

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2024-01-22 07:50:25 -07:00
Tre
fecf2ed4e9
[FTR] Move retryOnStale service to shared location (#173394)
Refactoring service location per internal ticket.

---------

Co-authored-by: Robert Oskamp <traeluki@gmail.com>
2023-12-18 17:47:10 +00:00
Maxim Palenov
58adee01a0
[Security Solution] Support Serverless Cypress tests with different roles (#169017)
**Addresses:** https://github.com/elastic/kibana/issues/164451

## Summary

This PR allows to run role based reused between ESS and Serverless Cypress tests.

## Details

The main idea behind is to make environmental differences for tests unnoticeable. As Serverless env already has roles and users but ESS env allows to create any possible role and user we just need to create Serverless roles and corresponding users + specific ESS roles and corresponding users in ESS env before running any ESS tests. This way tests will run in a similar env and don't have to bother by roles/users creation in test suites. This is achieved by using separate Cypress support files (Cypress includes `support/e2e.js` by default) `ess_e2e.ts` and `serverless_e2e.ts` executed for corresponding environments. `ess_e2e.ts` contains logic to create mentioned above roles and users while `serverless_e2e.ts` doesn't contain such logic.

_Only one user created per role and user has the same name as its corresponding role with `changeme` password._

To have an ability to create roles we need to store their definitions somewhere. It's also convenient to have JSON definitions instead of YAML. Plus Serverless roles should be pulled from `project-controller` repo but it's not addressed in this PR. I've chosen the following locations

- Serverless Security roles in `packages/kbn-es/src/serverless_resources/security_roles.json`. While `@kbn/es` is a common package it has `serverless_resources` folder containing `roles.yml` with a mix of `https://github.com/elastic/project-controller/blob/main/internal/project/observability/config/roles.yml`, `https://github.com/elastic/project-controller/blob/main/internal/project/esproject/config/roles.yml` and `https://github.com/elastic/project-controller/blob/main/internal/project/security/config/roles.yml` copied from `project-controller` and used for ES data restore. As there is no automation yet it looks logical to keep Security roles subset next to ES Serverless resources.
- ESS Security specific roles in `x-pack/plugins/security_solution/common/test/ess_roles.json`

On top of that the following has been done

- `reader` role replaced  with `t1_analyst` where possible in tests (besides `e2e/explore/cases/attach_alert_to_case.cy.ts` but it's purely ESS test so it's fine) as `reader` is ESS specific and make harder to run the same tests in ESS and Serverless environments but both roles are almost equivalent
- `login()` helper function accepts all known roles (Serverless + ESS) but throws an exception if a custom ESS role is used under Serverless env
- `x-pack/plugins/security_solution/server/lib/detection_engine/scripts/roles_users` isn't necessary anymore as `security_roles.json` + `ess_roles.json` contain all the necessary data to create roles and users

### Does it enable role support for MKI environments?

No. This PR only enabling role support for Non-MKI Serverless environments. MKI env has predefined roles but not users. This will be addressed in a follow up PR.

## Flaky test runner

Two unskiped in this PR Serverless Cypress tests using non default role `detection_response/detection_alerts/missing_privileges_callout.cy.ts` and `detection_response/prebuilt_rules/prebuilt_rules_install_update_authorization.cy.ts`  [150 runs](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3723) 🟢 (there is one env related failure but it doesn't look related to the changes in this PR)
2023-10-31 09:39:47 -07:00
Hannah Mudge
9e8312f2e4
[Dashboard Navigation] Make links panel available under technical preview (#166896)
## Summary
This PR wraps up the work the @elastic/kibana-presentation team has done
to finish the MVP of [Phase
1](https://github.com/elastic/kibana/issues/154354) of the `Link`
embeddable, which enables users to add panels to their dashboard that
contain links to other dashboards + external links - with respect to
dashboard links, we give the author control over which pieces of context
should be kept across dashboards so that things like filter pills,
queries, and time ranges are not lost. This marks a huge improvement in
dashboard navigation overall, which was previously only available via a
variety of different workarounds including (but not limited to):
- Creating (essentially) a `noop` dashboard-to-dashboard drilldown 
- Using markdown panels with hard Dashboard links, which are prone to
break across updates
- Avoiding navigation all together, which resulted in large,
slow-to-load dashboards.

As an added benefit, because these panels contain **references** to each
dashboard rather than hard links, (1) unlike markdown links, they should
not break after updates and (2) if a links panel is exported and
imported into another space or instance, all of the dashboards it links
to will also be imported.



1a86b713-47e7-4db9-8a04-29d41b13681a

> **Note**
> 🔉 The above video has audio! Turn on your sound for the best
experience.

### Note about this PR
- A majority of this work was done on a feature branch, with thorough
reviews from @andreadelrio on behalf of @elastic/kibana-design along the
way. Therefore, while feedback on the design is encouraged, any large
concerns brought up in this PR should be filed as separate issues and
addressed in follow-up PRs.
- This PR contains work for giving embeddables control over their own
panel size / default positioning on the dashboard. This was especially
important for the links panel, since we assume that (a) most links
panels would be located somewhere near the top of the dashboard and (b)
the horizontal links panel should have a different default "shape"
(longer than it is tall) than the vertical panel (taller than it is
long).
- This PR also contains work for caching dashboard saved objects, which
makes navigation much more seamless.

### Flaky Test Runner
-
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3251


![image](7616443e-0cb0-43ce-a1d0-41f8bee6cbfc)


### Checklist

- [x] Any text added follows [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~ This will
be addressed in a follow up:
https://github.com/elastic/kibana/issues/166750
- [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 - ~Units tests
are added, functional tests are forthcoming~ Edit: All tests are in.
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [x] 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))
- [x] 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))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

### 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: Nick Peihl <nick.peihl@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Andrea Del Rio <delrio.andre@gmail.com>
Co-authored-by: Devon Thomson <devon.thomson@elastic.co>
Co-authored-by: Nick Peihl <nickpeihl@gmail.com>
Co-authored-by: Gerard Soldevila <gerard.soldevila@elastic.co>
2023-09-29 08:25:51 -06:00
Drew Tate
6d47334528
[Event annotations] add more API integration tests (#166463)
## Summary

Covers the event annotations API in tests.

Part of https://github.com/elastic/kibana/issues/159053
Part of https://github.com/elastic/kibana/issues/161038

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-09-18 12:45:06 -05:00
Drew Tate
276cf86858
[Event annotations] add types to integration tests (#164103) 2023-08-17 09:17:25 -05:00
Alejandro Fernández Haro
195216f0ec
[Serverless Telemetry] Add serverless label to inform of the project type (#159549)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-14 18:05:04 +02:00
Peter Pisljar
e3c3ba8aeb
bwca for unified search suggestions route (#158796)
## Summary

Makes unified search field suggestion route bwca

resolves https://github.com/elastic/kibana/issues/157085

- [x] 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>
2023-06-02 12:42:41 +03:00
Lukas Olson
9359c634df
Use locators service for Discover shared URLs (#154947)
## Summary

Resolves https://github.com/elastic/kibana/issues/148886.
Resolves https://github.com/elastic/kibana/issues/142525.
Resolves https://github.com/elastic/kibana/issues/156275.

Uses the URL locators service for generating the URL when clicking
"Share" in Discover. This enables ad-hoc data views in shared URLs. As a
result, we no longer show a prompt to save the ad-hoc data view before
sharing, which means we can get rid of some no-longer used hooks.

### Checklist

- [ ] Any text added follows [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
- [ ] [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)

### 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>
2023-05-17 14:26:53 -07:00
Gerard Soldevila
21351df953
Split the .kibana saved objects index into multiple indices (#154888)
## Description 

Fix https://github.com/elastic/kibana/issues/104081

This PR move some of the SO types from the `.kibana` index into the
following ones:
- `.kibana_alerting_cases`
- `.kibana_analytics`
- `.kibana_security_solution`
- `.kibana_ingest`

This split/reallocation will occur during the `8.8.0` Kibana upgrade
(*meaning: from any version older than `8.8.0` to any version greater or
equal to `8.8.0`*)

**This PR main changes are:**
- implement the changes required in the SO migration algorithm to
support this reallocation
- update the FTR tools (looking at you esArchiver) to support these new
indices
- update hardcoded references to `.kibana` and usage of the
`core.savedObjects.getKibanaIndex()` to use new APIs to target the
correct index/indices
- update FTR datasets, tests and utility accordingly 

## To reviewers

**Overall estimated risk of regressions: low**

But, still, please take the time to review changes in your code. The
parts of the production code that were the most impacted are the
telemetry collectors, as most of them were performing direct requests
against the `.kibana` index, so we had to adapt them. Most other
contributor-owned changes are in FTR tests and datasets.

If you think a type is misplaced (either we missed some types that
should be moved to a specific index, or some types were moved and
shouldn't have been) please tell us, and we'll fix the reallocation
either in this PR or in a follow-up.

## .Kibana split

The following new indices are introduced by this PR, with the following
SO types being moved to it. (any SO type not listed here will be staying
in its current index)

Note: The complete **_type => index_** breakdown is available in [this
spreadsheet](https://docs.google.com/spreadsheets/d/1b_MG_E_aBksZ4Vkd9cVayij1oBpdhvH4XC8NVlChiio/edit#gid=145920788).

#### `.kibana_alerting_cases`
- action
- action_task_params
- alert
- api_key_pending_invalidation
- cases
- cases-comments
- cases-configure
- cases-connector-mappings
- cases-telemetry
- cases-user-actions
- connector_token
- rules-settings
- maintenance-window

#### `.kibana_security_solution`
- csp-rule-template
- endpoint:user-artifact
- endpoint:user-artifact-manifest
- exception-list
- exception-list-agnostic
- osquery-manager-usage-metric
- osquery-pack
- osquery-pack-asset
- osquery-saved-query
- security-rule
- security-solution-signals-migration
- siem-detection-engine-rule-actions
- siem-ui-timeline
- siem-ui-timeline-note
- siem-ui-timeline-pinned-event

#### `.kibana_analytics`

- canvas-element
- canvas-workpad-template
- canvas-workpad
- dashboard
- graph-workspace
- index-pattern
- kql-telemetry
- lens
- lens-ui-telemetry
- map
- search
- search-session
- search-telemetry
- visualization

#### `.kibana_ingest`

- epm-packages
- epm-packages-assets
- fleet-fleet-server-host
- fleet-message-signing-keys
- fleet-preconfiguration-deletion-record
- fleet-proxy
- ingest_manager_settings
- ingest-agent-policies
- ingest-download-sources
- ingest-outputs
- ingest-package-policies

## Tasks / PRs

### Sub-PRs

**Implementation**
- 🟣 https://github.com/elastic/kibana/pull/154846
- 🟣 https://github.com/elastic/kibana/pull/154892
- 🟣 https://github.com/elastic/kibana/pull/154882
- 🟣 https://github.com/elastic/kibana/pull/154884
- 🟣 https://github.com/elastic/kibana/pull/155155

**Individual index split**
- 🟣 https://github.com/elastic/kibana/pull/154897
- 🟣 https://github.com/elastic/kibana/pull/155129
- 🟣 https://github.com/elastic/kibana/pull/155140
- 🟣 https://github.com/elastic/kibana/pull/155130

### Improvements / follow-ups 

- 👷🏼 Extract logic into
[runV2Migration](https://github.com/elastic/kibana/pull/154151#discussion_r1158470566)
@gsoldevila
- Make `getCurrentIndexTypesMap` resillient to intermittent failures
https://github.com/elastic/kibana/pull/154151#discussion_r1169289717
- 🚧 Build a more structured
[MigratorSynchronizer](https://github.com/elastic/kibana/pull/154151#discussion_r1158469918)
- 🟣 https://github.com/elastic/kibana/pull/155035
- 🟣 https://github.com/elastic/kibana/pull/155116
- 🟣 https://github.com/elastic/kibana/pull/155366
## Reallocation tweaks

Tweaks to the reallocation can be done after the initial merge, as long
as it's done before the public release of 8.8

- `url` should get back to `.kibana` (see
[comment](https://github.com/elastic/kibana/pull/154888#discussion_r1172317133))

## Release Note

For performance purposes, Kibana is now using more system indices to
store its internal data.

The following system indices will be created when upgrading to `8.8.0`:

- `.kibana_alerting_cases`
- `.kibana_analytics`
- `.kibana_security_solution`
- `.kibana_ingest`

---------

Co-authored-by: pgayvallet <pierre.gayvallet@elastic.co>
Co-authored-by: Christos Nasikas <christos.nasikas@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Georgii Gorbachev <georgii.gorbachev@elastic.co>
2023-04-25 09:43:42 +02:00
Trevor Pierce
6d55dd9fdd
Upgrade EUI to v76.3.0 (#153341)
## Summary

eui@76.0.2  eui@76.3.0

## [`76.3.0`](https://github.com/elastic/eui/tree/v76.3.0)

- Updated `EuiSkipLink`'s `fallbackDestination` prop to support an array
of query selector strings
([#6646](https://github.com/elastic/eui/pull/6646))

**Bug fixes**

- Fixed `EuiFlyout` to preserve body scrollbar width on open
([#6645](https://github.com/elastic/eui/pull/6645))
- Fixed `EuiImage`'s full screen mode to not scroll jump & to preserve
body scrollbar width on open
([#6645](https://github.com/elastic/eui/pull/6645))
- Fixed `EuiCodeBlock`'s full screen mode to not scroll jump & to
preserve body scrollbar width on open
([#6645](https://github.com/elastic/eui/pull/6645))

## [`76.2.0`](https://github.com/elastic/eui/tree/v76.2.0)

- Added new `renderCustomGridBody` escape hatch rendering prop to
`EuiDataGrid` ([#6624](https://github.com/elastic/eui/pull/6624))

**Bug fixes**

- Fixed visual listbox focus ring bug on non-searchable `EuiSelectable`s
([#6637](https://github.com/elastic/eui/pull/6637))
- Added a legacy `alert` alias for the `warning` `EuiIcon` type
([#6640](https://github.com/elastic/eui/pull/6640))
- Fixed a type definition incorrectly coming from a dev dependency,
which was causing issues for some consuming projects
([#6643](https://github.com/elastic/eui/pull/6643))

## [`76.1.0`](https://github.com/elastic/eui/tree/v76.1.0)

- Added more detailed screen reader instructions to `EuiSelectable`,
`EuiSuggest`, `EuiSelectableTemplateSitewide`, `EuiRange`, and
`EuiDualRange`. ([#6589](https://github.com/elastic/eui/pull/6589))
- Added new `placeholder` prop to `EuiSuperSelect`
([#6630](https://github.com/elastic/eui/pull/6630))
- Added new `setCellPopoverProps` parameter callback to `EuiDataGrid`'s
`renderCellPopover` prop
([#6632](https://github.com/elastic/eui/pull/6632))

**Bug fixes**

- Fixed an ARIA attribute in `EuiSelectableList`
([#6589](https://github.com/elastic/eui/pull/6589))
- Fixed `EuiSelectable` to no longer show active selection state or
respond to the Up/Down arrow keys when focus is inside the selectable
container, but not on the searchbox or listbox.
([#6631](https://github.com/elastic/eui/pull/6631))

---------

Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
2023-03-23 14:25:12 -07:00
Spencer
1b85815402
[packages] migrate all plugins to packages (#148130)
Fixes https://github.com/elastic/kibana/issues/149344

This PR migrates all plugins to packages automatically. It does this
using `node scripts/lint_packages` to automatically migrate
`kibana.json` files to `kibana.jsonc` files. By doing this automatically
we can simplify many build and testing procedures to only support
packages, and not both "packages" and "synthetic packages" (basically
pointers to plugins).

The majority of changes are in operations related code, so we'll be
having operations review this before marking it ready for review. The
vast majority of the code owners are simply pinged because we deleted
all `kibana.json` files and replaced them with `kibana.jsonc` files, so
we plan on leaving the PR ready-for-review for about 24 hours before
merging (after feature freeze), assuming we don't have any blockers
(especially from @elastic/kibana-core since there are a few core
specific changes, though the majority were handled in #149370).

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-02-08 21:06:50 -06:00
Yulia Čech
8705a6a77b
[Guided onboarding] Registers 3 separate guide IDs for search (#149968)
## Summary
Fixes https://github.com/elastic/kibana/issues/149691 
Follow up to https://github.com/elastic/kibana/pull/149528 

This PR adds 3 separate guide ID values `appSearch`, `websiteSearch` and
`databaseSearch` instead of previously used `search`. With that change,
each card for Search on the landing page has its own independent guide
that can be completed.

Example plugin for guided onboarding is also updated so that all 3
search guides can be managed there. Otherwise there should not be any
UI/UX changes.

Currently, all 3 ids are registered with the same config and that can be
easily updated by the team in the future.

#### Screenshot
<img width="485" alt="Screenshot 2023-01-31 at 18 24 12"
src="https://user-images.githubusercontent.com/6585477/215840343-f9a65be3-0568-40ca-b458-5de92bfe8aaf.png">


### Checklist
- [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

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-02-06 06:16:26 -07:00
Spencer
c8f83ed2eb
Move real plugins out of 'fixtures' dirs (#148756)
The location of plugins was previously somewhat irrelevant, but as we
move into packages it's more important that we can find all plugins in
the repository, and we would like to be able to do that without needing
to maintain a manifest somewhere to accomplish this. In order to make
this possible we plan to find any plugin/package by spotting all
kibana.json files which are not "fixtures". This allows plugin-like code
(but not actual plugin code) to exist for testing purposes, but it must
be within some form of "fixtures" directory, and any plugin that isn't
in a fixtures directory will be automatically pulled into the system
(though test plugins, examples, etc. will still only be loaded when the
plugin's path is passed via `--plugin-path`, the system will know about
them and use that knowledge for other things).

Since this is just a rename Operations will review and merge by EOD Jan
12th unless someone has a blocking concern.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-01-12 12:38:49 -07:00
Spencer
afb09ccf8a
Transpile packages on demand, validate all TS projects (#146212)
## Dearest Reviewers 👋 

I've been working on this branch with @mistic and @tylersmalley and
we're really confident in these changes. Additionally, this changes code
in nearly every package in the repo so we don't plan to wait for reviews
to get in before merging this. If you'd like to have a concern
addressed, please feel free to leave a review, but assuming that nobody
raises a blocker in the next 24 hours we plan to merge this EOD pacific
tomorrow, 12/22.

We'll be paying close attention to any issues this causes after merging
and work on getting those fixed ASAP. 🚀

---

The operations team is not confident that we'll have the time to achieve
what we originally set out to accomplish by moving to Bazel with the
time and resources we have available. We have also bought ourselves some
headroom with improvements to babel-register, optimizer caching, and
typescript project structure.

In order to make sure we deliver packages as quickly as possible (many
teams really want them), with a usable and familiar developer
experience, this PR removes Bazel for building packages in favor of
using the same JIT transpilation we use for plugins.

Additionally, packages now use `kbn_references` (again, just copying the
dx from plugins to packages).

Because of the complex relationships between packages/plugins and in
order to prepare ourselves for automatic dependency detection tools we
plan to use in the future, this PR also introduces a "TS Project Linter"
which will validate that every tsconfig.json file meets a few
requirements:

1. the chain of base config files extended by each config includes
`tsconfig.base.json` and not `tsconfig.json`
1. the `include` config is used, and not `files`
2. the `exclude` config includes `target/**/*`
3. the `outDir` compiler option is specified as `target/types`
1. none of these compiler options are specified: `declaration`,
`declarationMap`, `emitDeclarationOnly`, `skipLibCheck`, `target`,
`paths`

4. all references to other packages/plugins use their pkg id, ie:
	
	```js
    // valid
    {
      "kbn_references": ["@kbn/core"]
    }
    // not valid
    {
      "kbn_references": [{ "path": "../../../src/core/tsconfig.json" }]
    }
    ```

5. only packages/plugins which are imported somewhere in the ts code are
listed in `kbn_references`

This linter is not only validating all of the tsconfig.json files, but
it also will fix these config files to deal with just about any
violation that can be produced. Just run `node scripts/ts_project_linter
--fix` locally to apply these fixes, or let CI take care of
automatically fixing things and pushing the changes to your PR.

> **Example:** [`64e93e5`
(#146212)](64e93e5806)
When I merged main into my PR it included a change which removed the
`@kbn/core-injected-metadata-browser` package. After resolving the
conflicts I missed a few tsconfig files which included references to the
now removed package. The TS Project Linter identified that these
references were removed from the code and pushed a change to the PR to
remove them from the tsconfig.json files.

## No bazel? Does that mean no packages??
Nope! We're still doing packages but we're pretty sure now that we won't
be using Bazel to accomplish the 'distributed caching' and 'change-based
tasks' portions of the packages project.

This PR actually makes packages much easier to work with and will be
followed up with the bundling benefits described by the original
packages RFC. Then we'll work on documentation and advocacy for using
packages for any and all new code.

We're pretty confident that implementing distributed caching and
change-based tasks will be necessary in the future, but because of
recent improvements in the repo we think we can live without them for
**at least** a year.

## Wait, there are still BUILD.bazel files in the repo
Yes, there are still three webpack bundles which are built by Bazel: the
`@kbn/ui-shared-deps-npm` DLL, `@kbn/ui-shared-deps-src` externals, and
the `@kbn/monaco` workers. These three webpack bundles are still created
during bootstrap and remotely cached using bazel. The next phase of this
project is to figure out how to get the package bundling features
described in the RFC with the current optimizer, and we expect these
bundles to go away then. Until then any package that is used in those
three bundles still needs to have a BUILD.bazel file so that they can be
referenced by the remaining webpack builds.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-12-22 19:00:29 -06:00
Spencer
2763af3a4e
[ftr] remove @types/mocha, define custom ambient-ftr-types (#147284)
After moving away from composite projects in the IDE we now have an
issue where projects like security solutions are getting `@types/jest`
and `@types/mocha` loaded up, even though the "types" compiler option in
security solutions focuses on jest. To fix this I've removed the
`@types/mocha` package, implemented/copied a portion of the mocha types
into a new `@kbn/ambient-ftr-types` package which can be used in ftr
packages to define the describe/it/etc. globals.

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-12-19 10:42:12 -07:00
Spencer
7d77d39e1f
[ts] set allowJs to true by default (#144281)
* [ts] set allowJs to true by default

* fix scripts/check_ts_projects, original implementation is now wildly inefficient

* produce stats in check_ts_projects to make sure it's actually working

* fix imports
2022-11-01 15:26:44 -07:00
spalger
52f2b33a07
[auto] migrate existing plugin/package configs 2022-10-28 14:06:46 -05:00
spalger
e5d186a6f0
[ts] stop building @types packages in bootstrap 2022-10-28 14:03:55 -05:00
Alejandro Fernández Haro
a2b0927e65
[EBT] Better FTR helper APIs (#135298) 2022-06-29 14:11:13 +02:00
Clint Andrew Hall
d92b7feeff
[typescript] Create Ambient Types package (#129368)
* WIP

* tweak @kbn/ambient-ui-types for special usecase

* remove @types/ for ambient-ui-types, the package is a types package

* Split types; remove duplicate types in packages

* Adjust README

* Update CODEOWNERS

* Addressing feedback

* Move to tsconfig.base.json

* Fix missing types array in kbn/field-types

* Addressing errors

* Return declaration

* move storybook types to storybook specific package

* add codeowner for new package

Co-authored-by: spalger <spencer@elastic.co>
2022-04-06 19:21:24 -05:00
Alejandro Fernández Haro
fcf862220b
Create @elastic/analytics package (#128407)
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-04-05 08:21:57 -07:00
Nodir Latipov
3e2761d981
[Unified search] Create unified search plugin (#127651)
* [Unified search] Create unified search plugin

* add unified_search into USES_STYLED_COMPONENTS

* fix JEST group 4

* update limits for data plugin

* fix: remove unifiedSearch plugin from x-pack/plugins/file_upload

* feat: updated .github/CODEOWNERS and set @elastic/kibana-app-services as a code owner

* apply PR comments

* [CI] Auto-commit changed files from 'node scripts/build_plugin_list_docs'

* feat: moved filter bar, apply filters folders and apply filter action from Data plugin to unified search plugin

* fix Checks

* fix Checks

* fix Linting and Default CI Group #16

* fix Checks

* fix Checks

* fix Linting (with types)

* fix show FILTER_BAR

* fix Jest Tests

* feat replece indexPatternsContranct in setIndexPatterns to DataViewsContract

* feat: removed unnecessary interface in unified search

* fix Checks

* fix Checks

* fix Jest Tests, Checks

* fix Checks

* resolve comments

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-04-05 12:23:31 +05:00
Diana Derevyankina
a9ec1be357
Combine visualizations and visualize plugins (#121550)
* [WIP] Combine visualizations and visualize plugins

* Revert some changes and do some refactoring

* Refactor some code

* Fix some tests

* Fix functional tests and some jest test cases

* Update telemetry

* Fix get_visualization_instance.test and plugin-list.asciidoc

* Refactor some code

* fix CI

* Add visualizations to vis_default_editor tsconfig

* Revert changes related to telemetry and permissions

* Add dashboard to timeseries tsconfig.json

* Update limits file

* Update translation keys

* Add capabilitiesProvider back to server and replace visEditorsRegistry getter and setter with service

* Update mocks.ts

* Revert changes related to visEditorsRegistry

* Get rid of visEditorsRegistry getter and setter

* Remove dashboard from timeseries/tsconfig.json

* Return back dashboard dependency to timeseries/tsconfig.json, rename applicaion folder to visualize_app and APP_NAME to VISUALIZE_APP_NAME, revert types.ts

* Remove comma in .i18nrc.json

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
2022-01-12 16:49:22 +03:00
Tyler Smalley
92a8636f0f
Upgrade Typescript to 4.3.5 (#104470)
Co-authored-by: Mikhail Shustov <restrry@gmail.com>
Co-authored-by: Dario Gieselaar <dario.gieselaar@elastic.co>
Co-authored-by: CJ Cenizal <cj@cenizal.com>
Co-authored-by: Justin Kambic <justin.kambic@elastic.co>
Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
Co-authored-by: Jean-Louis Leysens <jloleysens@gmail.com>
Co-authored-by: Kyle Pollich <kpollich1@gmail.com>
Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>
Co-authored-by: Kevin Qualters <kevin.qualters@elastic.co>
Co-authored-by: Candace Park <candace.park@elastic.co>
Co-authored-by: Brian Seeders <brian.seeders@elastic.co>
Co-authored-by: spalger <spencer@elastic.co>
2021-12-02 16:27:41 -08:00
Matthew Kime
25ddd37cba
rename index pattern management to data view management (#119260)
* rename index pattern management to data view management
2021-11-22 10:56:32 -06:00
Aleh Zasypkin
025861c189
Add API integration tests for Interactive Setup. (#111879) 2021-10-14 20:14:01 +02:00
Rudolf Meijering
5464af6923
legacy dashboards import/export API: deprecation logs and usage data (#111283)
* Move legacy dashboards API to core and adds usage data

* More legacy_export plugin removal

* Log a warning for deprecated dashboard import/export API

* Review comments
2021-09-08 16:15:52 -04:00
Spencer
c0395c9ef6
[build_ts_refs] improve caches, allow building a subset of projects (#107981)
* [build_ts_refs] improve caches, allow building a subset of projects

* cleanup project def script and update refs in type check script

* rename browser_bazel config to avoid kebab-case

* remove execInProjects() helper

* list references for tsconfig.types.json for api-extractor workload

* disable composite features of tsconfig.types.json for api-extractor

* set declaration: true to avoid weird debug error

* fix jest tests

Co-authored-by: spalger <spalger@users.noreply.github.com>
2021-08-10 22:12:45 -07:00
Greg Thompson
fa03028688
Enable CSS-in-JS styling with emotion (#98157)
* emotion deps

* kbn-babel

* kbn-test

* examples

* babel-plugin-styled-components config

* css prop type fixes

* type context

* declaration location

* some emotion types resolved

* clean up

* emotion v10 accomodations

* types

* kbn-crypto

* kbn-telemetry-tools

* bazel

* eslint rule; shared file regex array

* update paths

* Update packages/kbn-eslint-plugin-eslint/rules/module_migration.js

Co-authored-by: Spencer <email@spalger.com>

* remove placeholder styles

* doc api changes

* snapshot updates

* storybook comments

* use constant

* bump new deps

* condense versions

Co-authored-by: Spencer <email@spalger.com>
2021-07-09 13:42:50 -05:00
Josh Dover
524401973f
Add timeouts and setup enforcement for custom plugins statuses (#77965) 2021-06-23 13:58:10 -04:00
Spencer
bdafd27e19
[ts] migrate x-pack/test to composite ts project (#101441)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2021-06-08 12:54:05 -04:00