mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
449 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
a9f076cb1f
|
Sustainable Kibana Architecture: Move modules owned by @elastic/security-threat-hunting (#203046)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > * This PR has been auto-generated. > * Any manual contributions will be lost if the 'relocate' script is re-run. > * Try to obtain the missing reviews / approvals before applying manual fixes, and/or keep your changes in a .patch / git stash. > * Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 2 packages(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/data-stream-adapter` | `x-pack/solutions/security/packages/kbn-data-stream-adapter` | | `@kbn/index-adapter` | `x-pack/solutions/security/packages/kbn-index-adapter` | --------- Co-authored-by: PhilippeOberti <philippe.oberti@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
33c18c72fa
|
Sustainable Kibana Architecture: Move modules owned by @elastic/security-threat-hunting-investigations (#202855)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > * This PR has been auto-generated. > * Any manual contributions will be lost if the 'relocate' script is re-run. > * Try to obtain the missing reviews / approvals before applying manual fixes, and/or keep your changes in a .patch / git stash. > * Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 2 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/threat-intelligence-plugin` | `x-pack/solutions/security/plugins/threat_intelligence` | | `@kbn/timelines-plugin` | `x-pack/solutions/security/plugins/timelines` | #### 2 packages(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/expandable-flyout` | `x-pack/solutions/security/packages/kbn-expandable-flyout` | | `@kbn/securitysolution-data-table` | `x-pack/solutions/security/packages/data_table` | Co-authored-by: PhilippeOberti <philippe.oberti@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
5dee9994c9
|
Sustainable Kibana Architecture: Move modules owned by @elastic/obs-ux-management-team (#202832)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 8 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/exploratory-view-plugin` | `x-pack/solutions/observability/plugins/exploratory_view` | | `@kbn/investigate-app-plugin` | `x-pack/solutions/observability/plugins/investigate_app` | | `@kbn/investigate-plugin` | `x-pack/solutions/observability/plugins/investigate` | | `@kbn/observability-plugin` | `x-pack/solutions/observability/plugins/observability` | | `@kbn/serverless-observability` | `x-pack/solutions/observability/plugins/serverless_observability` | | `@kbn/slo-plugin` | `x-pack/solutions/observability/plugins/slo` | | `@kbn/synthetics-plugin` | `x-pack/solutions/observability/plugins/synthetics` | | `@kbn/uptime-plugin` | `x-pack/solutions/observability/plugins/uptime` | #### 10 package(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/data-forge` | `x-pack/platform/packages/shared/kbn-data-forge` | | `@kbn/deeplinks-observability` | `src/platform/packages/shared/deeplinks/observability` | | `@kbn/infra-forge` | `x-pack/platform/packages/private/kbn-infra-forge` | | `@kbn/investigation-shared` | `x-pack/solutions/observability/packages/kbn-investigation-shared` | | `@kbn/observability-alert-details` | `x-pack/solutions/observability/packages/alert_details` | | `@kbn/observability-alerting-rule-utils` | `x-pack/platform/packages/shared/observability/alerting_rule_utils` | | `@kbn/observability-alerting-test-data` | `x-pack/solutions/observability/packages/alerting_test_data` | | `@kbn/observability-get-padded-alert-time-range-util` | `x-pack/solutions/observability/packages/get_padded_alert_time_range_util` | | `@kbn/observability-synthetics-test-data` | `x-pack/solutions/observability/packages/synthetics_test_data` | | `@kbn/slo-schema` | `x-pack/platform/packages/shared/kbn-slo-schema` | <details> <summary>Updated references</summary> ``` ./.buildkite/ftr_oblt_stateful_configs.yml ./.buildkite/pipelines/on_merge_unsupported_ftrs.yml ./.buildkite/pipelines/pull_request/exploratory_view_plugin.yml ./.buildkite/pipelines/pull_request/slo_plugin_e2e.yml ./.buildkite/pipelines/pull_request/synthetics_plugin.yml ./.buildkite/pipelines/pull_request/uptime_plugin.yml ./.buildkite/scripts/steps/functional/exploratory_view_plugin.sh ./.buildkite/scripts/steps/functional/slo_plugin_e2e.sh ./.buildkite/scripts/steps/functional/synthetics.sh ./.buildkite/scripts/steps/functional/synthetics_plugin.sh ./.buildkite/scripts/steps/functional/uptime_plugin.sh ./.eslintrc.js ./.github/paths-labeller.yml ./.i18nrc.json ./docs/developer/plugin-list.asciidoc ./oas_docs/overlays/alerting.overlays.yaml ./oas_docs/scripts/merge_ess_oas.js ./oas_docs/scripts/merge_serverless_oas.js ./package.json ./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts ./packages/kbn-eslint-plugin-i18n/rules/formatted_message_should_start_with_the_right_id.test.ts ./packages/kbn-eslint-plugin-i18n/rules/i18n_translate_should_start_with_the_right_id.test.ts ./packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_formatted_message.test.ts ./packages/kbn-eslint-plugin-i18n/rules/strings_should_be_translated_with_i18n.test.ts ./packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./src/dev/storybook/aliases.ts ./src/platform/packages/shared/deeplinks/observability/jest.config.js ./src/plugins/guided_onboarding/README.md ./tsconfig.base.json ./x-pack/.i18nrc.json ./x-pack/platform/packages/private/kbn-infra-forge/jest.config.js ./x-pack/platform/packages/shared/kbn-data-forge/jest.config.js ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh ./x-pack/platform/packages/shared/kbn-slo-schema/jest.config.js ./x-pack/platform/packages/shared/observability/alerting_rule_utils/jest.config.js ./x-pack/plugins/observability_solution/observability/dev_docs/custom_threshold.md ./x-pack/plugins/observability_solution/slo/dev_docs/slo.md ./x-pack/plugins/observability_solution/uptime/.buildkite/pipelines/flaky.sh ./x-pack/plugins/observability_solution/uptime/README.md ./x-pack/plugins/observability_solution/uptime/e2e/README.md ./x-pack/solutions/observability/packages/alert_details/jest.config.js ./x-pack/solutions/observability/packages/alerting_test_data/jest.config.js ./x-pack/solutions/observability/packages/get_padded_alert_time_range_util/jest.config.js ./x-pack/solutions/observability/packages/kbn-investigation-shared/jest.config.js ./x-pack/solutions/observability/packages/synthetics_test_data/jest.config.js ./x-pack/solutions/observability/plugins/exploratory_view/README.md ./x-pack/solutions/observability/plugins/exploratory_view/e2e/README.md ./x-pack/solutions/observability/plugins/exploratory_view/jest.config.js ./x-pack/solutions/observability/plugins/investigate/jest.config.js ./x-pack/solutions/observability/plugins/investigate_app/jest.config.js ./x-pack/solutions/observability/plugins/observability/jest.config.js ./x-pack/solutions/observability/plugins/slo/docs/openapi/slo/README.md ./x-pack/solutions/observability/plugins/slo/jest.config.js ./x-pack/solutions/observability/plugins/synthetics/.buildkite/pipelines/flaky.sh ./x-pack/solutions/observability/plugins/synthetics/README.md ./x-pack/solutions/observability/plugins/synthetics/e2e/README.md ./x-pack/solutions/observability/plugins/synthetics/jest.config.js ./x-pack/solutions/observability/plugins/uptime/e2e/README.md ./x-pack/solutions/observability/plugins/uptime/jest.config.js ./yarn.lock ``` </details> <details> <summary>Updated relative paths</summary> ``` src/platform/packages/shared/deeplinks/observability/jest.config.js:12 src/platform/packages/shared/deeplinks/observability/tsconfig.json:2 x-pack/platform/packages/private/kbn-infra-forge/jest.config.js:10 x-pack/platform/packages/private/kbn-infra-forge/tsconfig.json:2 x-pack/platform/packages/shared/kbn-data-forge/jest.config.js:10 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_hosts/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_logs/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/admin_console/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/heartbeat/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/message_processor/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/mongodb/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/src/data_sources/fake_stack/nginx_proxy/ecs/generate.sh:3 x-pack/platform/packages/shared/kbn-data-forge/tsconfig.json:2 x-pack/platform/packages/shared/kbn-slo-schema/jest.config.js:10 x-pack/platform/packages/shared/kbn-slo-schema/tsconfig.json:2 x-pack/platform/packages/shared/observability/alerting_rule_utils/jest.config.js:10 x-pack/platform/packages/shared/observability/alerting_rule_utils/tsconfig.json:2 x-pack/solutions/observability/packages/alert_details/jest.config.js:10 x-pack/solutions/observability/packages/alert_details/tsconfig.json:2 x-pack/solutions/observability/packages/alerting_test_data/jest.config.js:10 x-pack/solutions/observability/packages/alerting_test_data/tsconfig.json:2 x-pack/solutions/observability/packages/get_padded_alert_time_range_util/jest.config.js:10 x-pack/solutions/observability/packages/get_padded_alert_time_range_util/tsconfig.json:2 x-pack/solutions/observability/packages/kbn-investigation-shared/jest.config.js:12 x-pack/solutions/observability/packages/kbn-investigation-shared/tsconfig.json:2 x-pack/solutions/observability/packages/synthetics_test_data/jest.config.js:10 x-pack/solutions/observability/packages/synthetics_test_data/tsconfig.json:2 x-pack/solutions/observability/plugins/exploratory_view/e2e/README.md:13 x-pack/solutions/observability/plugins/exploratory_view/e2e/synthetics_run.ts:28 x-pack/solutions/observability/plugins/exploratory_view/e2e/synthetics_run.ts:33 x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:19 x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:27 x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:34 x-pack/solutions/observability/plugins/exploratory_view/e2e/tsconfig.json:2 x-pack/solutions/observability/plugins/exploratory_view/jest.config.js:10 x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/README.md:116 x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/README.md:156 x-pack/solutions/observability/plugins/exploratory_view/public/components/shared/exploratory_view/README.md:161 x-pack/solutions/observability/plugins/exploratory_view/tsconfig.json:2 x-pack/solutions/observability/plugins/exploratory_view/tsconfig.json:6 x-pack/solutions/observability/plugins/investigate/jest.config.js:10 x-pack/solutions/observability/plugins/investigate/tsconfig.json:2 x-pack/solutions/observability/plugins/investigate/tsconfig.json:7 x-pack/solutions/observability/plugins/investigate_app/jest.config.js:10 x-pack/solutions/observability/plugins/investigate_app/tsconfig.json:2 x-pack/solutions/observability/plugins/investigate_app/tsconfig.json:7 x-pack/solutions/observability/plugins/observability/dev_docs/custom_threshold.md:10 x-pack/solutions/observability/plugins/observability/dev_docs/custom_threshold.md:36 x-pack/solutions/observability/plugins/observability/dev_docs/feature_flags.md:14 x-pack/solutions/observability/plugins/observability/jest.config.js:10 x-pack/solutions/observability/plugins/observability/tsconfig.json:12 x-pack/solutions/observability/plugins/observability/tsconfig.json:2 x-pack/solutions/observability/plugins/serverless_observability/package.json:8 x-pack/solutions/observability/plugins/serverless_observability/package.json:9 x-pack/solutions/observability/plugins/serverless_observability/tsconfig.json:12 x-pack/solutions/observability/plugins/serverless_observability/tsconfig.json:2 x-pack/solutions/observability/plugins/slo/dev_docs/slo.md:11 x-pack/solutions/observability/plugins/slo/e2e/tsconfig.json:2 x-pack/solutions/observability/plugins/slo/jest.config.js:10 x-pack/solutions/observability/plugins/slo/tsconfig.json:10 x-pack/solutions/observability/plugins/slo/tsconfig.json:2 x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:19 x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:27 x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:34 x-pack/solutions/observability/plugins/synthetics/e2e/tsconfig.json:2 x-pack/solutions/observability/plugins/synthetics/jest.config.js:10 x-pack/solutions/observability/plugins/synthetics/tsconfig.json:12 x-pack/solutions/observability/plugins/synthetics/tsconfig.json:2 x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:19 x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:27 x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:34 x-pack/solutions/observability/plugins/uptime/e2e/tasks/read_kibana_config.ts:15 x-pack/solutions/observability/plugins/uptime/e2e/tsconfig.json:2 x-pack/solutions/observability/plugins/uptime/jest.config.js:10 x-pack/solutions/observability/plugins/uptime/tsconfig.json:13 x-pack/solutions/observability/plugins/uptime/tsconfig.json:2 ``` </details> <details> <summary>Script errors</summary> ``` Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:19 Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:27 Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/exploratory_view/e2e/tasks/es_archiver.ts:34 Cannot replace multiple occurrences of "../../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/observability/dev_docs/feature_flags.md:14 Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:19 Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:27 Cannot replace multiple occurrences of "../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/synthetics/e2e/tasks/es_archiver.ts:34 Cannot replace multiple occurrences of "../../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:19 Cannot replace multiple occurrences of "../../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:27 Cannot replace multiple occurrences of "../../../.." in the same line, please fix manually: /Users/gsoldevila/Work/kibana-tertiary/x-pack/solutions/observability/plugins/uptime/e2e/tasks/es_archiver.ts:34 ``` </details> --------- Co-authored-by: shahzad31 <shahzad31comp@gmail.com> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
50068fd9ba
|
Sustainable Kibana Architecture: Move modules under x-pack/packages/security-solution (#203522)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 7 package(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/ecs-data-quality-dashboard` | `x-pack/solutions/security/packages/ecs_data_quality_dashboard` | | `@kbn/security-solution-distribution-bar` | `x-pack/solutions/security/packages/distribution_bar` | | `@kbn/security-solution-features` | `x-pack/solutions/security/packages/features` | | `@kbn/security-solution-navigation` | `x-pack/solutions/security/packages/navigation` | | `@kbn/security-solution-side-nav` | `x-pack/solutions/security/packages/side_nav` | | `@kbn/security-solution-upselling` | `x-pack/solutions/security/packages/upselling` | | `@kbn/securitysolution-data-table` | `x-pack/solutions/security/packages/data_table` | <details> <summary>Updated references</summary> ``` ./.eslintrc.js ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./tsconfig.base.json ./tsconfig.base.type_check.json ./tsconfig.refs.json ./x-pack/solutions/security/packages/data_table/jest.config.js ./x-pack/solutions/security/packages/distribution_bar/jest.config.js ./x-pack/solutions/security/packages/ecs_data_quality_dashboard/jest.config.js ./x-pack/solutions/security/packages/features/jest.config.js ./x-pack/solutions/security/packages/navigation/jest.config.js ./x-pack/solutions/security/packages/side_nav/jest.config.js ./x-pack/solutions/security/packages/upselling/jest.config.js ./x-pack/solutions/security/plugins/security_solution_serverless/tsconfig.type_check.json ./yarn.lock ``` </details> <details> <summary>Updated relative paths</summary> ``` x-pack/solutions/security/packages/data_table/jest.config.js:11 x-pack/solutions/security/packages/data_table/tsconfig.json:2 x-pack/solutions/security/packages/distribution_bar/jest.config.js:11 x-pack/solutions/security/packages/distribution_bar/tsconfig.json:2 x-pack/solutions/security/packages/ecs_data_quality_dashboard/jest.config.js:21 x-pack/solutions/security/packages/ecs_data_quality_dashboard/tsconfig.json:2 x-pack/solutions/security/packages/features/jest.config.js:10 x-pack/solutions/security/packages/features/tsconfig.json:2 x-pack/solutions/security/packages/navigation/jest.config.js:10 x-pack/solutions/security/packages/navigation/tsconfig.json:2 x-pack/solutions/security/packages/side_nav/jest.config.js:10 x-pack/solutions/security/packages/side_nav/src/solution_side_nav.stories.tsx:11 x-pack/solutions/security/packages/side_nav/tsconfig.json:2 x-pack/solutions/security/packages/upselling/jest.config.js:10 x-pack/solutions/security/packages/upselling/tsconfig.json:2 ``` </details> <details> <summary>Script errors</summary> ``` ``` </details> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Angela Chuang <yi-chun.chuang@elastic.co> Co-authored-by: Karen Grigoryan <karen.grigoryan@elastic.co> |
||
|
84b19ec3ea
|
Sustainable Kibana Architecture: Move modules owned by @elastic/obs-ai-assistant (#202763)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > * This PR has been auto-generated. > * Any manual contributions will be lost if the 'relocate' script is re-run. > * Try to obtain the missing reviews / approvals before applying manual fixes, and/or keep your changes in a .patch / git stash. > * Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 5 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/ai-assistant-management-plugin` | `src/platform/plugins/shared/ai_assistant_management/selection` | | `@kbn/data-usage-plugin` | `x-pack/platform/plugins/private/data_usage` | | `@kbn/observability-ai-assistant-app-plugin` | `x-pack/solutions/observability/plugins/observability_ai_assistant_app` | | `@kbn/observability-ai-assistant-management-plugin` | `x-pack/solutions/observability/plugins/observability_ai_assistant_management` | | `@kbn/observability-ai-assistant-plugin` | `x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant` | #### 2 packages(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/observability-ai-common` | `x-pack/solutions/observability/packages/observability_ai/observability_ai_common` | | `@kbn/observability-ai-server` | `x-pack/solutions/observability/packages/observability_ai/observability_ai_server` | <details > <summary>Updated references</summary> ``` ./.github/paths-labeller.yml ./.i18nrc.json ./docs/developer/plugin-list.asciidoc ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./src/dev/storybook/aliases.ts ./src/platform/plugins/shared/ai_assistant_management/selection/jest.config.js ./src/platform/plugins/shared/discover/tsconfig.type_check.json ./tsconfig.base.json ./tsconfig.base.type_check.json ./tsconfig.refs.json ./x-pack/.i18nrc.json ./x-pack/platform/plugins/private/data_usage/jest.config.js ./x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/jest.config.js ./x-pack/plugins/enterprise_search/kibana.jsonc ./x-pack/plugins/observability_solution/observability_ai_assistant/server/functions/index.ts ./x-pack/plugins/observability_solution/observability_ai_assistant_app/tsconfig.type_check.json ./x-pack/plugins/search_connectors/kibana.jsonc ./x-pack/solutions/observability/packages/observability_ai/observability_ai_common/jest.config.js ./x-pack/solutions/observability/packages/observability_ai/observability_ai_server/jest.config.js ./x-pack/solutions/observability/plugins/observability_ai_assistant_app/jest.config.js ./x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/README.md ./x-pack/solutions/observability/plugins/observability_ai_assistant_management/jest.config.js ./x-pack/test/tsconfig.type_check.json ./x-pack/test_serverless/tsconfig.type_check.json ./yarn.lock ``` </details><details > <summary>Updated relative paths</summary> ``` src/platform/plugins/shared/ai_assistant_management/selection/jest.config.js:12 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.json:2 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:18 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:2 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:21 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:24 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:27 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:30 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:33 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:36 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:39 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:42 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:45 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:48 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:51 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:54 src/platform/plugins/shared/ai_assistant_management/selection/tsconfig.type_check.json:57 x-pack/platform/plugins/private/data_usage/jest.config.js:10 x-pack/platform/plugins/private/data_usage/tsconfig.json:11 x-pack/platform/plugins/private/data_usage/tsconfig.json:2 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/jest.config.js:10 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.json:2 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.json:7 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:100 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:103 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:2 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:22 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:25 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:28 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:31 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:34 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:37 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:40 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:43 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:46 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:49 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:52 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:55 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:58 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:61 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:64 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:67 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:70 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:73 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:76 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:79 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:82 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:85 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:88 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:9 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:91 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:94 x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant/tsconfig.type_check.json:97 x-pack/solutions/observability/packages/observability_ai/observability_ai_common/jest.config.js:10 x-pack/solutions/observability/packages/observability_ai/observability_ai_common/tsconfig.json:2 x-pack/solutions/observability/packages/observability_ai/observability_ai_server/jest.config.js:10 x-pack/solutions/observability/packages/observability_ai/observability_ai_server/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_ai_assistant_app/jest.config.js:10 x-pack/solutions/observability/plugins/observability_ai_assistant_app/scripts/evaluation/read_kibana_config.ts:16 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.json:7 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:100 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:103 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:106 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:109 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:112 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:118 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:121 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:124 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:127 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:130 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:133 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:136 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:139 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:142 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:145 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:148 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:151 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:154 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:157 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:160 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:163 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:166 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:169 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:172 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:175 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:178 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:181 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:184 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:190 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:193 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:2 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:22 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:28 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:31 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:34 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:37 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:40 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:43 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:46 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:49 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:52 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:55 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:58 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:61 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:64 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:67 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:70 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:73 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:76 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:79 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:82 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:85 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:88 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:9 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:91 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:94 x-pack/solutions/observability/plugins/observability_ai_assistant_app/tsconfig.type_check.json:97 x-pack/solutions/observability/plugins/observability_ai_assistant_management/jest.config.js:10 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:18 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:2 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:21 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:24 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:27 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:30 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:33 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:36 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:39 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:45 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:48 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:51 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:54 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:60 x-pack/solutions/observability/plugins/observability_ai_assistant_management/tsconfig.type_check.json:63 ``` </details> |
||
|
93122486d0
|
[Visual Refresh] Borealis visualization palettes (#201015)
Adds support for toggling between the old Amsterdam themed visualizations palettes and the new Borealis themed palettes. |
||
|
0b9179acbd
|
Sustainable Kibana Architecture: Add scripts/relocate CLI (beta) (#203803)
## Summary Adds the `node scripts/relocate` functionality, that helps moving modules to their intended locations, according to the _Sustainable Kibana Architecture_. Please refer to the README.md for further details and usage. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
fa1998ce92
|
[RCA] AI-assisted root cause analysis (#197200)
Implements an LLM-based root cause analysis process. At a high level, it works by investigating entities - which means pulling in alerts, SLOs, and log patterns. From there, it can inspect related entities to get to the root cause. The backend implementation lives in `x-pack/packages/observability_utils-*` (`service_rca`). It can be imported into any server-side plugin and executed from there. The UI changes are mostly contained to `x-pack/plugins/observability_solution/observabillity_ai_assistant_app`. This plugin now exports a `RootCauseAnalysisContainer` which takes a stream of data that is returned by the root cause analysis process. The current implementation lives in the Investigate app. There, it calls its own endpoint that kicks off the RCA process, and feeds it into the `RootCauseAnalysisContainer` exposed by the Observability AI Assistant app plugin. I've left it in a route there so the investigation itself can be updated as the process runs - this would allow the user to close the browser and come back later, and see a full investigation. > [!NOTE] > Notes for reviewing teams > > @kbn/es-types: > - support both types and typesWithBodyKey > - simplify KeysOfSources type > > @kbn/server-route-repository: > - abortable streamed responses > > @kbn/sse-utils*: > - abortable streamed responses > - serialize errors in specific format for more reliable re-hydration of errors > - keep connection open with SSE comments > > @kbn/inference-*: > - export *Of variants of types, for easier manual inference > - add automated retries for `output` API > - add `name` to tool responses for type inference (get type of tool response via tool name) > - add `data` to tool responses for transporting internal data (not sent to the LLM) > - simplify `chunksIntoMessage` > - allow consumers of nlToEsql task to add to `system` prompt > - add toolCallId to validation error message > > @kbn/aiops*: > - export `categorizationAnalyzer` for use in observability-ai* > > @kbn/observability-ai-assistant* > - configurable limit (tokens or doc count) for knowledge base recall > > @kbn/slo*: > - export client that returns summary indices --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Maryam Saeidi <maryam.saeidi@elastic.co> Co-authored-by: Bena Kansara <bena.kansara@elastic.co> |
||
|
9bec521a5e
|
Sustainable Kibana Architecture: Move modules owned by @elastic/streams-program-team (#203180)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 2 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/streams-app-plugin` | `x-pack/solutions/observability/plugins/streams_app` | | `@kbn/streams-plugin` | `x-pack/solutions/observability/plugins/streams` | <details> <summary>Updated references</summary> ``` ./docs/developer/plugin-list.asciidoc ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./tsconfig.base.json ./x-pack/.i18nrc.json ./x-pack/solutions/observability/plugins/streams/jest.config.js ./x-pack/solutions/observability/plugins/streams_app/jest.config.js ./yarn.lock ``` </details> <details> <summary>Updated relative paths</summary> ``` x-pack/solutions/observability/plugins/streams/jest.config.js:10 x-pack/solutions/observability/plugins/streams/tsconfig.json:2 x-pack/solutions/observability/plugins/streams/tsconfig.json:7 x-pack/solutions/observability/plugins/streams_app/jest.config.js:10 x-pack/solutions/observability/plugins/streams_app/tsconfig.json:2 x-pack/solutions/observability/plugins/streams_app/tsconfig.json:7 ``` </details> <details> <summary>Script errors</summary> ``` ``` </details> |
||
|
c609daa97c
|
Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-localization (#202725)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 1 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/translations-plugin` | `x-pack/platform/plugins/private/translations` | <details> <summary>Updated references</summary> ``` ./docs/developer/plugin-list.asciidoc ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-synthetic-package-map/synthetic-packages.json ./packages/kbn-ts-projects/config-paths.json ./src/dev/i18n_tools/README.md ./tsconfig.base.json ./tsconfig.refs.json ./yarn.lock ``` </details> <details> <summary>Updated relative paths</summary> ``` x-pack/platform/plugins/private/translations/tsconfig.json:2 ``` </details> <details> <summary>Script errors</summary> ``` ``` </details> |
||
|
a0f5a7f3fc
|
Sustainable Kibana Architecture: Move modules owned by @elastic/appex-ai-infra (#202410)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 3 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/inference-plugin` | `x-pack/platform/plugins/shared/inference` | | `@kbn/llm-tasks-plugin` | `x-pack/platform/plugins/shared/ai_infra/llm_tasks` | | `@kbn/product-doc-base-plugin` | `x-pack/platform/plugins/shared/ai_infra/product_doc_base` | #### 2 package(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/inference-common` | `x-pack/platform/packages/shared/ai-infra/inference-common` | | `@kbn/product-doc-common` | `x-pack/platform/packages/shared/ai-infra/product-doc-common` | <details> <summary>Updated references</summary> ``` ./docs/developer/plugin-list.asciidoc ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./tsconfig.base.json ./x-pack/.i18nrc.json ./x-pack/platform/packages/shared/ai-infra/inference-common/jest.config.js ./x-pack/platform/packages/shared/ai-infra/product-doc-common/jest.config.js ./x-pack/platform/plugins/shared/ai_infra/llm_tasks/jest.config.js ./x-pack/platform/plugins/shared/ai_infra/product_doc_base/jest.config.js ./x-pack/platform/plugins/shared/inference/jest.config.js ./x-pack/platform/plugins/shared/inference/scripts/evaluation/README.md ./yarn.lock ``` </details> <details> <summary>Updated relative paths</summary> ``` x-pack/platform/packages/shared/ai-infra/inference-common/jest.config.js:10 x-pack/platform/packages/shared/ai-infra/inference-common/tsconfig.json:2 x-pack/platform/packages/shared/ai-infra/product-doc-common/jest.config.js:10 x-pack/platform/packages/shared/ai-infra/product-doc-common/tsconfig.json:2 x-pack/platform/plugins/shared/ai_infra/llm_tasks/jest.config.js:10 x-pack/platform/plugins/shared/ai_infra/llm_tasks/tsconfig.json:2 x-pack/platform/plugins/shared/ai_infra/llm_tasks/tsconfig.json:7 x-pack/platform/plugins/shared/ai_infra/product_doc_base/jest.config.js:10 x-pack/platform/plugins/shared/ai_infra/product_doc_base/tsconfig.json:2 x-pack/platform/plugins/shared/ai_infra/product_doc_base/tsconfig.json:7 x-pack/platform/plugins/shared/inference/jest.config.js:10 x-pack/platform/plugins/shared/inference/scripts/util/read_kibana_config.ts:16 x-pack/platform/plugins/shared/inference/tsconfig.json:2 x-pack/platform/plugins/shared/inference/tsconfig.json:7 ``` </details> <details> <summary>Script errors</summary> ``` ``` </details> --------- Co-authored-by: pgayvallet <pierre.gayvallet@elastic.co> |
||
|
11b27f3016
|
Sustainable Kibana Architecture: Move modules owned by @elastic/security-asset-management (#202839)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 1 package(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/osquery-io-ts-types` | `src/platform/packages/shared/kbn-osquery-io-ts-types` | <details> <summary>Updated references</summary> ``` ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./src/platform/packages/shared/kbn-osquery-io-ts-types/jest.config.js ./tsconfig.base.json ./yarn.lock ``` </details> <details> <summary>Updated relative paths</summary> ``` src/platform/packages/shared/kbn-osquery-io-ts-types/jest.config.js:12 src/platform/packages/shared/kbn-osquery-io-ts-types/tsconfig.json:2 ``` </details> <details> <summary>Script errors</summary> ``` ``` </details> |
||
|
58b8b47928
|
Sustainable Kibana Architecture: Move modules owned by @elastic/ml-ui (#202764)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 4 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/aiops-plugin` | `x-pack/platform/plugins/shared/aiops` | | `@kbn/data-visualizer-plugin` | `x-pack/platform/plugins/private/data_visualizer` | | `@kbn/ml-plugin` | `x-pack/platform/plugins/shared/ml` | | `@kbn/transform-plugin` | `x-pack/platform/plugins/private/transform` | #### 42 package(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/aiops-change-point-detection` | `x-pack/platform/packages/private/ml/aiops_change_point_detection` | | `@kbn/aiops-common` | `x-pack/platform/packages/shared/ml/aiops_common` | | `@kbn/aiops-components` | `x-pack/platform/packages/private/ml/aiops_components` | | `@kbn/aiops-log-pattern-analysis` | `x-pack/platform/packages/shared/ml/aiops_log_pattern_analysis` | | `@kbn/aiops-log-rate-analysis` | `x-pack/platform/packages/shared/ml/aiops_log_rate_analysis` | | `@kbn/aiops-test-utils` | `x-pack/platform/packages/private/ml/aiops_test_utils` | | `@kbn/deeplinks-ml` | `src/platform/packages/shared/deeplinks/ml` | | `@kbn/default-nav-ml` | `src/platform/packages/private/default-nav/ml` | | `@kbn/inference_integration_flyout` | `x-pack/platform/packages/private/ml/inference_integration_flyout` | | `@kbn/json-schemas` | `x-pack/platform/packages/private/ml/json_schemas` | | `@kbn/ml-agg-utils` | `x-pack/platform/packages/private/ml/agg_utils` | | `@kbn/ml-anomaly-utils` | `x-pack/platform/packages/shared/ml/anomaly_utils` | | `@kbn/ml-cancellable-search` | `x-pack/platform/packages/private/ml/cancellable_search` | | `@kbn/ml-category-validator` | `x-pack/platform/packages/private/ml/category_validator` | | `@kbn/ml-chi2test` | `x-pack/platform/packages/shared/ml/chi2test` | | `@kbn/ml-creation-wizard-utils` | `x-pack/platform/packages/private/ml/creation_wizard_utils` | | `@kbn/ml-data-frame-analytics-utils` | `x-pack/platform/packages/private/ml/data_frame_analytics_utils` | | `@kbn/ml-data-grid` | `x-pack/platform/packages/private/ml/data_grid` | | `@kbn/ml-data-view-utils` | `x-pack/platform/packages/private/ml/data_view_utils` | | `@kbn/ml-date-picker` | `x-pack/platform/packages/private/ml/date_picker` | | `@kbn/ml-date-utils` | `x-pack/platform/packages/private/ml/date_utils` | | `@kbn/ml-error-utils` | `x-pack/platform/packages/shared/ml/error_utils` | | `@kbn/ml-field-stats-flyout` | `x-pack/platform/packages/private/ml/field_stats_flyout` | | `@kbn/ml-in-memory-table` | `x-pack/platform/packages/private/ml/in_memory_table` | | `@kbn/ml-is-defined` | `x-pack/platform/packages/private/ml/is_defined` | | `@kbn/ml-is-populated-object` | `x-pack/platform/packages/private/ml/is_populated_object` | | `@kbn/ml-kibana-theme` | `x-pack/platform/packages/private/ml/kibana_theme` | | `@kbn/ml-local-storage` | `x-pack/platform/packages/private/ml/local_storage` | | `@kbn/ml-nested-property` | `x-pack/platform/packages/private/ml/nested_property` | | `@kbn/ml-number-utils` | `x-pack/platform/packages/private/ml/number_utils` | | `@kbn/ml-parse-interval` | `x-pack/platform/packages/private/ml/parse_interval` | | `@kbn/ml-query-utils` | `x-pack/platform/packages/private/ml/query_utils` | | `@kbn/ml-random-sampler-utils` | `x-pack/platform/packages/shared/ml/random_sampler_utils` | | `@kbn/ml-response-stream` | `x-pack/platform/packages/shared/ml/response_stream` | | `@kbn/ml-route-utils` | `x-pack/platform/packages/private/ml/route_utils` | | `@kbn/ml-runtime-field-utils` | `x-pack/platform/packages/shared/ml/runtime_field_utils` | | `@kbn/ml-string-hash` | `x-pack/platform/packages/private/ml/string_hash` | | `@kbn/ml-time-buckets` | `x-pack/platform/packages/private/ml/time_buckets` | | `@kbn/ml-trained-models-utils` | `x-pack/platform/packages/shared/ml/trained_models_utils` | | `@kbn/ml-ui-actions` | `x-pack/platform/packages/private/ml/ui_actions` | | `@kbn/ml-url-state` | `x-pack/platform/packages/private/ml/url_state` | | `@kbn/ml-validators` | `x-pack/platform/packages/private/ml/validators` | <details> <summary>Updated references</summary> ``` ./.eslintrc.js ./docs/developer/plugin-list.asciidoc ./docs/redirects.asciidoc ./oas_docs/scripts/merge_ess_oas.js ./oas_docs/scripts/merge_serverless_oas.js ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-synthetic-package-map/synthetic-packages.json ./packages/kbn-ts-projects/config-paths.json ./src/platform/packages/private/default-nav/ml/jest.config.js ./src/platform/packages/shared/deeplinks/ml/jest.config.js ./tsconfig.base.json ./tsconfig.refs.json ./x-pack/.i18nrc.json ./x-pack/packages/security-solution/navigation/src/constants.ts ./x-pack/platform/packages/private/ml/agg_utils/jest.config.js ./x-pack/platform/packages/private/ml/aiops_change_point_detection/jest.config.js ./x-pack/platform/packages/private/ml/aiops_components/jest.config.js ./x-pack/platform/packages/private/ml/aiops_test_utils/jest.config.js ./x-pack/platform/packages/private/ml/cancellable_search/jest.config.js ./x-pack/platform/packages/private/ml/category_validator/jest.config.js ./x-pack/platform/packages/private/ml/creation_wizard_utils/jest.config.js ./x-pack/platform/packages/private/ml/data_frame_analytics_utils/jest.config.js ./x-pack/platform/packages/private/ml/data_grid/jest.config.js ./x-pack/platform/packages/private/ml/data_view_utils/jest.config.js ./x-pack/platform/packages/private/ml/date_picker/jest.config.js ./x-pack/platform/packages/private/ml/date_utils/jest.config.js ./x-pack/platform/packages/private/ml/field_stats_flyout/jest.config.js ./x-pack/platform/packages/private/ml/in_memory_table/jest.config.js ./x-pack/platform/packages/private/ml/inference_integration_flyout/jest.config.js ./x-pack/platform/packages/private/ml/is_defined/jest.config.js ./x-pack/platform/packages/private/ml/is_populated_object/jest.config.js ./x-pack/platform/packages/private/ml/json_schemas/jest.config.js ./x-pack/platform/packages/private/ml/kibana_theme/jest.config.js ./x-pack/platform/packages/private/ml/local_storage/jest.config.js ./x-pack/platform/packages/private/ml/nested_property/jest.config.js ./x-pack/platform/packages/private/ml/number_utils/jest.config.js ./x-pack/platform/packages/private/ml/parse_interval/jest.config.js ./x-pack/platform/packages/private/ml/query_utils/jest.config.js ./x-pack/platform/packages/private/ml/route_utils/jest.config.js ./x-pack/platform/packages/private/ml/string_hash/jest.config.js ./x-pack/platform/packages/private/ml/time_buckets/jest.config.js ./x-pack/platform/packages/private/ml/ui_actions/jest.config.js ./x-pack/platform/packages/private/ml/url_state/jest.config.js ./x-pack/platform/packages/private/ml/validators/jest.config.js ./x-pack/platform/packages/shared/ml/aiops_common/jest.config.js ./x-pack/platform/packages/shared/ml/aiops_log_pattern_analysis/jest.config.js ./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/jest.config.js ./x-pack/platform/packages/shared/ml/anomaly_utils/jest.config.js ./x-pack/platform/packages/shared/ml/chi2test/jest.config.js ./x-pack/platform/packages/shared/ml/error_utils/jest.config.js ./x-pack/platform/packages/shared/ml/random_sampler_utils/jest.config.js ./x-pack/platform/packages/shared/ml/response_stream/jest.config.js ./x-pack/platform/packages/shared/ml/runtime_field_utils/jest.config.js ./x-pack/platform/packages/shared/ml/trained_models_utils/jest.config.js ./x-pack/platform/plugins/private/data_visualizer/jest.config.js ./x-pack/platform/plugins/private/transform/jest.config.js ./x-pack/platform/plugins/private/transform/readme.md ./x-pack/platform/plugins/shared/aiops/README.md ./x-pack/platform/plugins/shared/aiops/jest.config.js ./x-pack/platform/plugins/shared/aiops/public/application/utils/build_extended_base_filter_criteria.ts ./x-pack/platform/plugins/shared/aiops/public/application/utils/search_utils.ts ./x-pack/platform/plugins/shared/ml/jest.config.js ./x-pack/platform/plugins/shared/ml/readme.md ./x-pack/plugins/aiops/README.md ./x-pack/plugins/security_solution/common/machine_learning/affected_job_ids.ts ./x-pack/plugins/security_solution/common/machine_learning/helpers.ts ./yarn.lock ``` </details> <details> <summary>Updated relative paths</summary> ``` src/platform/packages/private/default-nav/ml/jest.config.js:12 src/platform/packages/private/default-nav/ml/tsconfig.json:2 src/platform/packages/shared/deeplinks/ml/jest.config.js:12 src/platform/packages/shared/deeplinks/ml/tsconfig.json:2 x-pack/platform/packages/private/ml/agg_utils/jest.config.js:10 x-pack/platform/packages/private/ml/agg_utils/tsconfig.json:2 x-pack/platform/packages/private/ml/aiops_change_point_detection/jest.config.js:10 x-pack/platform/packages/private/ml/aiops_change_point_detection/tsconfig.json:2 x-pack/platform/packages/private/ml/aiops_components/jest.config.js:10 x-pack/platform/packages/private/ml/aiops_components/tsconfig.json:2 x-pack/platform/packages/private/ml/aiops_test_utils/jest.config.js:10 x-pack/platform/packages/private/ml/aiops_test_utils/tsconfig.json:2 x-pack/platform/packages/private/ml/cancellable_search/jest.config.js:10 x-pack/platform/packages/private/ml/cancellable_search/tsconfig.json:2 x-pack/platform/packages/private/ml/category_validator/jest.config.js:10 x-pack/platform/packages/private/ml/category_validator/tsconfig.json:2 x-pack/platform/packages/private/ml/creation_wizard_utils/jest.config.js:10 x-pack/platform/packages/private/ml/creation_wizard_utils/tsconfig.json:2 x-pack/platform/packages/private/ml/data_frame_analytics_utils/jest.config.js:10 x-pack/platform/packages/private/ml/data_frame_analytics_utils/tsconfig.json:2 x-pack/platform/packages/private/ml/data_grid/jest.config.js:10 x-pack/platform/packages/private/ml/data_grid/tsconfig.json:2 x-pack/platform/packages/private/ml/data_view_utils/jest.config.js:10 x-pack/platform/packages/private/ml/data_view_utils/tsconfig.json:2 x-pack/platform/packages/private/ml/date_picker/jest.config.js:10 x-pack/platform/packages/private/ml/date_picker/tsconfig.json:2 x-pack/platform/packages/private/ml/date_utils/jest.config.js:10 x-pack/platform/packages/private/ml/date_utils/tsconfig.json:2 x-pack/platform/packages/private/ml/field_stats_flyout/jest.config.js:10 x-pack/platform/packages/private/ml/field_stats_flyout/tsconfig.json:2 x-pack/platform/packages/private/ml/in_memory_table/jest.config.js:10 x-pack/platform/packages/private/ml/in_memory_table/tsconfig.json:2 x-pack/platform/packages/private/ml/inference_integration_flyout/jest.config.js:10 x-pack/platform/packages/private/ml/inference_integration_flyout/tsconfig.json:2 x-pack/platform/packages/private/ml/is_defined/jest.config.js:10 x-pack/platform/packages/private/ml/is_defined/tsconfig.json:2 x-pack/platform/packages/private/ml/is_populated_object/jest.config.js:10 x-pack/platform/packages/private/ml/is_populated_object/tsconfig.json:2 x-pack/platform/packages/private/ml/json_schemas/jest.config.js:10 x-pack/platform/packages/private/ml/json_schemas/package.json:7 x-pack/platform/packages/private/ml/json_schemas/tsconfig.json:2 x-pack/platform/packages/private/ml/kibana_theme/jest.config.js:10 x-pack/platform/packages/private/ml/kibana_theme/tsconfig.json:2 x-pack/platform/packages/private/ml/local_storage/jest.config.js:10 x-pack/platform/packages/private/ml/local_storage/tsconfig.json:2 x-pack/platform/packages/private/ml/nested_property/jest.config.js:10 x-pack/platform/packages/private/ml/nested_property/tsconfig.json:2 x-pack/platform/packages/private/ml/number_utils/jest.config.js:10 x-pack/platform/packages/private/ml/number_utils/tsconfig.json:2 x-pack/platform/packages/private/ml/parse_interval/jest.config.js:10 x-pack/platform/packages/private/ml/parse_interval/tsconfig.json:2 x-pack/platform/packages/private/ml/query_utils/jest.config.js:10 x-pack/platform/packages/private/ml/query_utils/tsconfig.json:2 x-pack/platform/packages/private/ml/route_utils/jest.config.js:10 x-pack/platform/packages/private/ml/route_utils/tsconfig.json:2 x-pack/platform/packages/private/ml/string_hash/jest.config.js:10 x-pack/platform/packages/private/ml/string_hash/tsconfig.json:2 x-pack/platform/packages/private/ml/time_buckets/jest.config.js:10 x-pack/platform/packages/private/ml/time_buckets/tsconfig.json:2 x-pack/platform/packages/private/ml/ui_actions/jest.config.js:10 x-pack/platform/packages/private/ml/ui_actions/tsconfig.json:2 x-pack/platform/packages/private/ml/url_state/jest.config.js:10 x-pack/platform/packages/private/ml/url_state/tsconfig.json:2 x-pack/platform/packages/private/ml/validators/jest.config.js:10 x-pack/platform/packages/private/ml/validators/tsconfig.json:2 x-pack/platform/packages/shared/ml/aiops_common/jest.config.js:10 x-pack/platform/packages/shared/ml/aiops_common/tsconfig.json:2 x-pack/platform/packages/shared/ml/aiops_log_pattern_analysis/jest.config.js:10 x-pack/platform/packages/shared/ml/aiops_log_pattern_analysis/tsconfig.json:2 x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/jest.config.js:10 x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/tsconfig.json:2 x-pack/platform/packages/shared/ml/anomaly_utils/jest.config.js:10 x-pack/platform/packages/shared/ml/anomaly_utils/tsconfig.json:2 x-pack/platform/packages/shared/ml/chi2test/jest.config.js:10 x-pack/platform/packages/shared/ml/chi2test/tsconfig.json:2 x-pack/platform/packages/shared/ml/error_utils/jest.config.js:10 x-pack/platform/packages/shared/ml/error_utils/tsconfig.json:2 x-pack/platform/packages/shared/ml/random_sampler_utils/jest.config.js:10 x-pack/platform/packages/shared/ml/random_sampler_utils/tsconfig.json:2 x-pack/platform/packages/shared/ml/response_stream/jest.config.js:10 x-pack/platform/packages/shared/ml/response_stream/tsconfig.json:2 x-pack/platform/packages/shared/ml/runtime_field_utils/jest.config.js:10 x-pack/platform/packages/shared/ml/runtime_field_utils/tsconfig.json:2 x-pack/platform/packages/shared/ml/trained_models_utils/jest.config.js:10 x-pack/platform/packages/shared/ml/trained_models_utils/tsconfig.json:2 x-pack/platform/plugins/private/data_visualizer/jest.config.js:10 x-pack/platform/plugins/private/data_visualizer/tsconfig.json:2 x-pack/platform/plugins/private/data_visualizer/tsconfig.json:7 x-pack/platform/plugins/private/transform/jest.config.js:10 x-pack/platform/plugins/private/transform/tsconfig.json:10 x-pack/platform/plugins/private/transform/tsconfig.json:2 x-pack/platform/plugins/shared/aiops/jest.config.js:10 x-pack/platform/plugins/shared/aiops/tsconfig.json:2 x-pack/platform/plugins/shared/aiops/tsconfig.json:7 x-pack/platform/plugins/shared/ml/jest.config.js:10 x-pack/platform/plugins/shared/ml/readme.md:186 x-pack/platform/plugins/shared/ml/readme.md:192 x-pack/platform/plugins/shared/ml/tsconfig.json:12 x-pack/platform/plugins/shared/ml/tsconfig.json:2 x-pack/platform/plugins/shared/ml/tsconfig.json:24 ``` </details> <details> <summary>Script errors</summary> ``` ``` </details> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Walter Rafelsberger <walter.rafelsberger@elastic.co> |
||
|
ad4e8efd0f
|
[kbn-scout] Custom event-oriented test reporter & persistence (#202906) | ||
|
d0fde5f8e1
|
[React@18] Env variable to use React@18 (#193113)
Part of https://github.com/elastic/kibana-team/issues/1016#issuecomment-2454845292 Our plan for React@18 packages upgrade is to let kibana contributors now that we're going to bump React packages couple weeks in advance. In addtion to the final PR with green tests and Kibana deployed, we want to give simple instructions on how to run React@18 locally easilly: This PR allows to quickly toggle between version of React locally without having to do anything beyond an environment variable. `REACT_18=true yarn bootstrap` will alias `react` and `react-dom` to v18 in the build. I check that this works as expected when starting from: - local dev server `yarn start` - local ftr `node scripts/functional_tests_server.js` - local unit tests `REACT_18=true yarn test:jest ...` Please note: - **This PR doesn't implement this switch for dist build, as I don't think we need this for our purposes.** - The plan is that we remove this switch soon after we merge React@18 upgrade to main. In addition to the switch this PR mutes a very noisy warning from React@18 about legacy root `Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17.`. This warning is expected as after we upgrade to React@18 packages (Phase 1) we will be in the process of migrating to the new createRoot API (Phase 2). However, it is very noisy and we want to mute it for now. Co-authored-by: Anton Dosov <anton.dosov@elastic.co> |
||
|
313f973aec
|
Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-esql (#202722)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 2 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/esql` | `src/platform/plugins/shared/esql` | | `@kbn/esql-datagrid` | `src/platform/plugins/shared/esql_datagrid` | #### 5 package(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/esql-ast` | `src/platform/packages/shared/kbn-esql-ast` | | `@kbn/esql-editor` | `src/platform/packages/private/kbn-esql-editor` | | `@kbn/esql-utils` | `src/platform/packages/shared/kbn-esql-utils` | | `@kbn/esql-validation-autocomplete` | `src/platform/packages/shared/kbn-esql-validation-autocomplete` | | `@kbn/language-documentation` | `src/platform/packages/private/kbn-language-documentation` | <details> <summary>Updated references</summary> ``` ./.buildkite/scripts/steps/esql_generate_function_metadata.sh ./.buildkite/scripts/steps/esql_grammar_sync.sh ./.eslintignore ./.eslintrc.js ./.i18nrc.json ./docs/developer/plugin-list.asciidoc ./examples/esql_ast_inspector/public/plugin.ts ./examples/esql_validation_example/public/plugin.ts ./package.json ./packages/kbn-esql-validation-autocomplete/src/validation/validation.test.ts ./packages/kbn-monaco/BUILD.bazel ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./packages/kbn-ui-shared-deps-src/BUILD.bazel ./src/dev/storybook/aliases.ts ./src/platform/packages/private/kbn-esql-editor/jest.config.js ./src/platform/packages/private/kbn-language-documentation/jest.config.js ./src/platform/packages/private/kbn-language-documentation/package.json ./src/platform/packages/shared/kbn-esql-ast/jest.config.js ./src/platform/packages/shared/kbn-esql-utils/jest.config.js ./src/platform/packages/shared/kbn-esql-validation-autocomplete/README.md ./src/platform/packages/shared/kbn-esql-validation-autocomplete/jest.config.js ./src/platform/packages/shared/kbn-esql-validation-autocomplete/jest.integration.config.js ./src/platform/packages/shared/kbn-esql-validation-autocomplete/package.json ./src/platform/packages/shared/kbn-esql-validation-autocomplete/src/autocomplete/helper.ts ./src/platform/plugins/shared/esql/jest.config.js ./src/platform/plugins/shared/esql_datagrid/jest.config.js ./tsconfig.base.json ./yarn.lock ``` </details> <details> <summary>Updated relative paths</summary> ``` src/platform/packages/private/kbn-esql-editor/jest.config.js:12 src/platform/packages/private/kbn-esql-editor/tsconfig.json:2 src/platform/packages/private/kbn-language-documentation/jest.config.js:12 src/platform/packages/private/kbn-language-documentation/package.json:12 src/platform/packages/private/kbn-language-documentation/tsconfig.json:2 src/platform/packages/shared/kbn-esql-ast/jest.config.js:12 src/platform/packages/shared/kbn-esql-ast/tsconfig.json:2 src/platform/packages/shared/kbn-esql-utils/jest.config.js:12 src/platform/packages/shared/kbn-esql-utils/tsconfig.json:2 src/platform/packages/shared/kbn-esql-validation-autocomplete/jest.config.js:12 src/platform/packages/shared/kbn-esql-validation-autocomplete/jest.integration.config.js:12 src/platform/packages/shared/kbn-esql-validation-autocomplete/package.json:10 src/platform/packages/shared/kbn-esql-validation-autocomplete/package.json:11 src/platform/packages/shared/kbn-esql-validation-autocomplete/scripts/generate_function_definitions.ts:389 src/platform/packages/shared/kbn-esql-validation-autocomplete/tsconfig.json:2 src/platform/plugins/shared/esql/jest.config.js:12 src/platform/plugins/shared/esql/tsconfig.json:2 src/platform/plugins/shared/esql/tsconfig.json:7 src/platform/plugins/shared/esql_datagrid/jest.config.js:12 src/platform/plugins/shared/esql_datagrid/tsconfig.json:2 src/platform/plugins/shared/esql_datagrid/tsconfig.json:7 ``` </details> <details> <summary>Script errors</summary> ``` ``` </details> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Rudolf Meijering <skaapgif@gmail.com> |
||
|
df3b18214f
|
Sustainable Kibana Architecture: Move modules owned by @elastic/obs-entities (#202713)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. > [!IMPORTANT] > * We kindly ask you to: > * Manually fix the errors in the error section below (if there are any). > * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. > * Manually review `.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names > * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below, as some of them contain relative paths that have been updated. > * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: > * customised eslint rules > * docs pointing to source code > [!NOTE] > This PR has been auto-generated. > Do not attempt to push any changes unless you know what you are doing. > Please use [#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E) Slack channel for feedback. #### 3 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/entities-data-access-plugin` | `x-pack/solutions/observability/plugins/observability_solution/entities_data_access` | | `@kbn/entityManager-app-plugin` | `x-pack/solutions/observability/plugins/observability_solution/entity_manager_app` | | `@kbn/entityManager-plugin` | `x-pack/platform/plugins/shared/entity_manager` | #### 1 package(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/entities-schema` | `x-pack/platform/packages/shared/kbn-entities-schema` | <details> <summary>Updated references</summary> ``` ./docs/developer/plugin-list.asciidoc ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./tsconfig.base.json ./x-pack/platform/packages/shared/kbn-entities-schema/jest.config.js ./x-pack/platform/plugins/shared/entity_manager/jest.config.js ./x-pack/plugins/entity_manager/docs/entity_definitions.md ./x-pack/solutions/observability/plugins/observability_solution/entities_data_access/jest.config.js ./x-pack/solutions/observability/plugins/observability_solution/entity_manager_app/jest.config.js ./yarn.lock ``` </details> <details> <summary>Updated relative paths</summary> ``` x-pack/platform/packages/shared/kbn-entities-schema/jest.config.js:10 x-pack/platform/packages/shared/kbn-entities-schema/scripts/generate.js:8 x-pack/platform/packages/shared/kbn-entities-schema/scripts/generate_oas.js:65 x-pack/platform/packages/shared/kbn-entities-schema/scripts/generate_oas.js:8 x-pack/platform/packages/shared/kbn-entities-schema/scripts/serve_oas_ui.js:8 x-pack/platform/packages/shared/kbn-entities-schema/tsconfig.json:2 x-pack/platform/plugins/shared/entity_manager/jest.config.js:10 x-pack/platform/plugins/shared/entity_manager/tsconfig.json:2 x-pack/platform/plugins/shared/entity_manager/tsconfig.json:7 x-pack/solutions/observability/plugins/observability_solution/entities_data_access/jest.config.js:12 x-pack/solutions/observability/plugins/observability_solution/entities_data_access/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_solution/entity_manager_app/jest.config.js:12 x-pack/solutions/observability/plugins/observability_solution/entity_manager_app/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_solution/entity_manager_app/tsconfig.json:7 ``` </details> <details> <summary>Script errors</summary> ``` ``` </details> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Rudolf Meijering <skaapgif@gmail.com> |
||
|
b2d49b8beb
|
Sustainable Kibana Architecture: Move modules owned by @elastic/docs (#202416)
## Summary This PR aims at relocating some of the Kibana modules (plugins and packages) into a new folder structure, according to the _Sustainable Kibana Architecture_ initiative. We kindly ask you to: * Review the moved files, as some of them contain relative paths that have been updated. * Review the updated files, as some of them contain references that have been updated. * Think of potential impact of the move, including tooling and configuration files that can be pointing to the relocated modules. E.g.: * customised eslint rules * docs pointing to source code * We kindly ask you to: * Search for the `packages[\/\\]` and `plugins[\/\\]` patterns in the source code (Babel and Eslint config files), and update them appropriately. * Manually review .buildkite/scripts/pipelines/pull_request/pipeline.ts to ensure that any CI pipeline customizations continue to be correctly applied after the changed path names * Review all of the updated files, specially the `.ts` and `.js` files listed in the sections below. #### 1 package(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/doc-links` | `src/platform/packages/shared/kbn-doc-links` | <details> <summary>Updated references</summary> ``` ./docs/upgrade-notes.asciidoc ./package.json ./packages/kbn-repo-packages/package-map.json ./packages/kbn-ts-projects/config-paths.json ./src/core/tsconfig.type_check.json ./src/platform/packages/shared/kbn-doc-links/jest.config.js ./src/plugins/ai_assistant_management/selection/tsconfig.type_check.json ./tsconfig.base.json ./tsconfig.base.type_check.json ./tsconfig.refs.json ./x-pack/plugins/alerting/tsconfig.type_check.json ./x-pack/plugins/search_connectors/tsconfig.type_check.json ./x-pack/plugins/search_inference_endpoints/tsconfig.type_check.json ./x-pack/plugins/search_playground/tsconfig.type_check.json ./x-pack/plugins/security_solution/tsconfig.type_check.json ./x-pack/plugins/serverless_search/tsconfig.type_check.json ./x-pack/plugins/threat_intelligence/tsconfig.type_check.json ./yarn.lock ``` </details> <details> <summary>Updated relative paths</summary> ``` src/platform/packages/shared/kbn-doc-links/jest.config.js:12 src/platform/packages/shared/kbn-doc-links/tsconfig.json:2 src/platform/packages/shared/kbn-doc-links/tsconfig.type_check.json:2 ``` </details> <details> <summary>Script errors</summary> ``` ``` </details> |
||
|
14ad13b6a3
|
Add base FTR test coverage for inference APIs (#198000)
## Summary Part of https://github.com/elastic/kibana-team/issues/1271 This PR introduces the first set of end to end integration test for the inference APIs, and the tooling required to do so (see issue for more context) - Add a dedicated pipeline for ai-infra GenAI tests. pipeline is triggered when: - genAI stack connectors, or ai-infra owned code is changed - when the `ci:all-gen-ai-suites` label is present on a PR - on merge - adapt the `ftr_configs.sh` script to load GenAI connector configuration from vault when a specific var env is set - create the `@kbn/gen-ai-functional-testing` package, which for now only contains utilities to load the GenAI connector configuration in FTR tests - Add FTR integration tests for the `chatComplete` API of the `inference` plugin --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
8f267fd83c
|
[ResponseOps][Rules] Move Rule Form code into @kbn/response-ops-rule-form (#198725)
## Summary Part of #195211 Moves Rule Form code out of `@kbn/alerts-ui-shared` and into a new package called `@kbn/response-ops-rule-form`. Some types and hooks that are used by multiple features or solutions are still in `@kbn/alerts-ui-shared` and have been rerouted. The bulk of Rule Form-specific code is in this new package. ### 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> Co-authored-by: Kevin Delemme <kevin.delemme@elastic.co> |
||
|
e5b1773971
|
Create the "Asset Inventory" Kibana Plugin (#202291)
## Summary Closes https://github.com/elastic/kibana/issues/201704. Create an empty "Asset Inventory" plugin with the minimal boilerplate required to set it up, install it and run it on Kibana with a blank slate. I generated the files using the `node scripts/generate_plugin <NAME>` script as per [this documentation page](https://docs.elastic.dev/kibana-dev-docs/getting-started/hello-world-app#2-option-2---use-the-automatic-plugin-generator). ### Screenshots <details><summary>Main page (Sample page)</summary> <img width="2498" alt="Screenshot 2024-11-29 at 14 20 57" src="https://github.com/user-attachments/assets/9d8a3751-519b-4661-bc90-cbb1e836b111"> </details> ### Implementation details - [x] Generated a new Kibana plugin with minimal boilerplate and zero dependencies - [x] Use [Cloud Security Posture](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_security_posture) plugin as configuration reference - [x] Render "Inventory" title on the main page - [x] Ensure the plugin is properly integrated into Kibana's build and can be loaded without errors - [x] Place the plugin under the `x-pack/plugins` directory - [x] Include Readme file - [x] Introduce placeholders for initialization of pipelines and transforms following [Cloud Security Posture](https://github.com/elastic/kibana/blob/main/x-pack/plugins/cloud_security_posture/server/plugin.ts) plugin initialize function. ### PR Checklist - [ ] No docs for now ~~[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials~~ - [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) ### Risks No risks at all since this is totally green-field and will be hidden by a feature toggle. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Paulo Silva <paulo.henrique@elastic.co> |
||
|
b0122f547d
|
[Discover / Logs] Add new "Saved Search component" (#199787)
## Summary Implements https://github.com/elastic/logs-dev/issues/111#issuecomment-2446470635. This adds a new "Saved Search component". The component is a wrapper around the current Saved Search Embeddable, but uses `ReactEmbeddableRenderer` directly to render the embeddable outside of Dashboard contexts. It monitors changes to things like `index`, `filters` etc and communicates these changes through the embeddable API. For this PoC two locations were changed to use this component 1) Logs Overview flyout 2) APM Logs tab (when the Logs Overview isn't enabled via advanced settings). The component itself is technically beyond a PoC, and resides in it's own package. ~I'd like to get eyes from the Discover folks etc on the approach, and if we're happy I can fix the remaining known issues (apart from the mixing of columns point as I believe this exists on the roadmap anyway) and we can merge this for the initial two replacement points.~ [Thanks Davis 👌](https://github.com/elastic/logs-dev/issues/111#issuecomment-2475350199). `nonPersistedDisplayOptions` is added to facilitate some configurable options via runtime state, but without the complexity of altering the actual saved search saved object. On the whole I've tried to keep this as clean as possible whilst working within the embeddable framework, outside of a dashboard context. ## Known issues - ~"Flyout on flyout" in the logs overview flyout (e.g. triggering the table's flyout in this context).~ Fixed with `enableFlyout` option. - ~Filter buttons should be disabled via pills (e.g. in Summary column).~ Fixed with `enableFilters` option. - Summary (`_source`) column cannot be used alongside other columns, e.g. log level, so column customisation isn't currently enabled. You'll just get timestamp and summary. This requires changes in the Unified Data Table. **Won't be fixed in this PR** - We are left with this panel button that technically doesn't do anything outside of a dashboard. I don't *think* there's an easy way to disable this. **Won't be fixed in this PR**  ## Followups - ~The Logs Overview details state machine can be cleaned up (it doesn't need to fetch documents etc anymore).~ The state machine no longer fetches it's own documents. Some scaffolding is left in place as it'll be needed for showing category details anyway. ## Example   --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
976b94ffa5
|
Dependency Ownership CLI (#201773)
## Summary 1. Show all packages owned by a specific team ``` node scripts/dependency_ownership -o <owner> ``` 2. Identify owners of a specific dependency ``` node scripts/dependency_ownership -d <dependency> ``` 3. List dependencies without an owner ``` node scripts/dependency_ownership --missing-owner ``` 4. Generate a full dependency ownership report ``` node scripts/dependency_ownership ``` ### 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] 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) __Closes: https://github.com/elastic/kibana/issues/196767__ --------- Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
310d922f13
|
[kbn-scout] initial package implementation (playwright-test POC) (#194006)
## Summary This PR introduces a new package, **kbn-scout**, designed to streamline the setup and execution of Playwright tests for Kibana. The `kbn-scout` package consolidates server management and testing capabilities by wrapping both the Kibana/Elasticsearch server launcher and the Playwright test runner. It includes: - Test and worker-scoped fixtures for reliable setup across test suites - Page objects combined into the fixture for Kibana UI interactions - Configurations for seamless test execution in both local and CI environments (`Cloud` execution is out of scope) - This package aims to simplify test setup and enhance modularity, making it easier to create, run, and maintain deployment-agnostic tests, that are located in the plugin they actually test. Tests example is available in `x-pack/plugins/discover_enhanced` plugin under `ui_tests` folder How to run: 1) As a single script (servers + tests): ``` node scripts/scout_test.js --config=x-pack/plugins/discover_enhanced/ui_tests/playwright.config.ts --serverless=es ``` 2) Start servers first ``` node scripts/scout_start_servers.js --serverless=es ``` then run tests: ``` npx playwright test --config=x-pack/plugins/discover_enhanced/ui_tests/playwright.config.ts ``` if you have Playwright plugin in IDEA, just use it to run tests files --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
63da7701e7
|
[Streams] App plugin (#200060)
Creates the Streams app plugin, which renders UI for managing streams (see https://github.com/elastic/kibana/pull/198713). Additional changes in this PR: - The menus were updated to conditionally add a link to the Streams app. The Streams plugin itself returns a status$ observable which signals if Streams have been enabled. This value is used to conditionally render the link in the various flavors of menus. - There's a small change in the ES types to allow for ordered params in ES|QL (vs named params) - `@kbn/server-route-repository` was updated to be able to override `access` (instead of only inferring it from the endpoint name). Additionally, we now allow all route options by default. - `@kbn/typed-react-router-config` now also exports a `useBreadcrumbs`. This was copied over from the APM implementation. - the signature of the `esql` method in `ObservabilityElasticsearchClient` was updated to separate processing options from options that are sent over to the _query endpoint. --------- Co-authored-by: Chris Cowan <chris@elastic.co> Co-authored-by: Joe Reuter <johannes.reuter@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
34bf83b54f
|
Dependency usage CLI (#198920)
## Summary [dependency-cruiser](https://github.com/sverweij/dependency-cruiser/tree/main) is used for building dependency graph. ### Show all dependencies for a specific package/plugin or directory #### Run for all plugins ```bash bash scripts/dependency_usage.sh -p x-pack/plugins -o ./tmp/deps-result-all.json ``` #### Run for single plugin ```bash bash scripts/dependency_usage.sh -p x-pack/plugins/security_solution -o ./tmp/deps-result-single.json ``` #### Run for multiple plugins ```bash bash scripts/dependency_usage.sh -p x-pack/plugins/security_solution x-pack/plugins/security -o ./tmp/deps-result-multiple.json ``` #### Run for `x-pack/packages` ```bash bash scripts/dependency_usage.sh -p x-pack/packages -o ./tmp/deps-packages-1.json ``` #### Run for `packages` ```bash bash scripts/dependency_usage.sh -p packages -o ./tmp/deps-packages-2.json ``` #### Benchmark | Analysis | Real Time | User Time | Sys Time | |-----------------------|-------------|-------------|------------| | All plugins | 7m 21.126s | 7m 53.099s | 20.581s | | Single plugin | 31.360s | 45.352s | 2.208s | | Multiple plugins | 36.403s | 50.563s | 2.814s | | x-pack/packages | 6.638s | 12.646s | 0.654s | | packages | 25.744s | 39.073s | 2.191s | #### Show all packages/plugins within a directory that use a specific dependency ```sh bash scripts/dependency_usage.sh -d rxjs -p x-pack/plugins/security_solution ``` --- #### Show all packages/plugins within a directory grouped by code owner ```sh bash scripts/dependency_usage.sh -d rxjs -p x-pack/plugins -g owner ``` --- #### Group by code owner with adjustable collapse depth for fine-grained grouping **Fine-grained grouping**: ```sh bash scripts/dependency_usage.sh -p x-pack/plugins/security_solution -g owner --collapse-depth 4 ``` **Collapsed grouping**: groups the results under a higher-level owner (e.g., `security_solution` as a single group). ```bash bash scripts/dependency_usage.sh -p x-pack/plugins/security_solution -g owner --collapse-depth 1 ``` --- #### Show all dependencies matching a pattern (e.g., `react-*`) within a package ```bash bash scripts/dependency_usage.sh -p x-pack/plugins/security_solution -d 'react-*' -o ./tmp/result.json ``` ### 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 __Related: https://github.com/elastic/kibana/issues/196767__ --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> |
||
|
0b3f4fbd3c
|
[eem] _search endpoint / initial entity manager UI (#199609)
## Summary - create `_search` endpoint to discover entities with esql queries. It currently reads sources of the provided `type` from `kibana_entity_definitions` index. Run this query to insert a definition: ``` POST kibana_entity_definitions/_doc { "entity_type": "service", "index_patterns": ["remote_cluster:logs-*"], "metadata_fields": [], "identity_fields": ["service.name"], "filters": [], "timestamp_field": "@timestamp" } ``` By default `_search` will look at data in the last 5m. The lookup period can be overriden by providing `start`/`end` parameters in ISO format. It also accepts a `limit` to specify the number of entities returned which defaults to 10 ``` POST kbn:/internal/entities/v2/_search { "type": "service", "start": "2024-11-19T20:40:00.000Z", "end": "2024-11-19T20:50:00.000Z", "limit": 20 } ``` - create `_search/preview` endpoint to preview output of entity sources without persisting them - create UI to preview results of an entity definition at `/app/entity_manager`. The application is living in its own plugin at `observability_solution/entity_manager_app`  --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Milton Hultgren <miltonhultgren@gmail.com> |
||
|
a84122c4ca
|
[Search] Introduce search navigation plugin (#200314) | ||
|
b24fdf5d3f
|
Sustainable Kibana Architecture: Categorise straightforward packages (#199630)
## Summary This PR is part of the Kibana Sustainable Architecture effort. The goal is to start categorising Kibana packages into _generic platform_ (`group: "platform"`) vs _solution-specific_. ``` group?: 'search' | 'security' | 'observability' | 'platform' visibility?: 'private' | 'shared' ``` Uncategorised modules are considered to be `group: 'common', visibility: 'shared'` by default. We want to prevent code from solution A to depend on code from solution B. Thus, the rules are pretty simple: * Modules can only depend on: * Modules in the same group * OR modules with 'shared' visibility * Modules in `'observability', 'security', 'search'` groups are mandatorily `visibility: "private"`. Long term, the goal is to re-organise packages into dedicated folders, e.g.: ``` x-pack/platform/plugins/private x-pack/observability/packages ``` For this first wave, we have categorised packages that seem "straightforward": * Any packages that have: * at least one dependant module * all dependants belong to the same group * Categorise all Core packages: * `@kbn/core-...-internal` => _platform/private_ * everything else => _platform/shared_ * Categorise as _platform/shared_ those packages that: * Have at least one dependant in the _platform_ group. * Don't have any `devOnly: true` dependants. ### What we ask from you, as CODEOWNERS of the _package manifests_, is that you confirm that the categorisation is correct: * `group: "platform", visibility: "private"` if it's a package that should only be used from platform code, not from any solution code. It will be loaded systematically in all serverless flavors, but solution plugins and packages won't be able to `import` from it. * `group: "platform", visibility: "shared"` if it's a package that can be consumed by both platform and solutions code. It will be loaded systematically in all serverless flavors, and anybody can import / use code from it. * `group: "observability" | "security" | "search", visibility: "private"` if it's a package that is intented to be used exclusively from a given solution. It won't be accessible nor loaded from other solutions nor platform code. Please refer to [#kibana-sustainable-architecture](https://elastic.slack.com/archives/C07TCKTA22E) for any related questions. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
455c781c6d
|
[LLM tasks] Add product documentation retrieval task (#194379)
## Summary Close https://github.com/elastic/kibana/issues/193473 Close https://github.com/elastic/kibana/issues/193474 This PR utilize the documentation packages that are build via the tool introduced by https://github.com/elastic/kibana/pull/193847, allowing to install them in Kibana and expose documentation retrieval as an LLM task that AI assistants (or other consumers) can call. Users can now decide to install the Elastic documentation from the assistant's config screen, which will expose a new tool for the assistant, `retrieve_documentation` (only implemented for the o11y assistant in the current PR, shall be done for security as a follow up). For more information, please refer to the self-review. ## General architecture <img width="1118" alt="Screenshot 2024-10-17 at 09 22 32" src="https://github.com/user-attachments/assets/3df8c30a-9ccc-49ab-92ce-c204b96d6fc4"> ## What this PR does Adds two plugin: - `productDocBase`: contains all the logic related to product documentation installation, status, and search. This is meant to be a "low level" components only responsible for this specific part. - `llmTasks`: an higher level plugin that will contain various LLM tasks to be used by assistants and genAI consumers. The intent is not to have a single place to put all llm tasks, but more to have a default place where we can introduce new tasks from. (fwiw, the `nlToEsql` task will probably be moved to that plugin). - Add a `retrieve_documentation` tool registration for the o11y assistant - Add a component on the o11y assistant configuration page to install the product doc (wiring the feature to the o11y assistant was done for testing purposes mostly, any addition / changes / enhancement should be done by the owning team - either in this PR or as a follow-up) ## What is NOT included in this PR: - Wire product base feature to the security assistant (should be done by the owning team as a follow-up) - installation - utilization as tool - FTR tests: this is somewhat blocked by the same things we need to figure out for https://github.com/elastic/kibana-team/issues/1271 ## Screenshots ### Installation from o11y assistant configuration page <img width="1476" alt="Screenshot 2024-10-17 at 09 41 24" src="https://github.com/user-attachments/assets/31daa585-9fb2-400a-a2d1-5917a262367a"> ### Example of output #### Without product documentation installed <img width="739" alt="Screenshot 2024-10-10 at 09 59 41" src="https://github.com/user-attachments/assets/993fb216-6c9a-433f-bf44-f6e383d20d9d"> #### With product documentation installed <img width="718" alt="Screenshot 2024-10-10 at 09 55 38" src="https://github.com/user-attachments/assets/805ea4ca-8bc9-4355-a434-0ba81f8228a9"> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Alex Szabo <alex.szabo@elastic.co> Co-authored-by: Matthias Wilhelm <matthias.wilhelm@elastic.co> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> |
||
|
45972374f0
|
[ES|QL] Starred queries in the editor (#198362)
## Summary close https://github.com/elastic/kibana/issues/194165 close https://github.com/elastic/kibana-team/issues/1245 ### User-facing <img width="1680" alt="image" src="https://github.com/user-attachments/assets/6df4ee9f-1b4d-404c-a764-592998a1d430"> This PRs adds a new tab in the editor history component. You can star your query from the history and then you will see it in the Starred list. The started queries are scoped to a user and a space. ### Server To allow starring ESQL query, this PR extends [favorites service](https://github.com/elastic/kibana/pull/189285) with ability to store metadata in addition to an id. To make metadata strict and in future to support proper metadata migrations if needed, metadata needs to be defined as schema: ``` plugins.contentManagement.favorites.registerFavoriteType('esql_query', { typeMetadataSchema: schema.object({ query: schema.string(), timeRange:...., etc... }), }) ``` Notable changes: - Add support for registering a favorite type and a schema for favorite type metadata. Previosly the `dashboard` type was the only supported type and was hardcoded - Add `favoriteMetadata` property to a saved object mapping and make it `enabled:false` we don't want to index it, but just want to store metadata in addition to an id. [code](https://github.com/elastic/kibana/pull/198362/files#diff-d1a39e36f1de11a1110520d7607e6aee7d506c76626993842cb58db012b760a2R74-R87) - Add a 100 favorite items limit (per type per space per user). Just do it for sanity to prevent too large objects due to metadata stored in addtion to ids. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co> Co-authored-by: Stratoula Kalafateli <stratoula1@gmail.com> |
||
|
9f545039ab
|
fix dashboard grid item performs 2 DOM queries every render (#199390)
Closes https://github.com/elastic/kibana/issues/199361 While investigating, I found that fetching DOM element with id `app-fixed-viewport` is a common pattern. I created the hook `useAppFixedViewport` to consolidate this logic into a single location. The hook only performs the DOM look-up on first render and then avoids the DOM look-up on each additional render. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> |
||
|
ab0375f56f
|
Kibana Sustainable Architecture: Expose StatusResponse in core-status-common (#200524)
## Summary - Exposes the interfaces that define the format of the response of the `/api/status` endpoint. - Moves them from `@kbn/core-status-common-internal` to `@kbn/core-status-common`. - Removes the former package, as it no longer contains anything. - Fixes some of the illegal dependencies uncovered by https://github.com/elastic/kibana/pull/199630. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
11a752da87
|
[Observability] Split up observability-utils package (#199801)
Split up observability-utils package in browser, common, server. Also made a small change to `withSpan` to automatically log operation times when the debug level for the logger is enabled. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
b86dc8102a
|
[Streams] Introducing the new Streams plugin (#198713)
## Summary This PR introduces the new experimental "Streams" plugin into the Kibana project. The Streams project aims to simplify workflows around dealing with messy logs in Elasticsearch. Our current offering is either extremely opinionated with integrations or leaves the user alone with the high flexibility of Elasticsearch concepts like index templates, component templates and so on, which make it challenging to configure everything correctly for good performance and controlling search speed and cost. ### Scope of PR - Provides an API for the user to "enable" the streams framework which creates the "root" entity `logs` with all the backing Elasticsearch assets - Provides an API for the user to "fork" a stream - Provides an API for the user to "read" a stream and all of it's Elasticsearch assets. - Provides an API for the user to upsert a stream (and implicitly child streams that are mentioned) - Part of this API is placing grok and disscect processing steps as well as fields to the mapping - Implements the Stream Naming Schema (SNS) which uses dots to express the index patterns and stream IDs. Example: `logs.nginx.errors` - The APIs will fully manage the `index_template`, `component_template`, and `ingest_pipelines`. ### Out of scope - Integration tests (coming in a follow-up) ### Reviewer Notes - I haven't implemented tests beyond a unit test for converting the filter conditions to Painless. I wanted to get a PR up so we can start iterating on the interface and functionality before we invest in testing. - You might need to add `server.versioned.versionResolution: oldest` to your `config/kibana.dev.yaml` to play with the requests below in the Kibana "Dev console". ### Example API Calls Enable the root stream (and set the mapping for the internal `.streams` index) ``` POST kbn:/api/streams/_enable ``` Read the root entity "logs" ``` GET kbn:/api/streams/logs ``` Fork the "root" entity "logs" and create "logs.nginx" based on a condition ``` POST kbn:/api/streams/logs/_fork { "stream": { "id": "logs.nginx", "children": [], "processing": [], "fields": [], }, "condition": { "field": "log.logger", "operator": "eq", "value": "nginx_proxy" } } ``` Fork the entity "logs.nginx" and create "logs.nginx.errors" based on a condition ``` POST kbn:/api/streams/logs.nginx/_fork { "stream": { "id": "logs.nginx.error", "children": [], "processing": [], "fields": [], }, "condition": { "or": [ { "field": "log.level", "operator": "eq", "value": "error" }, { "field": "log.level", "operator": "eq", "value": "ERROR" } ] } } ``` Set some processing on a stream and map the generated field ``` PUT kbn:/api/streams/logs.nginx { "children": [], "processing": [ { "config": { "type": "grok", "patterns": ["^%{IP:ip} – –"], "field": "message" } } ], "fields": [ { "name": "ip", "type": "ip" } ], } } ``` Field definitions are checked for both descendants and ancestors for incompatibilities to ensure they stay additive. If children are defined in the `PUT /api/streams/<name>` API, sub-streams are created implicitly. If a stream is `PUT`, it's added to the parent as well with a condition that is never true (can be edited subsequently). `POST /api/streams/_resync` can be used to re-sync all streams from their meta data in case the Elasticsearch objects got messed up by some external change - not sure whether we want to keep that. Follow-ups * API integration tests * Check read permissions on data streams to determine whether a user is allowed to read certain streams --------- Co-authored-by: Joe Reuter <johannes.reuter@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
9a9f02c931
|
[IndexAdapter] Extract index-adapter package from data-stream-adapter (#199575)
## Summary Extracts `IndexAdapter` from `DataStreamAdapter` and `IndexPatternAdapter` from `DataStreamSpaceAdapter`. There are no breaking changes for the _data-stream-adapter_ package; the behavior of both the `DataStreamAdapter` and `DataStreamSpaceAdapter` remains unchanged. The new _index-adapter_ package exports `IndexAdapter` and `IndexPatternAdapter` to manage individual indices without using data streams. This is needed for SIEM rule migrations. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> |
||
|
d805546507
|
[ilm] Remove observability solution dependency on index lifecycle management plugin bundle (#199383)
Create package for observability solution's dependencies from index lifecycle management. Previously it relied on the plugin bundle but thats best avoided with our sustainable architecture efforts. Part of https://github.com/elastic/kibana-team/issues/1179 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
641d0e2d47
|
[Security Solution] Revert security_solution_common package which is unnecessary (#198294)
## Summary This PR reverts https://github.com/elastic/kibana/pull/189633. ### Background PR : https://github.com/elastic/kibana/pull/189633 had created a package `security_solution_common` so that security components can be easily used in Discover plugins. But because of recent direction change, I have decided to revert that change which mainly moved `flyout` code to the `security_solution_common` package. Most of the changes that you will see will be path changes replacing `security_solution_common`. ## TL;DR `security_solution_common` is being removed as the reason it was created does not exists any more. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
631ccb031c
|
[Inference] create the @kbn/inference-common package (#193464)
## Summary At the moment, all inference API related types and utilities (`chatComplete`, `output` and more) are living inside the `inference` plugin's common folder. This is somewhat problematic because it forces any consumers of those types to explicitly depends on the `inference` plugin (via plugin dep or ts ref), which could lead to any kind of cyclic dependency issues, in addition to being overall a bad design pattern. This also makes it more complicated that it should to try to split the inference logic / task framework / task implementation into distinct packages or plugins, due to some (concrete) utilities living in the inference plugin's code. It's also a bad experience for consumers, as it's quite difficult to easily resolve imports they need (we're mixing internal and public exports atm, plus not all types are exported from a single entry point, making it very tedious to find the right path for each individual import we need to consume the inference APIs) This PR addresses most of those points, by introducing a new `@kbn/inference-common` package and moving all the low level types and utilities to it, while exposing all of them from the package's entrypoint. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> |
||
|
c31f11e7d8
|
Set mget task claim strategy as the default (#197070)
Resolves https://github.com/elastic/kibana/issues/194625 In this PR, I'm setting `mget` as the default task claiming strategy along the following changes: - Given we no longer need the 8.16 specific PRs (https://github.com/elastic/kibana/pull/196317 and https://github.com/elastic/kibana/pull/196757), I've also reverted them. - Given we now use `met` as the default, I've renamed `task_manager_claimer_mget` to `task_manager_claimer_update_by_query` and made tests in that folder test using the `update_by_query` claim strategy. - Stabilize flaky tests caused by mget + polling for tasks more frequently Flaky test runners: - [[ |
||
|
a854ff8a4e
|
[Lens][Datatable] Fix share export and inspect data (#193780)
The exported table data table provided in the inspector and the share export now match what was visible in the UI. |
||
|
6b63f7f631
|
[Logs Overview] Add a flyout to show category document examples (#194867)
## Summary
Implements https://github.com/elastic/kibana/issues/193450.
## Discover changes ⚠️
As part of this we need to render a basic table with the log level and
summary columns, which is technically context aware but only in the
sense we know we want it to be a logs context up front.
The "correct" solution here (or at least from recent conversations) is
to use the saved search embeddable. There is upcoming work planned to
move log stream component usages over to the saved search embeddable.
However, currently this isn't in a place to just be dropped in without
some pretty extensive work. I didn't feel comfortable doing a big push
on that work as a side effort to this work, especially with a loose (if
possible) 8.16 aim for this.
What I've done (and which isn't ideal I appreciate) is used the start
contract of the Discover plugin to export the columns / cells
pre-wrapped with the Discover services. It's not ideal in the sense of
dependencies, but technically Discover doesn't use logs shared. I
considered Discover shared but that's for registering functionality for
Discover, rather than the other way around.
Eventually we'll be able to remove this and convert over to the new
solution. I'm all ears to a better solution, but there's a big mismatch
between the needs here and dropping in something that exists currently.
Thankfully the changeset for Discover is small if we're happy to keep
this temporarily.
Edit: I've made some notes here:
https://github.com/elastic/logs-dev/issues/111#issuecomment-2411096251
Edit: New package added here:
|
||
|
a7a81c2897
|
[ResponseOps][Rules] Create the rule params package (#196971)
## Summary This PR creates a package containing the schema of the params of all rule types. It starts as `schema.recordOf(schema.string(), schema.maybe(schema.any()))` which is the current one. In subsequent PRs, the schema will be updated to `schema.oneOf([apmRuleType, esQueryRuleType, ....])`. I also substituted the definition of `params` in the alerting plugin with the `params` exported from the package. Towards: https://github.com/elastic/kibana/issues/187356 Fixes: https://github.com/elastic/kibana/issues/195183 ### For maintainers - [x] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#_add_your_labels) - [ ] This will appear in the **Release Notes** and follow the [guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
2a085e103a
|
Add ESLINT constraints to detect inter-group dependencies (#194810)
## Summary Addresses https://github.com/elastic/kibana-team/issues/1175 As part of the **Sustainable Kibana Architecture** initiative, this PR sets the foundation to start classifying plugins in isolated groups, matching our current solutions / project types: * It adds support for the following fields in the packages' manifests (kibana.jsonc): * `group?: 'search' | 'security' | 'observability' | 'platform' | 'common'` * `visibility?: 'private' | 'shared'` * It proposes a folder structure to automatically infer groups: ```javascript 'src/platform/plugins/shared': { group: 'platform', visibility: 'shared', }, 'src/platform/plugins/internal': { group: 'platform', visibility: 'private', }, 'x-pack/platform/plugins/shared': { group: 'platform', visibility: 'shared', }, 'x-pack/platform/plugins/internal': { group: 'platform', visibility: 'private', }, 'x-pack/solutions/observability/plugins': { group: 'observability', visibility: 'private', }, 'x-pack/solutions/security/plugins': { group: 'security', visibility: 'private', }, 'x-pack/solutions/search/plugins': { group: 'search', visibility: 'private', }, ``` * If a plugin is moved to one of the specific locations above, the group and visibility in the manifest (if specified) must match those inferred from the path. * Plugins that are not relocated are considered: `group: 'common', visibility: 'shared'` by default. As soon as we specify a custom `group`, the ESLINT rules will check violations against dependencies / dependants. The ESLINT rules are pretty simple: * Plugins can only depend on: * Plugins in the same group * OR plugins with `'shared'` visibility * Plugins in `'observability', 'security', 'search'` groups are mandatorily `'private'`. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
b0bae065d4
|
Move ItemBuffer to package (#196455)
## Summary Part of https://github.com/elastic/kibana/issues/186139. Bfetch exports `ItemBuffer` and `TimedItemBuffer`, the latter of which is also used inside of the content management plugin. After bfetch is removed, content management will be the sole consumer, which is why I've added the team ownership to be appex-sharedux. ### 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 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
3bfa7c0018
|
[Inventory] Adding initial e2e structure (#196560)
closes https://github.com/elastic/kibana/issues/193992 How to open cypress dashboard locally: ``` node x-pack/plugins/observability_solution/inventory/scripts/test/e2e.js --open ``` How to run cypress tests: ``` node x-pack/plugins/observability_solution/inventory/scripts/test/e2e.js ``` How to run cypress tests multiple times: ``` node x-pack/plugins/observability_solution/inventory/scripts/test/e2e.js --server node x-pack/plugins/observability_solution/inventory/scripts/test/e2e.js --runner --times=X ``` --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
920d782392
|
[Console] Remove unused spec-to-console package (#193426)
Closes https://github.com/elastic/kibana/issues/163333 ## Summary It was superseded by generate-console-definitions. ### 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> Co-authored-by: Elena Stoeva <59341489+ElenaStoeva@users.noreply.github.com> |
||
|
cb2112cae5
|
feat: allow plugins to deprecate and replace features and feature privileges (#186800)
## Summary This change is the implementation of the `Kibana Privilege Migrations` proposal/RFC and provides a framework that allows developers to replace an existing feature with a new one that has the desired configuration while teaching the platform how the privileges of the deprecated feature can be represented by non-deprecated ones. This approach avoids introducing breaking changes for users who still rely on the deprecated privileges in their existing roles and any automation. Among the use cases the framework is supposed to handle, the most common are the following: * Changing a feature ID from `Alpha` to `Beta` * Splitting a feature `Alpha` into two features, `Beta` and `Gamma` * Moving a capability between privileges within a feature (top-level or sub-feature) * Consolidating capabilities across independent features ## Scope This PR includes only the core functionality proposed in the RFC and most of the necessary guardrails (tests, early validations, etc.) to help engineers start planning and implementing their migrations as soon as possible. The following functionality will be added in follow-ups or once we collect enough feedback: * Telemetry * Developer documentation * UI enhancements (highlighting roles with deprecated privileges and manual migration actions) ## Framework The steps below use a scenario where a feature `Alpha` should be split into two other features `Beta` and `Gamma` as an example. ### Step 1: Create new features with the desired privileges First of all, define new feature or features with the desired configuration as you'd do before. There are no constraints here. <details> <summary>Click to see the code</summary> ```ts deps.features.registerKibanaFeature({ id: 'feature_beta', name: 'Feature Beta', privileges: { all: { savedObject: { all: ['saved_object_1'], read: [] }, ui: ['ui_all'], api: ['api_all'], … omitted for brevity … }, read: { savedObject: { all: [], read: ['saved_object_1'] }, ui: ['ui_read'], api: ['api_read'], … omitted for brevity … }, }, … omitted for brevity … }); deps.features.registerKibanaFeature({ id: 'feature_gamma', name: 'Feature Gamma', privileges: { all: { savedObject: { all: ['saved_object_2'], read: [] }, ui: ['ui_all'], // Note that Feature Gamma, unlike Features Alpha and Beta doesn't provide any API access tags … omitted for brevity … }, read: { savedObject: { all: [], read: ['saved_object_2'] }, ui: ['ui_read'], // Note that Feature Gamma, unlike Features Alpha and Beta doesn't provide any API access tags … omitted for brevity … }, }, … omitted for brevity … }); ``` </details> ### Step 2: Mark existing feature as deprecated Once a feature is marked as deprecated, it should essentially be treated as frozen for backward compatibility reasons. Deprecated features will no longer be available through the Kibana role management UI and will be replaced with non-deprecated privileges. Deprecated privileges will still be accepted if the role is created or updated via the Kibana role management APIs to avoid disrupting existing user automation. To avoid breaking existing roles that reference privileges provided by the deprecated features, Kibana will continue registering these privileges as Elasticsearch application privileges. <details> <summary>Click to see the code</summary> ```ts deps.features.registerKibanaFeature({ // This is a new `KibanaFeature` property available during feature registration. deprecated: { // User-facing justification for privilege deprecation that we can display // to the user when we ask them to perform role migration. notice: i18n.translate('xpack.security...', { defaultMessage: "Feature Alpha is deprecated, refer to {link}...", values: { link: docLinks.links.security.deprecatedFeatureAlpha }, }) }, // Feature id should stay unchanged, and it's not possible to reuse it. id: 'feature_alpha', name: 'Feature Alpha (DEPRECATED)', privileges: { all: { savedObject: { all: ['saved_object_1', 'saved_object_2'], read: [] }, ui: ['ui_all'], api: ['api_all'], … omitted for brevity … }, read: { savedObject: { all: [], read: ['saved_object_1', 'saved_object_2'] }, ui: ['ui_read'], api: ['api_read'], … omitted for brevity … }, }, … omitted for brevity … }); ``` </details> ### Step 3: Map deprecated feature’s privileges to the privileges of the non-deprecated features The important requirement for a successful migration from a deprecated feature to a new feature or features is that it should be possible to express **any combination** of the deprecated feature and sub-feature privileges with the feature or sub-feature privileges of non-deprecated features. This way, while editing a role with deprecated feature privileges in the UI, the admin will be interacting with new privileges as if they were creating a new role from scratch, maintaining consistency. The relationship between the privileges of the deprecated feature and the privileges of the features that are supposed to replace them is expressed with a new `replacedBy` property available on the privileges of the deprecated feature. <details> <summary>Click to see the code</summary> ```ts deps.features.registerKibanaFeature({ // This is a new `KibanaFeature` property available during feature registration. deprecated: { // User-facing justification for privilege deprecation that we can display // to the user when we ask them to perform role migration. notice: i18n.translate('xpack.security...', { defaultMessage: "Feature Alpha is deprecated, refer to {link}...", values: { link: docLinks.links.security.deprecatedFeatureAlpha }, }) }, // Feature id should stay unchanged, and it's not possible to reuse it. id: 'feature_alpha', name: 'Feature Alpha (DEPRECATED)', privileges: { all: { savedObject: { all: ['saved_object_1', 'saved_object_2'], read: [] }, ui: ['ui_all'], api: ['api_all'], replacedBy: [ { feature: 'feature_beta', privileges: ['all'] }, { feature: 'feature_gamma', privileges: ['all'] }, ], … omitted for brevity … }, read: { savedObject: { all: [], read: ['saved_object_1', 'saved_object_2'] }, ui: ['ui_read'], api: ['api_read'], replacedBy: [ { feature: 'feature_beta', privileges: ['read'] }, { feature: 'feature_gamma', privileges: ['read'] }, ], … omitted for brevity … }, }, … omitted for brevity … }); ``` </details> ### Step 4: Adjust the code to rely only on new, non-deprecated features Special care should be taken if the replacement privileges cannot reuse the API access tags from the deprecated privileges and introduce new tags that will be applied to the same API endpoints. In this case, developers should replace the API access tags of the deprecated privileges with the corresponding tags provided by the replacement privileges. This is necessary because API endpoints can only be accessed if the user privileges cover all the tags listed in the API endpoint definition, and without these changes, existing roles referencing deprecated privileges won’t be able to access those endpoints. The UI capabilities are handled slightly differently because they are always prefixed with the feature ID. When migrating to new features with new IDs, the code that interacts with UI capabilities will be updated to use these new feature IDs. <details> <summary>Click to see the code</summary> ```ts // BEFORE deprecation/migration // 1. Feature Alpha defition (not deprecated yet) deps.features.registerKibanaFeature({ id: 'feature_alpha', privileges: { all: { api: ['api_all'], … omitted for brevity … }, }, … omitted for brevity … }); // 2. Route protected by `all` privilege of the Feature Alpha router.post( { path: '/api/domain/my_api', options: { tags: ['access:api_all'] } }, async (_context, request, response) => {} ); // AFTER deprecation/migration // 1. Feature Alpha defition (deprecated, with updated API tags) deps.features.registerKibanaFeature({ deprecated: …, id: 'feature_alpha', privileges: { all: { api: ['api_all_v2'], replacedBy: [ { feature: 'feature_beta', privileges: ['all'] }, ], … omitted for brevity … }, }, … omitted for brevity … }); // 2. Feature Beta defition (new) deps.features.registerKibanaFeature({ id: 'feature_beta', privileges: { all: { api: ['api_all_v2'], … omitted for brevity … } }, … omitted for brevity … }); // 3. Route protected by `all` privilege of the Feature Alpha OR Feature Beta router.post( { path: '/api/domain/my_api', options: { tags: ['access:api_all_v2'] } }, async (_context, request, response) => {} ); ---- // ❌ Old client-side code (supports only deprecated privileges) if (capabilities.feature_alpha.ui_all) { … omitted for brevity … } // ✅ New client-side code (will work for **both** new and deprecated privileges) if (capabilities.feature_beta.ui_all) { … omitted for brevity … } ``` </details> ## How to test The code introduces a set of API integration tests that are designed to validate whether the privilege mapping between deprecated and replacement privileges maintains backward compatibility. You can run the test server with the following config to register a number of [example deprecated features](https://github.com/elastic/kibana/pull/186800/files#diff-d887981d43bbe30cda039340b906b0fa7649ba80230be4de8eda326036f10f6fR20-R49)(`x-pack/test/security_api_integration/plugins/features_provider/server/index.ts`) and the features that replace them, to see the framework in action: ```bash node scripts/functional_tests_server.js --config x-pack/test/security_api_integration/features.config.ts ``` --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
96eff23f50
|
[Cloud Security] Refactoring cloud-security-posture packages' folder structure (#196008)
## Summary Organized the team's packages under the same root folder ``` "@kbn/cloud-security-posture": "link:x-pack/packages/cloud_security_posture/public", "@kbn/cloud-security-posture-common": "link:x-pack/packages/kbn-cloud-security-posture/common", "@kbn/cloud-security-posture-graph": "link:x-pack/packages/kbn-cloud-security-posture/graph", ``` --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
be0eadfb9f
|
[Cloud Security] Graph visualization and API (#195307)
## Summary This PR adds: - Graph visualization component using `xyflow`, and layouts the graph using `dagre`. - API that supports the graph visualization - API tests - Serverless API tests **List of open issues (will be tracked in a different ticket):** - Identify if `related.hosts`, `related.ip` and `related.user` are mapped before the query. (can be fixed by https://github.com/elastic/elasticsearch/issues/112912) - Update nodes rendering to match recent figma changes - Return 404 when feature is not enabled - Add keyboard accessibility - Resolve 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)) ### How to test You can view the graph using storybook's [playground](https://supreme-adventure-8qjmlp1.pages.github.io/graph-storybook/?path=/story/components-graph-components-dagree-layout-graph--graph-stacked-edge-cases). To test this PR you can run ``` yarn storybook cloud_security_posture_packages ``` To test the API you can use the mocked data ```bash node scripts/es_archiver load x-pack/test/cloud_security_posture_api/es_archives/logs_gcp_audit \ --es-url http://elastic:changeme@localhost:9200 \ --kibana-url http://elastic:changeme@localhost:5601 ``` And through dev tools: ``` POST kbn:/internal/cloud_security_posture/graph?apiVersion=1 { "query": { "actorIds": ["admin@example.com"], "eventIds": [""], "start": "now-1y/y", "end": "now/d" } } ``` ### Checklist Delete any items that are not applicable to this PR. - [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] [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)) - [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) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |