mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 01:13:23 -04:00
180 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
c3379ecaf8
|
[8.x] [Security Assistant] Fix use default inference endpoint (#212191) (#213183)
# Backport This will backport the following commits from `main` to `8.x`: - [[Security Assistant] Fix use default inference endpoint (#212191)](https://github.com/elastic/kibana/pull/212191) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Patryk Kopyciński","email":"contact@patrykkopycinski.com"},"sourceCommit":{"committedDate":"2025-03-05T01:14:08Z","message":"[Security Assistant] Fix use default inference endpoint (#212191)\n\n## Summary\n\nRemoves internal feature flag responsible for switching to Kibana's\ninternal inference endpoint instead of using a dedicated one.\n\nHow to test:\n\n**Clean cluster:**\n**1. Setup KB**\n**2. Make sure the `.kibana-elastic-ai-assistant-knowledge-base-*` Data\nStream is using default Inference endpoint**\n```\nhttp://localhost:5601/app/management/data/index_management/component_templates/.kibana-elastic-ai-assistant-component-template-knowledge-base\n```\n<img width=\"1656\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/84fda205-6272-4393-8f7d-a449fae2a090\"\n/>\n\n<img width=\"1086\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**3. Make sure there is no inference endpoint on the list**\n<img width=\"1875\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4. Make sure Security Labs content exists on KB list and you can add\nand edit Document/Index entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\nMigration:\n**1. Setup KB on at least 2 Kibana spaces on `main` branch**\n**2. Switch to this PR's branch and start Kibana**\n**3. Make sure there is no inference endpoint on the list**\n```\nhttp://localhost:5601/app/elasticsearch/relevance/inference_endpoints\n```\n<img width=\"1875\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4. Make sure that the Data stream was rolled over**\n```\nhttp://localhost:5601/app/management/data/index_management/indices?filter=know&includeHiddenIndices=true\n```\nShould see two indices per Kibana space:\n<img width=\"1741\" alt=\"Zrzut ekranu 2025-03-3 o 15 37 55\"\nsrc=\"https://github.com/user-attachments/assets/e6da48c8-59e9-43b8-8eac-c2b5e0059954\"\n/>\n\nThe older index per space should have mapping:\n<img width=\"1083\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/01f6e422-77d1-4f8b-8b7e-9c541a7ea47c\"\n/>\n\nNewer index per space:\n<img width=\"1086\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**4. Make sure Security Labs content exists on KB list and you can add\nand edit Document/Index entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"5e742f042559eee067f71adeb1f1523b2197f3b3","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","v9.0.0","ci:cloud-deploy","Feature:Security Assistant","ci:project-deploy-security","Team:Security Generative AI","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Security Assistant] Fix use default inference endpoint","number":212191,"url":"https://github.com/elastic/kibana/pull/212191","mergeCommit":{"message":"[Security Assistant] Fix use default inference endpoint (#212191)\n\n## Summary\n\nRemoves internal feature flag responsible for switching to Kibana's\ninternal inference endpoint instead of using a dedicated one.\n\nHow to test:\n\n**Clean cluster:**\n**1. Setup KB**\n**2. Make sure the `.kibana-elastic-ai-assistant-knowledge-base-*` Data\nStream is using default Inference endpoint**\n```\nhttp://localhost:5601/app/management/data/index_management/component_templates/.kibana-elastic-ai-assistant-component-template-knowledge-base\n```\n<img width=\"1656\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/84fda205-6272-4393-8f7d-a449fae2a090\"\n/>\n\n<img width=\"1086\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**3. Make sure there is no inference endpoint on the list**\n<img width=\"1875\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4. Make sure Security Labs content exists on KB list and you can add\nand edit Document/Index entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\nMigration:\n**1. Setup KB on at least 2 Kibana spaces on `main` branch**\n**2. Switch to this PR's branch and start Kibana**\n**3. Make sure there is no inference endpoint on the list**\n```\nhttp://localhost:5601/app/elasticsearch/relevance/inference_endpoints\n```\n<img width=\"1875\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4. Make sure that the Data stream was rolled over**\n```\nhttp://localhost:5601/app/management/data/index_management/indices?filter=know&includeHiddenIndices=true\n```\nShould see two indices per Kibana space:\n<img width=\"1741\" alt=\"Zrzut ekranu 2025-03-3 o 15 37 55\"\nsrc=\"https://github.com/user-attachments/assets/e6da48c8-59e9-43b8-8eac-c2b5e0059954\"\n/>\n\nThe older index per space should have mapping:\n<img width=\"1083\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/01f6e422-77d1-4f8b-8b7e-9c541a7ea47c\"\n/>\n\nNewer index per space:\n<img width=\"1086\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**4. Make sure Security Labs content exists on KB list and you can add\nand edit Document/Index entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"5e742f042559eee067f71adeb1f1523b2197f3b3"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212191","number":212191,"mergeCommit":{"message":"[Security Assistant] Fix use default inference endpoint (#212191)\n\n## Summary\n\nRemoves internal feature flag responsible for switching to Kibana's\ninternal inference endpoint instead of using a dedicated one.\n\nHow to test:\n\n**Clean cluster:**\n**1. Setup KB**\n**2. Make sure the `.kibana-elastic-ai-assistant-knowledge-base-*` Data\nStream is using default Inference endpoint**\n```\nhttp://localhost:5601/app/management/data/index_management/component_templates/.kibana-elastic-ai-assistant-component-template-knowledge-base\n```\n<img width=\"1656\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/84fda205-6272-4393-8f7d-a449fae2a090\"\n/>\n\n<img width=\"1086\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**3. Make sure there is no inference endpoint on the list**\n<img width=\"1875\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4. Make sure Security Labs content exists on KB list and you can add\nand edit Document/Index entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\nMigration:\n**1. Setup KB on at least 2 Kibana spaces on `main` branch**\n**2. Switch to this PR's branch and start Kibana**\n**3. Make sure there is no inference endpoint on the list**\n```\nhttp://localhost:5601/app/elasticsearch/relevance/inference_endpoints\n```\n<img width=\"1875\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/3465df8b-7c0d-4faf-b113-df897694521e\"\n/>\n\n**4. Make sure that the Data stream was rolled over**\n```\nhttp://localhost:5601/app/management/data/index_management/indices?filter=know&includeHiddenIndices=true\n```\nShould see two indices per Kibana space:\n<img width=\"1741\" alt=\"Zrzut ekranu 2025-03-3 o 15 37 55\"\nsrc=\"https://github.com/user-attachments/assets/e6da48c8-59e9-43b8-8eac-c2b5e0059954\"\n/>\n\nThe older index per space should have mapping:\n<img width=\"1083\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/01f6e422-77d1-4f8b-8b7e-9c541a7ea47c\"\n/>\n\nNewer index per space:\n<img width=\"1086\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/19e562ec-da5f-4ec2-ab64-7bfb1d64789c\"\n/>\n\n**4. Make sure Security Labs content exists on KB list and you can add\nand edit Document/Index entry\n```\nhttp://localhost:5601/app/management/kibana/securityAiAssistantManagement?tab=knowledge_base\n```\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"5e742f042559eee067f71adeb1f1523b2197f3b3"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com> |
||
|
dbab345c81
|
[8.x] [Bug] [Assistant API] - Do not allow empty conversation ID in chat/complete route (#11783) (#213049) (#213088)
# Backport This will backport the following commits from `main` to `8.x`: - [[Bug] [Assistant API] - Do not allow empty conversation ID in chat/complete route (#11783) (#213049)](https://github.com/elastic/kibana/pull/213049) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Ievgen Sorokopud","email":"ievgen.sorokopud@elastic.co"},"sourceCommit":{"committedDate":"2025-03-04T12:05:51Z","message":"[Bug] [Assistant API] - Do not allow empty conversation ID in chat/complete route (#11783) (#213049)\n\n## Summary\n\nBUG: https://github.com/elastic/security-team/issues/11783\n\nThis PR fixes the behaviour of the\n`/api/security_ai_assistant/chat/complete` route where the\n`conversationId` can be passed as an empty string. This may lead to\nunexpected results described in\nhttps://github.com/elastic/security-team/issues/11783#issuecomment-2696529040.\n\n### Expected behaviour\n\nWe should throw a bad request (400) http error when empty\n`conversationId` has been passed.\n\n### Testing\n\n* Use this `curl` command to test the endpoint.\n\n```\ncurl --location 'http://localhost:5601/api/security_ai_assistant/chat/complete' \\\n--header 'kbn-xsrf: true' \\\n--header 'Content-Type: application/json' \\\n--data '{\n \"connectorId\": \"{{my-gpt4o-ai}}\",\n \"conversationId\": \"\",\n \"isStream\": false,\n \"messages\": [\n {\n \"content\": \"Follow up\",\n \"role\": \"user\"\n }\n ],\n \"persist\": true\n}'\n```\n\nYou should see next error as a response:\n\n```\n{\n \"statusCode\": 400,\n \"error\": \"Bad Request\",\n \"message\": \"[request body]: conversationId: String must contain at least 1 character(s), conversationId: No empty strings allowed\"\n}\n```\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"7db897a5393f2d776eca1d9760801dc2fa72ad9d","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","v9.0.0","Team: SecuritySolution","Team:Security Generative AI","backport:version","v8.17.0","v8.18.0","v9.1.0","v8.19.0"],"title":"[Bug] [Assistant API] - Do not allow empty conversation ID in chat/complete route (#11783)","number":213049,"url":"https://github.com/elastic/kibana/pull/213049","mergeCommit":{"message":"[Bug] [Assistant API] - Do not allow empty conversation ID in chat/complete route (#11783) (#213049)\n\n## Summary\n\nBUG: https://github.com/elastic/security-team/issues/11783\n\nThis PR fixes the behaviour of the\n`/api/security_ai_assistant/chat/complete` route where the\n`conversationId` can be passed as an empty string. This may lead to\nunexpected results described in\nhttps://github.com/elastic/security-team/issues/11783#issuecomment-2696529040.\n\n### Expected behaviour\n\nWe should throw a bad request (400) http error when empty\n`conversationId` has been passed.\n\n### Testing\n\n* Use this `curl` command to test the endpoint.\n\n```\ncurl --location 'http://localhost:5601/api/security_ai_assistant/chat/complete' \\\n--header 'kbn-xsrf: true' \\\n--header 'Content-Type: application/json' \\\n--data '{\n \"connectorId\": \"{{my-gpt4o-ai}}\",\n \"conversationId\": \"\",\n \"isStream\": false,\n \"messages\": [\n {\n \"content\": \"Follow up\",\n \"role\": \"user\"\n }\n ],\n \"persist\": true\n}'\n```\n\nYou should see next error as a response:\n\n```\n{\n \"statusCode\": 400,\n \"error\": \"Bad Request\",\n \"message\": \"[request body]: conversationId: String must contain at least 1 character(s), conversationId: No empty strings allowed\"\n}\n```\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"7db897a5393f2d776eca1d9760801dc2fa72ad9d"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.17","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/213049","number":213049,"mergeCommit":{"message":"[Bug] [Assistant API] - Do not allow empty conversation ID in chat/complete route (#11783) (#213049)\n\n## Summary\n\nBUG: https://github.com/elastic/security-team/issues/11783\n\nThis PR fixes the behaviour of the\n`/api/security_ai_assistant/chat/complete` route where the\n`conversationId` can be passed as an empty string. This may lead to\nunexpected results described in\nhttps://github.com/elastic/security-team/issues/11783#issuecomment-2696529040.\n\n### Expected behaviour\n\nWe should throw a bad request (400) http error when empty\n`conversationId` has been passed.\n\n### Testing\n\n* Use this `curl` command to test the endpoint.\n\n```\ncurl --location 'http://localhost:5601/api/security_ai_assistant/chat/complete' \\\n--header 'kbn-xsrf: true' \\\n--header 'Content-Type: application/json' \\\n--data '{\n \"connectorId\": \"{{my-gpt4o-ai}}\",\n \"conversationId\": \"\",\n \"isStream\": false,\n \"messages\": [\n {\n \"content\": \"Follow up\",\n \"role\": \"user\"\n }\n ],\n \"persist\": true\n}'\n```\n\nYou should see next error as a response:\n\n```\n{\n \"statusCode\": 400,\n \"error\": \"Bad Request\",\n \"message\": \"[request body]: conversationId: String must contain at least 1 character(s), conversationId: No empty strings allowed\"\n}\n```\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"7db897a5393f2d776eca1d9760801dc2fa72ad9d"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Ievgen Sorokopud <ievgen.sorokopud@elastic.co> |
||
|
207f721ec7
|
[8.x] [Security Assistant] Fix Product documentation installation banner (#212463) (#213018)
# Backport This will backport the following commits from `main` to `8.x`: - [[Security Assistant] Fix Product documentation installation banner (#212463)](https://github.com/elastic/kibana/pull/212463) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Patryk Kopyciński","email":"contact@patrykkopycinski.com"},"sourceCommit":{"committedDate":"2025-03-04T01:28:35Z","message":"[Security Assistant] Fix Product documentation installation banner (#212463)\n\n## Summary\n\nFixes logic on fresh cluster where the ELSER was not started yet, in\nthis case API reports `status` as `uninstalled`, but it doesn't mean\nthat the Product documentation was actually uninstall, but rather it's a\ndefault state.\nAdded internal `product_documentation_status` to KB status API to make\nsure we keep track of the status internally and present the banner only\nif the docs were intentionally uninstalled\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"f0d66691b855fe65291fa8f889def3d3f695fe06","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","v9.0.0","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Security Assistant] Fix Product documentation installation banner ","number":212463,"url":"https://github.com/elastic/kibana/pull/212463","mergeCommit":{"message":"[Security Assistant] Fix Product documentation installation banner (#212463)\n\n## Summary\n\nFixes logic on fresh cluster where the ELSER was not started yet, in\nthis case API reports `status` as `uninstalled`, but it doesn't mean\nthat the Product documentation was actually uninstall, but rather it's a\ndefault state.\nAdded internal `product_documentation_status` to KB status API to make\nsure we keep track of the status internally and present the banner only\nif the docs were intentionally uninstalled\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"f0d66691b855fe65291fa8f889def3d3f695fe06"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212463","number":212463,"mergeCommit":{"message":"[Security Assistant] Fix Product documentation installation banner (#212463)\n\n## Summary\n\nFixes logic on fresh cluster where the ELSER was not started yet, in\nthis case API reports `status` as `uninstalled`, but it doesn't mean\nthat the Product documentation was actually uninstall, but rather it's a\ndefault state.\nAdded internal `product_documentation_status` to KB status API to make\nsure we keep track of the status internally and present the banner only\nif the docs were intentionally uninstalled\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"f0d66691b855fe65291fa8f889def3d3f695fe06"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com> |
||
|
b939da0c96
|
[8.x] [Security Assistant] Conversation pagination refactor (#211831) (#212997)
# Backport This will backport the following commits from `main` to `8.x`: - [[Security Assistant] Conversation pagination refactor (#211831)](https://github.com/elastic/kibana/pull/211831) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Steph Milovic","email":"stephanie.milovic@elastic.co"},"sourceCommit":{"committedDate":"2025-03-03T20:41:20Z","message":"[Security Assistant] Conversation pagination refactor (#211831)","sha":"095fc222aa541bf50f57c11958c16eb4c04a282c","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team: SecuritySolution","Team:Security Generative AI","backport:version","v9.1.0","v8.19.0"],"title":"[Security Assistant] Conversation pagination refactor","number":211831,"url":"https://github.com/elastic/kibana/pull/211831","mergeCommit":{"message":"[Security Assistant] Conversation pagination refactor (#211831)","sha":"095fc222aa541bf50f57c11958c16eb4c04a282c"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/211831","number":211831,"mergeCommit":{"message":"[Security Assistant] Conversation pagination refactor (#211831)","sha":"095fc222aa541bf50f57c11958c16eb4c04a282c"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> |
||
|
fb354b22cf
|
[8.x] [EDR Workflows] OpenApi Missing Content - Response Actions (#212510) (#212867)
# Backport This will backport the following commits from `main` to `8.x`: - [[EDR Workflows] OpenApi Missing Content - Response Actions (#212510)](https://github.com/elastic/kibana/pull/212510) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Konrad Szwarc","email":"konrad.szwarc@elastic.co"},"sourceCommit":{"committedDate":"2025-02-28T16:44:00Z","message":"[EDR Workflows] OpenApi Missing Content - Response Actions (#212510)\n\n## For reviewers:\nOnly `*.schema.yml` files were edited (excluding\n`*.bundled.schema.yml`). Rest of the changes comes from auto generation\nand can be ignored.\n\n## Description\n\nPart of DW team effort - elastic/security-team#11804\n\nThis PR aligns the property/schema descriptions and examples in\nAsciiDocs with OpenAPI schemas. The primary goal of this PR was not to\nextend or enhance the documentation but to migrate from one system to\nanother.\n\nAscii docs -\nhttps://www.elastic.co/guide/en/security/8.17/management-api-overview.html\nOpenApi generated docs -\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied missing property descriptions from AsciiDoc to OpenApi properties\nCopied existing AsciiDoc examples for both requests and responses\nFixed falsy query object in some GET requests - in OpenApi it was\ndefined as an object, not as path query params.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Paul Tavares <56442535+paul-tavares@users.noreply.github.com>\nCo-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"2700a2a95158dc5d5a77ff074119b1b61f949310","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Defend Workflows","backport:prev-minor","backport:prev-major","v8.16.0","v8.17.0","v8.18.0","v9.1.0"],"title":"[EDR Workflows] OpenApi Missing Content - Response Actions","number":212510,"url":"https://github.com/elastic/kibana/pull/212510","mergeCommit":{"message":"[EDR Workflows] OpenApi Missing Content - Response Actions (#212510)\n\n## For reviewers:\nOnly `*.schema.yml` files were edited (excluding\n`*.bundled.schema.yml`). Rest of the changes comes from auto generation\nand can be ignored.\n\n## Description\n\nPart of DW team effort - elastic/security-team#11804\n\nThis PR aligns the property/schema descriptions and examples in\nAsciiDocs with OpenAPI schemas. The primary goal of this PR was not to\nextend or enhance the documentation but to migrate from one system to\nanother.\n\nAscii docs -\nhttps://www.elastic.co/guide/en/security/8.17/management-api-overview.html\nOpenApi generated docs -\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied missing property descriptions from AsciiDoc to OpenApi properties\nCopied existing AsciiDoc examples for both requests and responses\nFixed falsy query object in some GET requests - in OpenApi it was\ndefined as an object, not as path query params.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Paul Tavares <56442535+paul-tavares@users.noreply.github.com>\nCo-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"2700a2a95158dc5d5a77ff074119b1b61f949310"}},"sourceBranch":"main","suggestedTargetBranches":["8.16","8.17","8.18"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212794","number":212794,"state":"MERGED","mergeCommit":{"sha":"3ceba17cbd76f89b72986190b8c77f5079706282","message":"[9.0] [EDR Workflows] OpenApi Missing Content - Response Actions (#212510) (#212794)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.0`:\n- [[EDR Workflows] OpenApi Missing Content - Response Actions\n(#212510)](https://github.com/elastic/kibana/pull/212510)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by: Konrad Szwarc <konrad.szwarc@elastic.co>"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212510","number":212510,"mergeCommit":{"message":"[EDR Workflows] OpenApi Missing Content - Response Actions (#212510)\n\n## For reviewers:\nOnly `*.schema.yml` files were edited (excluding\n`*.bundled.schema.yml`). Rest of the changes comes from auto generation\nand can be ignored.\n\n## Description\n\nPart of DW team effort - elastic/security-team#11804\n\nThis PR aligns the property/schema descriptions and examples in\nAsciiDocs with OpenAPI schemas. The primary goal of this PR was not to\nextend or enhance the documentation but to migrate from one system to\nanother.\n\nAscii docs -\nhttps://www.elastic.co/guide/en/security/8.17/management-api-overview.html\nOpenApi generated docs -\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied missing property descriptions from AsciiDoc to OpenApi properties\nCopied existing AsciiDoc examples for both requests and responses\nFixed falsy query object in some GET requests - in OpenApi it was\ndefined as an object, not as path query params.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Paul Tavares <56442535+paul-tavares@users.noreply.github.com>\nCo-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"2700a2a95158dc5d5a77ff074119b1b61f949310"}}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
39cd1ce07f
|
[8.x] [OAS] Remove Elastic-Api-Version (#207071) (#210834)
# Backport This will backport the following commits from `main` to `8.x`: - [[OAS] Remove `Elastic-Api-Version` (#207071)](https://github.com/elastic/kibana/pull/207071) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Jean-Louis Leysens","email":"jeanlouis.leysens@elastic.co"},"sourceCommit":{"committedDate":"2025-01-30T15:59:45Z","message":"[OAS] Remove `Elastic-Api-Version` (#207071)\n\n## Summary\r\n\r\nWe anticipate generating a single document per API version for the\r\nforeseeable future. This PR updates our OAS document merging logic to\r\navoid adding the `Elastic-Api-Version` header to our spec.\r\n\r\nThis will also remove this header from current documentation.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"53cba303e55c6c7d0060908938c343931513d114","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","backport missing","v9.0.0","Feature:OAS","backport:version","v8.18.0"],"title":"[OAS] Remove `Elastic-Api-Version`","number":207071,"url":"https://github.com/elastic/kibana/pull/207071","mergeCommit":{"message":"[OAS] Remove `Elastic-Api-Version` (#207071)\n\n## Summary\r\n\r\nWe anticipate generating a single document per API version for the\r\nforeseeable future. This PR updates our OAS document merging logic to\r\navoid adding the `Elastic-Api-Version` header to our spec.\r\n\r\nThis will also remove this header from current documentation.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"53cba303e55c6c7d0060908938c343931513d114"}},"sourceBranch":"main","suggestedTargetBranches":["8.18"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207071","number":207071,"mergeCommit":{"message":"[OAS] Remove `Elastic-Api-Version` (#207071)\n\n## Summary\r\n\r\nWe anticipate generating a single document per API version for the\r\nforeseeable future. This PR updates our OAS document merging logic to\r\navoid adding the `Elastic-Api-Version` header to our spec.\r\n\r\nThis will also remove this header from current documentation.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"53cba303e55c6c7d0060908938c343931513d114"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
5acb5506ac
|
[8.x] SKA: Relocate "platform" packages that remain on /packages (#208704) (#212474)
# Backport This will backport the following commits from `main` to `8.x`: - [SKA: Relocate "platform" packages that remain on `/packages` (#208704)](https://github.com/elastic/kibana/pull/208704) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Gerard Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2025-02-24T11:03:30Z","message":"SKA: Relocate \"platform\" packages that remain on `/packages` (#208704)\n\n## Summary\n\nThe `/packages` folder at the root of the Kibana repository used to\ncontain a lot of packages.\nIn the context of SKA, they have been gradually moved to various\nlocations:\n* `src/platform/packages`\n* `x-pack/platform/packages`\n* `src/core/packages`\n\nCurrently, only `devOnly: true` packages are left in this folder. This\ncomprises libraries for CLI scripts as well as testing utilities.\n\nWith this PR, we are moving ~half of these packages under\n`src/platform/packages/(private|shared)/`.\nIn particular, we are moving those packages that are being used from\nplatform and/or solutions.\n\nSince they are `\"devOnly\": true`, this means they are ONLY used from\ntests, cypress tests, storybook configs, ./scripts/ folders inside some\nmodules, or other non-prod-time logic. Nonetheless, they are effectively\nreferenced from platform and/or solutions code, hence I decided they\nshould be placed under `platform` folders.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"6a7c904f921434fe21dfa00eceabfb5e64e915dc","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","ci:project-deploy-observability","Team:obs-ux-infra_services","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"SKA: Relocate \"platform\" packages that remain on `/packages`","number":208704,"url":"https://github.com/elastic/kibana/pull/208704","mergeCommit":{"message":"SKA: Relocate \"platform\" packages that remain on `/packages` (#208704)\n\n## Summary\n\nThe `/packages` folder at the root of the Kibana repository used to\ncontain a lot of packages.\nIn the context of SKA, they have been gradually moved to various\nlocations:\n* `src/platform/packages`\n* `x-pack/platform/packages`\n* `src/core/packages`\n\nCurrently, only `devOnly: true` packages are left in this folder. This\ncomprises libraries for CLI scripts as well as testing utilities.\n\nWith this PR, we are moving ~half of these packages under\n`src/platform/packages/(private|shared)/`.\nIn particular, we are moving those packages that are being used from\nplatform and/or solutions.\n\nSince they are `\"devOnly\": true`, this means they are ONLY used from\ntests, cypress tests, storybook configs, ./scripts/ folders inside some\nmodules, or other non-prod-time logic. Nonetheless, they are effectively\nreferenced from platform and/or solutions code, hence I decided they\nshould be placed under `platform` folders.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"6a7c904f921434fe21dfa00eceabfb5e64e915dc"}},"sourceBranch":"main","suggestedTargetBranches":["8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212224","number":212224,"state":"OPEN"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/208704","number":208704,"mergeCommit":{"message":"SKA: Relocate \"platform\" packages that remain on `/packages` (#208704)\n\n## Summary\n\nThe `/packages` folder at the root of the Kibana repository used to\ncontain a lot of packages.\nIn the context of SKA, they have been gradually moved to various\nlocations:\n* `src/platform/packages`\n* `x-pack/platform/packages`\n* `src/core/packages`\n\nCurrently, only `devOnly: true` packages are left in this folder. This\ncomprises libraries for CLI scripts as well as testing utilities.\n\nWith this PR, we are moving ~half of these packages under\n`src/platform/packages/(private|shared)/`.\nIn particular, we are moving those packages that are being used from\nplatform and/or solutions.\n\nSince they are `\"devOnly\": true`, this means they are ONLY used from\ntests, cypress tests, storybook configs, ./scripts/ folders inside some\nmodules, or other non-prod-time logic. Nonetheless, they are effectively\nreferenced from platform and/or solutions code, hence I decided they\nshould be placed under `platform` folders.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"6a7c904f921434fe21dfa00eceabfb5e64e915dc"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
f706ee2d19
|
[8.x] [EDR Workflows][Osquery] OpenApi Missing Content (#212032) (#212642)
# Backport This will backport the following commits from `main` to `8.x`: - [[EDR Workflows][Osquery] OpenApi Missing Content (#212032)](https://github.com/elastic/kibana/pull/212032) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Konrad Szwarc","email":"konrad.szwarc@elastic.co"},"sourceCommit":{"committedDate":"2025-02-27T12:29:04Z","message":"[EDR Workflows][Osquery] OpenApi Missing Content (#212032)\n\nPart of DW team effort -\nhttps://github.com/elastic/security-team/issues/11804\n\nThis PR aligns the property/schema descriptions and examples in\nAsciiDocs with OpenAPI schemas. The primary goal of this PR was not to\nextend or enhance the documentation but to migrate from one system to\nanother.\n\nAscii docs -\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi generated docs -\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-osqueryfindlivequeries\n\nChanges:\n1. Copied missing property descriptions from AsciiDoc to OpenApi\nproperties\n2. Copied existing AsciiDoc examples for both requests and responses\n3. Fixed falsy query object in some GET requests - in OpenApi it was\ndefined as an object, not as path query params.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"92867c697dc573867e6450249178d16110d34603","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Defend Workflows","backport:prev-minor","backport:prev-major","v8.16.0","v8.17.0","v8.18.0","v9.1.0"],"title":"[EDR Workflows][Osquery] OpenApi Missing Content","number":212032,"url":"https://github.com/elastic/kibana/pull/212032","mergeCommit":{"message":"[EDR Workflows][Osquery] OpenApi Missing Content (#212032)\n\nPart of DW team effort -\nhttps://github.com/elastic/security-team/issues/11804\n\nThis PR aligns the property/schema descriptions and examples in\nAsciiDocs with OpenAPI schemas. The primary goal of this PR was not to\nextend or enhance the documentation but to migrate from one system to\nanother.\n\nAscii docs -\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi generated docs -\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-osqueryfindlivequeries\n\nChanges:\n1. Copied missing property descriptions from AsciiDoc to OpenApi\nproperties\n2. Copied existing AsciiDoc examples for both requests and responses\n3. Fixed falsy query object in some GET requests - in OpenApi it was\ndefined as an object, not as path query params.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"92867c697dc573867e6450249178d16110d34603"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.16","8.17","8.18"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212032","number":212032,"mergeCommit":{"message":"[EDR Workflows][Osquery] OpenApi Missing Content (#212032)\n\nPart of DW team effort -\nhttps://github.com/elastic/security-team/issues/11804\n\nThis PR aligns the property/schema descriptions and examples in\nAsciiDocs with OpenAPI schemas. The primary goal of this PR was not to\nextend or enhance the documentation but to migrate from one system to\nanother.\n\nAscii docs -\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi generated docs -\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-osqueryfindlivequeries\n\nChanges:\n1. Copied missing property descriptions from AsciiDoc to OpenApi\nproperties\n2. Copied existing AsciiDoc examples for both requests and responses\n3. Fixed falsy query object in some GET requests - in OpenApi it was\ndefined as an object, not as path query params.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"92867c697dc573867e6450249178d16110d34603"}}]}] BACKPORT--> --------- Co-authored-by: Konrad Szwarc <konrad.szwarc@elastic.co> |
||
|
c628190574
|
[8.x] [Security Assistant] Fix Knowledge Base API (#211367) (#212552)
# Backport This will backport the following commits from `main` to `8.x`: - [[Security Assistant] Fix Knowledge Base API (#211367)](https://github.com/elastic/kibana/pull/211367) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Patryk Kopyciński","email":"contact@patrykkopycinski.com"},"sourceCommit":{"committedDate":"2025-02-25T23:00:00Z","message":"[Security Assistant] Fix Knowledge Base API (#211367)\n\n## Summary\n\nFixes bugs related to Security Assistant Knowledge Base API\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Hannah Mudge <Heenawter@users.noreply.github.com>\nCo-authored-by: Marta Bondyra <4283304+mbondyra@users.noreply.github.com>\nCo-authored-by: Davis Plumlee <56367316+dplumlee@users.noreply.github.com>\nCo-authored-by: Jatin Kathuria <jatin.kathuria@elastic.co>\nCo-authored-by: Chris Cowan <chris@elastic.co>\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by: Arturo Lidueña <arturo.liduena@elastic.co>\nCo-authored-by: Jon <jon@elastic.co>\nCo-authored-by: Rodney Norris <rodney.norris@elastic.co>\nCo-authored-by: Elena Shostak <165678770+elena-shostak@users.noreply.github.com>\nCo-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>\nCo-authored-by: Irene Blanco <irene.blanco@elastic.co>\nCo-authored-by: Cauê Marcondes <55978943+cauemarcondes@users.noreply.github.com>\nCo-authored-by: Carlos Crespo <crespocarlos@users.noreply.github.com>","sha":"c822109a492fe4dcf38ca5aa6d87b2a95bf075c4","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","v9.0.0","Feature:Security Assistant","Team:Security Generative AI","backport:version","v8.18.0","v9.1.0"],"title":"[Security Assistant] Fix Knowledge Base API","number":211367,"url":"https://github.com/elastic/kibana/pull/211367","mergeCommit":{"message":"[Security Assistant] Fix Knowledge Base API (#211367)\n\n## Summary\n\nFixes bugs related to Security Assistant Knowledge Base API\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Hannah Mudge <Heenawter@users.noreply.github.com>\nCo-authored-by: Marta Bondyra <4283304+mbondyra@users.noreply.github.com>\nCo-authored-by: Davis Plumlee <56367316+dplumlee@users.noreply.github.com>\nCo-authored-by: Jatin Kathuria <jatin.kathuria@elastic.co>\nCo-authored-by: Chris Cowan <chris@elastic.co>\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by: Arturo Lidueña <arturo.liduena@elastic.co>\nCo-authored-by: Jon <jon@elastic.co>\nCo-authored-by: Rodney Norris <rodney.norris@elastic.co>\nCo-authored-by: Elena Shostak <165678770+elena-shostak@users.noreply.github.com>\nCo-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>\nCo-authored-by: Irene Blanco <irene.blanco@elastic.co>\nCo-authored-by: Cauê Marcondes <55978943+cauemarcondes@users.noreply.github.com>\nCo-authored-by: Carlos Crespo <crespocarlos@users.noreply.github.com>","sha":"c822109a492fe4dcf38ca5aa6d87b2a95bf075c4"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212457","number":212457,"state":"MERGED","mergeCommit":{"sha":"187cd94dc7217ee2536360ca208d2b6743135fad","message":"[9.0] [Security Assistant] Fix Knowledge Base API (#211367) (#212457)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.0`:\n- [[Security Assistant] Fix Knowledge Base API\n(#211367)](https://github.com/elastic/kibana/pull/211367)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>"}},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212456","number":212456,"state":"MERGED","mergeCommit":{"sha":"ee44e4d0fbbca1356d866cc0531300e36dd6d5a9","message":"[8.18] [Security Assistant] Fix Knowledge Base API (#211367) (#212456)\n\n# Backport\n\nThis will backport the following commits from `main` to `8.18`:\n- [[Security Assistant] Fix Knowledge Base API\n(#211367)](https://github.com/elastic/kibana/pull/211367)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\n---------\n\nCo-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/211367","number":211367,"mergeCommit":{"message":"[Security Assistant] Fix Knowledge Base API (#211367)\n\n## Summary\n\nFixes bugs related to Security Assistant Knowledge Base API\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Hannah Mudge <Heenawter@users.noreply.github.com>\nCo-authored-by: Marta Bondyra <4283304+mbondyra@users.noreply.github.com>\nCo-authored-by: Davis Plumlee <56367316+dplumlee@users.noreply.github.com>\nCo-authored-by: Jatin Kathuria <jatin.kathuria@elastic.co>\nCo-authored-by: Chris Cowan <chris@elastic.co>\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by: Arturo Lidueña <arturo.liduena@elastic.co>\nCo-authored-by: Jon <jon@elastic.co>\nCo-authored-by: Rodney Norris <rodney.norris@elastic.co>\nCo-authored-by: Elena Shostak <165678770+elena-shostak@users.noreply.github.com>\nCo-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>\nCo-authored-by: Irene Blanco <irene.blanco@elastic.co>\nCo-authored-by: Cauê Marcondes <55978943+cauemarcondes@users.noreply.github.com>\nCo-authored-by: Carlos Crespo <crespocarlos@users.noreply.github.com>","sha":"c822109a492fe4dcf38ca5aa6d87b2a95bf075c4"}}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
c7d2770ffb
|
[8.x] [EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205) (#212491)
# Backport This will backport the following commits from `main` to `8.x`: - [[EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205)](https://github.com/elastic/kibana/pull/212205) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Konrad Szwarc","email":"konrad.szwarc@elastic.co"},"sourceCommit":{"committedDate":"2025-02-25T13:18:56Z","message":"[EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205)\n\nPart of DW team effort -\nhttps://github.com/elastic/security-team/issues/11804\n\nThis PR aligns the property/schema descriptions and examples in\nAsciiDocs with OpenAPI schemas. The primary goal of this PR was not to\nextend or enhance the documentation but to migrate from one system to\nanother.\n\nAscii docs -\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi generated docs -\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied missing property descriptions from AsciiDoc to OpenApi properties\nCopied existing AsciiDoc examples for both requests and responses\nFixed falsy query object in some GET requests - in OpenApi it was\ndefined as an object, not as path query params.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"3492f12c6c47d36de200682e43fae5684dbf49bb","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Defend Workflows","backport:prev-major","v8.16.0","v8.17.0","v8.18.0","v9.1.0","v8.17.3","v8.16.5"],"title":"[EDR Workflows] OpenApi Missing Content - Endpoint Management","number":212205,"url":"https://github.com/elastic/kibana/pull/212205","mergeCommit":{"message":"[EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205)\n\nPart of DW team effort -\nhttps://github.com/elastic/security-team/issues/11804\n\nThis PR aligns the property/schema descriptions and examples in\nAsciiDocs with OpenAPI schemas. The primary goal of this PR was not to\nextend or enhance the documentation but to migrate from one system to\nanother.\n\nAscii docs -\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi generated docs -\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied missing property descriptions from AsciiDoc to OpenApi properties\nCopied existing AsciiDoc examples for both requests and responses\nFixed falsy query object in some GET requests - in OpenApi it was\ndefined as an object, not as path query params.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"3492f12c6c47d36de200682e43fae5684dbf49bb"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212374","number":212374,"state":"MERGED","mergeCommit":{"sha":"b04883c3bd71119437692d8b679c1d2941d6ee8c","message":"[9.0] [EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205) (#212374)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.0`:\n- [[EDR Workflows] OpenApi Missing Content - Endpoint Management\n(#212205)](https://github.com/elastic/kibana/pull/212205)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by: Konrad Szwarc <konrad.szwarc@elastic.co>"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212389","number":212389,"state":"MERGED","mergeCommit":{"sha":"279b42370ee6166bb03fb993ee8682c4b7181876","message":"[8.16] [EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205) (#212389)\n\n# Backport\n\nThis will backport the following commits from `main` to `8.16`:\n- [[EDR Workflows] OpenApi Missing Content - Endpoint Management\n(#212205)](https://github.com/elastic/kibana/pull/212205)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>"}},{"branch":"8.17","label":"v8.17.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212387","number":212387,"state":"MERGED","mergeCommit":{"sha":"83391ca5d980c6d26f0337be63454116c319bbf1","message":"[8.17] [EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205) (#212387)\n\n# Backport\n\nThis will backport the following commits from `main` to `8.17`:\n- [[EDR Workflows] OpenApi Missing Content - Endpoint Management\n(#212205)](https://github.com/elastic/kibana/pull/212205)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>"}},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212373","number":212373,"state":"MERGED","mergeCommit":{"sha":"d371f5cf34bfcea45e8316d2d99e361ab5527f7b","message":"[8.18] [EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205) (#212373)\n\n# Backport\n\nThis will backport the following commits from `main` to `8.18`:\n- [[EDR Workflows] OpenApi Missing Content - Endpoint Management\n(#212205)](https://github.com/elastic/kibana/pull/212205)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\n---------\n\nCo-authored-by: Konrad Szwarc <konrad.szwarc@elastic.co>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/212205","number":212205,"mergeCommit":{"message":"[EDR Workflows] OpenApi Missing Content - Endpoint Management (#212205)\n\nPart of DW team effort -\nhttps://github.com/elastic/security-team/issues/11804\n\nThis PR aligns the property/schema descriptions and examples in\nAsciiDocs with OpenAPI schemas. The primary goal of this PR was not to\nextend or enhance the documentation but to migrate from one system to\nanother.\n\nAscii docs -\nhttps://www.elastic.co/guide/en/kibana/8.17/osquery-manager-api.html\nOpenApi generated docs -\nhttps://www.elastic.co/docs/api/doc/kibana/operation/operation-endpointgetactionslist\n\nChanges:\n\nCopied missing property descriptions from AsciiDoc to OpenApi properties\nCopied existing AsciiDoc examples for both requests and responses\nFixed falsy query object in some GET requests - in OpenApi it was\ndefined as an object, not as path query params.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com>","sha":"3492f12c6c47d36de200682e43fae5684dbf49bb"}}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
834e54f158
|
[8.x] Deprecate universal entity (#211771)
# Backport This will backport the following commits from `main` to `8.x`: - [Deprecate universal entity](https://github.com/elastic/kibana/pull/210978) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Ido Cohen","email":"90558359+CohenIdo@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-18T14:49:32Z","message":"Deprecate universal entity","sha":"f5c9529e37ea3dddca4db748bfa7e2391303f87e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Cloud Security","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"Deprecate universal entity","number":210978,"url":"https://github.com/elastic/kibana/pull/210978","mergeCommit":{"message":"Deprecate universal entity","sha":"f5c9529e37ea3dddca4db748bfa7e2391303f87e"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/210978","number":210978,"mergeCommit":{"message":"Deprecate universal entity","sha":"f5c9529e37ea3dddca4db748bfa7e2391303f87e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
4d06069b9a
|
[8.x] [Security Solution] [AI Assistant] Fix flashing citations (#209629) (#211044)
# Backport This will backport the following commits from `main` to `8.x`: - [[Security Solution] [AI Assistant] Fix flashing citations (#209629)](https://github.com/elastic/kibana/pull/209629) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Kenneth Kreindler","email":"42113355+KDKHD@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-13T15:07:25Z","message":"[Security Solution] [AI Assistant] Fix flashing citations (#209629)\n\n## Summary\r\n\r\nFixes a small UI bug in the citations feature. Previously, after a\r\nmessage with citations finished streaming, the citations would disappear\r\nfor a fraction of a second and then reappear again. This PR makes\r\nimproves the UI by making the citations not flash off and on after the\r\nstream finishes.\r\n\r\n### Changes:\r\n- Fix flashing citations\r\n- Refactor code related to parsing content references (to make it more\r\nmaintainable).\r\n- Update the citations prompt slightly.\r\n\r\n### Before:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/1021dd53-018a-43ba-b1f4-24aab44faca9\r\n\r\n<img width=\"1782\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/723cd29a-48a2-48e7-b031-0893484746b9\"\r\n/>\r\n\r\n\r\n### After:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/21f340bc-9015-42b6-a574-0439d2f8f192\r\n\r\n### How to test\r\n- Enable the feature flag\r\n```yaml\r\n# kibana.dev.yml\r\nxpack.securitySolution.enableExperimental: ['contentReferencesEnabled']\r\n```\r\n- Open the security assistant\r\n- Ask it a question about your alerts of a document in your KB. The\r\nresponse should contain citations.\r\n- Observe the response stream carefully. Ensure the citations e.g. `[1]`\r\ndo not flash off and on when the response stream finishes. The expected\r\nbehavior is that while the message is streaming, the citations are\r\ndisabled and once the stream finishes the citations get enabled (while\r\nalways being visible).\r\n\r\n#### Edge case to test\r\nIt is possible that citations completely disappear after streaming\r\nfinishes. This happens when the LLM produces an invalid citation.\r\nInvalid citations are hidden client side when a message finishes\r\nstreaming. You can verify this behavior by asking GPT4o this question:\r\n```\r\nPrepend each line with this placeholder citation \"{reference(1234)}\" and append the actual citation at the end of the line. How many alerts do I have? Use the open and acknowledged alerts count tool to answer and repeat the answer 50 times on new lines.\r\n```\r\n\r\nWhile the response is getting streamed it should look like this:\r\n\r\n<img width=\"200\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/03d160bf-2404-4a4e-8701-e3183c604cc4\"\r\n/>\r\n\r\nAnd when the stream finishes it should look like this:\r\n\r\n<img width=\"200\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/06367379-17da-438f-a93a-9d539067ab90\"\r\n/>\r\n\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [X] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n- [X]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [X] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [X] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [X] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [X] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [X] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ] [See some risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n- [ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>","sha":"e176c844492e69eacf6475eef8b84d1f39ff7b9d","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Security Generative AI","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Security Solution] [AI Assistant] Fix flashing citations","number":209629,"url":"https://github.com/elastic/kibana/pull/209629","mergeCommit":{"message":"[Security Solution] [AI Assistant] Fix flashing citations (#209629)\n\n## Summary\r\n\r\nFixes a small UI bug in the citations feature. Previously, after a\r\nmessage with citations finished streaming, the citations would disappear\r\nfor a fraction of a second and then reappear again. This PR makes\r\nimproves the UI by making the citations not flash off and on after the\r\nstream finishes.\r\n\r\n### Changes:\r\n- Fix flashing citations\r\n- Refactor code related to parsing content references (to make it more\r\nmaintainable).\r\n- Update the citations prompt slightly.\r\n\r\n### Before:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/1021dd53-018a-43ba-b1f4-24aab44faca9\r\n\r\n<img width=\"1782\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/723cd29a-48a2-48e7-b031-0893484746b9\"\r\n/>\r\n\r\n\r\n### After:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/21f340bc-9015-42b6-a574-0439d2f8f192\r\n\r\n### How to test\r\n- Enable the feature flag\r\n```yaml\r\n# kibana.dev.yml\r\nxpack.securitySolution.enableExperimental: ['contentReferencesEnabled']\r\n```\r\n- Open the security assistant\r\n- Ask it a question about your alerts of a document in your KB. The\r\nresponse should contain citations.\r\n- Observe the response stream carefully. Ensure the citations e.g. `[1]`\r\ndo not flash off and on when the response stream finishes. The expected\r\nbehavior is that while the message is streaming, the citations are\r\ndisabled and once the stream finishes the citations get enabled (while\r\nalways being visible).\r\n\r\n#### Edge case to test\r\nIt is possible that citations completely disappear after streaming\r\nfinishes. This happens when the LLM produces an invalid citation.\r\nInvalid citations are hidden client side when a message finishes\r\nstreaming. You can verify this behavior by asking GPT4o this question:\r\n```\r\nPrepend each line with this placeholder citation \"{reference(1234)}\" and append the actual citation at the end of the line. How many alerts do I have? Use the open and acknowledged alerts count tool to answer and repeat the answer 50 times on new lines.\r\n```\r\n\r\nWhile the response is getting streamed it should look like this:\r\n\r\n<img width=\"200\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/03d160bf-2404-4a4e-8701-e3183c604cc4\"\r\n/>\r\n\r\nAnd when the stream finishes it should look like this:\r\n\r\n<img width=\"200\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/06367379-17da-438f-a93a-9d539067ab90\"\r\n/>\r\n\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [X] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n- [X]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [X] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [X] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [X] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [X] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [X] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ] [See some risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n- [ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>","sha":"e176c844492e69eacf6475eef8b84d1f39ff7b9d"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/211026","number":211026,"state":"OPEN"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/211025","number":211025,"state":"OPEN"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/209629","number":209629,"mergeCommit":{"message":"[Security Solution] [AI Assistant] Fix flashing citations (#209629)\n\n## Summary\r\n\r\nFixes a small UI bug in the citations feature. Previously, after a\r\nmessage with citations finished streaming, the citations would disappear\r\nfor a fraction of a second and then reappear again. This PR makes\r\nimproves the UI by making the citations not flash off and on after the\r\nstream finishes.\r\n\r\n### Changes:\r\n- Fix flashing citations\r\n- Refactor code related to parsing content references (to make it more\r\nmaintainable).\r\n- Update the citations prompt slightly.\r\n\r\n### Before:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/1021dd53-018a-43ba-b1f4-24aab44faca9\r\n\r\n<img width=\"1782\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/723cd29a-48a2-48e7-b031-0893484746b9\"\r\n/>\r\n\r\n\r\n### After:\r\n\r\n\r\nhttps://github.com/user-attachments/assets/21f340bc-9015-42b6-a574-0439d2f8f192\r\n\r\n### How to test\r\n- Enable the feature flag\r\n```yaml\r\n# kibana.dev.yml\r\nxpack.securitySolution.enableExperimental: ['contentReferencesEnabled']\r\n```\r\n- Open the security assistant\r\n- Ask it a question about your alerts of a document in your KB. The\r\nresponse should contain citations.\r\n- Observe the response stream carefully. Ensure the citations e.g. `[1]`\r\ndo not flash off and on when the response stream finishes. The expected\r\nbehavior is that while the message is streaming, the citations are\r\ndisabled and once the stream finishes the citations get enabled (while\r\nalways being visible).\r\n\r\n#### Edge case to test\r\nIt is possible that citations completely disappear after streaming\r\nfinishes. This happens when the LLM produces an invalid citation.\r\nInvalid citations are hidden client side when a message finishes\r\nstreaming. You can verify this behavior by asking GPT4o this question:\r\n```\r\nPrepend each line with this placeholder citation \"{reference(1234)}\" and append the actual citation at the end of the line. How many alerts do I have? Use the open and acknowledged alerts count tool to answer and repeat the answer 50 times on new lines.\r\n```\r\n\r\nWhile the response is getting streamed it should look like this:\r\n\r\n<img width=\"200\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/03d160bf-2404-4a4e-8701-e3183c604cc4\"\r\n/>\r\n\r\nAnd when the stream finishes it should look like this:\r\n\r\n<img width=\"200\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/06367379-17da-438f-a93a-9d539067ab90\"\r\n/>\r\n\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [X] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n- [X]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [X] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [X] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [X] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [X] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [X] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ] [See some risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n- [ ] ...\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>","sha":"e176c844492e69eacf6475eef8b84d1f39ff7b9d"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> |
||
|
d44fef5be9
|
[8.x] [Entity Analytics][UI] UI changes for Risk Engine to include closed alerts for risk score calculation (#201909) (#210839)
# Backport This will backport the following commits from `main` to `8.x`: - [[Entity Analytics][UI] UI changes for Risk Engine to include closed alerts for risk score calculation (#201909)](https://github.com/elastic/kibana/pull/201909) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Abhishek Bhatia","email":"117628830+abhishekbhatia1710@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-12-13T06:41:12Z","message":"[Entity Analytics][UI] UI changes for Risk Engine to include closed alerts for risk score calculation (#201909)\n\n## Summary\n\nWe are introducing a new feature that allows users to include \"closed\"\nalerts in risk score calculations.\n\nUsers can toggle a button to include closed alerts in the risk score\ncalculation and specify a date/time range for the calculation.\nAdditionally, they can preview the data before finalising and saving\nthese changes for the next engine run.\n\n\n\n\n### **Note : This PR is an extension to the following PRs.**\n\n- [API] : https://github.com/elastic/kibana/pull/201344\n- [API] : https://github.com/elastic/kibana/pull/201397\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n- [x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n- [ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [ ] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"a95ec61444470b4a50fe6c7313bd89b8a1801deb","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","ci:project-deploy-security","Team:Entity Analytics","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Entity Analytics][UI] UI changes for Risk Engine to include closed alerts for risk score calculation","number":201909,"url":"https://github.com/elastic/kibana/pull/201909","mergeCommit":{"message":"[Entity Analytics][UI] UI changes for Risk Engine to include closed alerts for risk score calculation (#201909)\n\n## Summary\n\nWe are introducing a new feature that allows users to include \"closed\"\nalerts in risk score calculations.\n\nUsers can toggle a button to include closed alerts in the risk score\ncalculation and specify a date/time range for the calculation.\nAdditionally, they can preview the data before finalising and saving\nthese changes for the next engine run.\n\n\n\n\n### **Note : This PR is an extension to the following PRs.**\n\n- [API] : https://github.com/elastic/kibana/pull/201344\n- [API] : https://github.com/elastic/kibana/pull/201397\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n- [x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n- [ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [ ] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"a95ec61444470b4a50fe6c7313bd89b8a1801deb"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/201909","number":201909,"mergeCommit":{"message":"[Entity Analytics][UI] UI changes for Risk Engine to include closed alerts for risk score calculation (#201909)\n\n## Summary\n\nWe are introducing a new feature that allows users to include \"closed\"\nalerts in risk score calculations.\n\nUsers can toggle a button to include closed alerts in the risk score\ncalculation and specify a date/time range for the calculation.\nAdditionally, they can preview the data before finalising and saving\nthese changes for the next engine run.\n\n\n\n\n### **Note : This PR is an extension to the following PRs.**\n\n- [API] : https://github.com/elastic/kibana/pull/201344\n- [API] : https://github.com/elastic/kibana/pull/201397\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n- [x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas added for features that require explanation or tutorials\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] If a plugin configuration key changed, check if it needs to be\nallowlisted in the cloud and added to the [docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n- [ ] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [ ] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"a95ec61444470b4a50fe6c7313bd89b8a1801deb"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/210707","number":210707,"state":"OPEN"},{"branch":"9.1","label":"v9.1.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"url":"https://github.com/elastic/kibana/pull/210747","number":210747,"branch":"8.18","state":"OPEN"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
48e1f793ed
|
[8.x] [SecuritySolution][Endpoint] Update request docs for isolate/release/processes (#209097) (#210162)
# Backport This will backport the following commits from `main` to `8.x`: - [[SecuritySolution][Endpoint] Update request docs for isolate/release/processes (#209097)](https://github.com/elastic/kibana/pull/209097) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Ash","email":"1849116+ashokaditya@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-03T10:38:14Z","message":"[SecuritySolution][Endpoint] Update request docs for isolate/release/processes (#209097)","sha":"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Defend Workflows","OLM Sprint","v8.16.0","backport:version","v8.17.0","v8.18.0","v8.17.2","v9.1.0","v8.19.0"],"title":"[SecuritySolution][Endpoint] Update request docs for isolate/release/processes","number":209097,"url":"https://github.com/elastic/kibana/pull/209097","mergeCommit":{"message":"[SecuritySolution][Endpoint] Update request docs for isolate/release/processes (#209097)","sha":"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8"}},"sourceBranch":"main","suggestedTargetBranches":["8.16","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/209249","number":209249,"state":"MERGED","mergeCommit":{"sha":"520ee77c3ef3930f2e5dd116dca8d4bfd34a5a46","message":"[9.0] [SecuritySolution][Endpoint] Update request docs for isolate/release/processes (#209097) (#209249)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.0`:\n- [[SecuritySolution][Endpoint] Update request docs for\nisolate/release/processes\n(#209097)](https://github.com/elastic/kibana/pull/209097)\n\n<!--- Backport version: 9.4.3 -->\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sqren/backport)\n\n<!--BACKPORT\n[{\"author\":{\"name\":\"Ash\",\"email\":\"1849116+ashokaditya@users.noreply.github.com\"},\"sourceCommit\":{\"committedDate\":\"2025-02-03T10:38:14Z\",\"message\":\"[SecuritySolution][Endpoint]\nUpdate request docs for isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\",\"branchLabelMapping\":{\"^v9.1.0$\":\"main\",\"^v8.19.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"release_note:skip\",\"v9.0.0\",\"Team:Defend\nWorkflows\",\"OLM\nSprint\",\"v8.16.0\",\"backport:version\",\"v8.17.0\",\"v8.18.0\",\"v9.1.0\"],\"title\":\"[SecuritySolution][Endpoint]\nUpdate request docs for\nisolate/release/processes\",\"number\":209097,\"url\":\"https://github.com/elastic/kibana/pull/209097\",\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate request docs for isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"9.0\",\"8.16\",\"8.17\",\"8.18\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.16\",\"label\":\"v8.16.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.17\",\"label\":\"v8.17.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.18\",\"label\":\"v8.18.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"main\",\"label\":\"v9.1.0\",\"branchLabelMappingKey\":\"^v9.1.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/209097\",\"number\":209097,\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate request docs for isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}}]}]\nBACKPORT-->\n\nCo-authored-by: Ash <1849116+ashokaditya@users.noreply.github.com>"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/210132","number":210132,"state":"MERGED","mergeCommit":{"sha":"8b86e7bc452c4d349fd3224a9fa8d6f4d64abdca","message":"[8.17] [SecuritySolution][Endpoint] Update request docs for isolate/release/processes (#209097) (#210132)\n\n# Backport\n\nThis will backport the following commits from `main` to `8.17`:\n- [[SecuritySolution][Endpoint] Update request docs for\nisolate/release/processes\n(#209097)](https://github.com/elastic/kibana/pull/209097)\n\n<!--- Backport version: 9.6.4 -->\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n<!--BACKPORT\n[{\"author\":{\"name\":\"Ash\",\"email\":\"1849116+ashokaditya@users.noreply.github.com\"},\"sourceCommit\":{\"committedDate\":\"2025-02-03T10:38:14Z\",\"message\":\"[SecuritySolution][Endpoint]\nUpdate request docs for isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\",\"branchLabelMapping\":{\"^v9.1.0$\":\"main\",\"^v8.19.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"release_note:skip\",\"v9.0.0\",\"Team:Defend\nWorkflows\",\"OLM\nSprint\",\"v8.16.0\",\"backport:version\",\"v8.17.0\",\"v8.18.0\",\"v9.1.0\"],\"title\":\"[SecuritySolution][Endpoint]\nUpdate request docs for\nisolate/release/processes\",\"number\":209097,\"url\":\"https://github.com/elastic/kibana/pull/209097\",\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate request docs for isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"8.16\",\"8.17\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"url\":\"https://github.com/elastic/kibana/pull/209249\",\"number\":209249,\"state\":\"MERGED\",\"mergeCommit\":{\"sha\":\"520ee77c3ef3930f2e5dd116dca8d4bfd34a5a46\",\"message\":\"[9.0]\n[SecuritySolution][Endpoint] Update request docs for\nisolate/release/processes (#209097) (#209249)\\n\\n# Backport\\n\\nThis will\nbackport the following commits from `main` to `9.0`:\\n-\n[[SecuritySolution][Endpoint] Update request docs\nfor\\nisolate/release/processes\\n(#209097)](https://github.com/elastic/kibana/pull/209097)\\n\\n<!---\nBackport version: 9.4.3 -->\\n\\n### Questions ?\\nPlease refer to the\n[Backport\ntool\\ndocumentation](https://github.com/sqren/backport)\\n\\n<!--BACKPORT\\n[{\\\"author\\\":{\\\"name\\\":\\\"Ash\\\",\\\"email\\\":\\\"1849116+ashokaditya@users.noreply.github.com\\\"},\\\"sourceCommit\\\":{\\\"committedDate\\\":\\\"2025-02-03T10:38:14Z\\\",\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest docs for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\",\\\"branchLabelMapping\\\":{\\\"^v9.1.0$\\\":\\\"main\\\",\\\"^v8.19.0$\\\":\\\"8.x\\\",\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\":\\\"$1.$2\\\"}},\\\"sourcePullRequest\\\":{\\\"labels\\\":[\\\"release_note:skip\\\",\\\"v9.0.0\\\",\\\"Team:Defend\\nWorkflows\\\",\\\"OLM\\nSprint\\\",\\\"v8.16.0\\\",\\\"backport:version\\\",\\\"v8.17.0\\\",\\\"v8.18.0\\\",\\\"v9.1.0\\\"],\\\"title\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest docs\nfor\\nisolate/release/processes\\\",\\\"number\\\":209097,\\\"url\\\":\\\"https://github.com/elastic/kibana/pull/209097\\\",\\\"mergeCommit\\\":{\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest docs for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\"}},\\\"sourceBranch\\\":\\\"main\\\",\\\"suggestedTargetBranches\\\":[\\\"9.0\\\",\\\"8.16\\\",\\\"8.17\\\",\\\"8.18\\\"],\\\"targetPullRequestStates\\\":[{\\\"branch\\\":\\\"9.0\\\",\\\"label\\\":\\\"v9.0.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.16\\\",\\\"label\\\":\\\"v8.16.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.17\\\",\\\"label\\\":\\\"v8.17.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.18\\\",\\\"label\\\":\\\"v8.18.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"main\\\",\\\"label\\\":\\\"v9.1.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v9.1.0$\\\",\\\"isSourceBranch\\\":true,\\\"state\\\":\\\"MERGED\\\",\\\"url\\\":\\\"https://github.com/elastic/kibana/pull/209097\\\",\\\"number\\\":209097,\\\"mergeCommit\\\":{\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest docs for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\"}}]}]\\nBACKPORT-->\\n\\nCo-authored-by:\nAsh\n<1849116+ashokaditya@users.noreply.github.com>\"}},{\"branch\":\"8.16\",\"label\":\"v8.16.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.17\",\"label\":\"v8.17.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.18\",\"label\":\"v8.18.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"url\":\"https://github.com/elastic/kibana/pull/209248\",\"number\":209248,\"state\":\"MERGED\",\"mergeCommit\":{\"sha\":\"21237fd4e5ee6a114376c40783576d768277c120\",\"message\":\"[8.18]\n[SecuritySolution][Endpoint] Update request docs for\nisolate/release/processes (#209097) (#209248)\\n\\n# Backport\\n\\nThis will\nbackport the following commits from `main` to `8.18`:\\n-\n[[SecuritySolution][Endpoint] Update request docs\nfor\\nisolate/release/processes\\n(#209097)](https://github.com/elastic/kibana/pull/209097)\\n\\n<!---\nBackport version: 9.4.3 -->\\n\\n### Questions ?\\nPlease refer to the\n[Backport\ntool\\ndocumentation](https://github.com/sqren/backport)\\n\\n<!--BACKPORT\\n[{\\\"author\\\":{\\\"name\\\":\\\"Ash\\\",\\\"email\\\":\\\"1849116+ashokaditya@users.noreply.github.com\\\"},\\\"sourceCommit\\\":{\\\"committedDate\\\":\\\"2025-02-03T10:38:14Z\\\",\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest docs for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\",\\\"branchLabelMapping\\\":{\\\"^v9.1.0$\\\":\\\"main\\\",\\\"^v8.19.0$\\\":\\\"8.x\\\",\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\":\\\"$1.$2\\\"}},\\\"sourcePullRequest\\\":{\\\"labels\\\":[\\\"release_note:skip\\\",\\\"v9.0.0\\\",\\\"Team:Defend\\nWorkflows\\\",\\\"OLM\\nSprint\\\",\\\"v8.16.0\\\",\\\"backport:version\\\",\\\"v8.17.0\\\",\\\"v8.18.0\\\",\\\"v9.1.0\\\"],\\\"title\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest docs\nfor\\nisolate/release/processes\\\",\\\"number\\\":209097,\\\"url\\\":\\\"https://github.com/elastic/kibana/pull/209097\\\",\\\"mergeCommit\\\":{\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest docs for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\"}},\\\"sourceBranch\\\":\\\"main\\\",\\\"suggestedTargetBranches\\\":[\\\"9.0\\\",\\\"8.16\\\",\\\"8.17\\\",\\\"8.18\\\"],\\\"targetPullRequestStates\\\":[{\\\"branch\\\":\\\"9.0\\\",\\\"label\\\":\\\"v9.0.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.16\\\",\\\"label\\\":\\\"v8.16.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.17\\\",\\\"label\\\":\\\"v8.17.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"8.18\\\",\\\"label\\\":\\\"v8.18.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v(\\\\\\\\d+).(\\\\\\\\d+).\\\\\\\\d+$\\\",\\\"isSourceBranch\\\":false,\\\"state\\\":\\\"NOT_CREATED\\\"},{\\\"branch\\\":\\\"main\\\",\\\"label\\\":\\\"v9.1.0\\\",\\\"branchLabelMappingKey\\\":\\\"^v9.1.0$\\\",\\\"isSourceBranch\\\":true,\\\"state\\\":\\\"MERGED\\\",\\\"url\\\":\\\"https://github.com/elastic/kibana/pull/209097\\\",\\\"number\\\":209097,\\\"mergeCommit\\\":{\\\"message\\\":\\\"[SecuritySolution][Endpoint]\\nUpdate\nrequest docs for\nisolate/release/processes\\n(#209097)\\\",\\\"sha\\\":\\\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\\\"}}]}]\\nBACKPORT-->\\n\\nCo-authored-by:\nAsh\n<1849116+ashokaditya@users.noreply.github.com>\"}},{\"branch\":\"main\",\"label\":\"v9.1.0\",\"branchLabelMappingKey\":\"^v9.1.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/209097\",\"number\":209097,\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate request docs for isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}}]}]\nBACKPORT-->\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>"}},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/209248","number":209248,"state":"MERGED","mergeCommit":{"sha":"21237fd4e5ee6a114376c40783576d768277c120","message":"[8.18] [SecuritySolution][Endpoint] Update request docs for isolate/release/processes (#209097) (#209248)\n\n# Backport\n\nThis will backport the following commits from `main` to `8.18`:\n- [[SecuritySolution][Endpoint] Update request docs for\nisolate/release/processes\n(#209097)](https://github.com/elastic/kibana/pull/209097)\n\n<!--- Backport version: 9.4.3 -->\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sqren/backport)\n\n<!--BACKPORT\n[{\"author\":{\"name\":\"Ash\",\"email\":\"1849116+ashokaditya@users.noreply.github.com\"},\"sourceCommit\":{\"committedDate\":\"2025-02-03T10:38:14Z\",\"message\":\"[SecuritySolution][Endpoint]\nUpdate request docs for isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\",\"branchLabelMapping\":{\"^v9.1.0$\":\"main\",\"^v8.19.0$\":\"8.x\",\"^v(\\\\d+).(\\\\d+).\\\\d+$\":\"$1.$2\"}},\"sourcePullRequest\":{\"labels\":[\"release_note:skip\",\"v9.0.0\",\"Team:Defend\nWorkflows\",\"OLM\nSprint\",\"v8.16.0\",\"backport:version\",\"v8.17.0\",\"v8.18.0\",\"v9.1.0\"],\"title\":\"[SecuritySolution][Endpoint]\nUpdate request docs for\nisolate/release/processes\",\"number\":209097,\"url\":\"https://github.com/elastic/kibana/pull/209097\",\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate request docs for isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}},\"sourceBranch\":\"main\",\"suggestedTargetBranches\":[\"9.0\",\"8.16\",\"8.17\",\"8.18\"],\"targetPullRequestStates\":[{\"branch\":\"9.0\",\"label\":\"v9.0.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.16\",\"label\":\"v8.16.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.17\",\"label\":\"v8.17.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"8.18\",\"label\":\"v8.18.0\",\"branchLabelMappingKey\":\"^v(\\\\d+).(\\\\d+).\\\\d+$\",\"isSourceBranch\":false,\"state\":\"NOT_CREATED\"},{\"branch\":\"main\",\"label\":\"v9.1.0\",\"branchLabelMappingKey\":\"^v9.1.0$\",\"isSourceBranch\":true,\"state\":\"MERGED\",\"url\":\"https://github.com/elastic/kibana/pull/209097\",\"number\":209097,\"mergeCommit\":{\"message\":\"[SecuritySolution][Endpoint]\nUpdate request docs for isolate/release/processes\n(#209097)\",\"sha\":\"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8\"}}]}]\nBACKPORT-->\n\nCo-authored-by: Ash <1849116+ashokaditya@users.noreply.github.com>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/209097","number":209097,"mergeCommit":{"message":"[SecuritySolution][Endpoint] Update request docs for isolate/release/processes (#209097)","sha":"59a15be9777d206e3cc59e3ffb9dcf5d2beadbe8"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> |
||
|
cd466994c5
|
[8.x] [Detection Engine] [Alerting] [Response Ops] Rule gaps (#206313) (#208971)
# Backport This will backport the following commits from `main` to `8.x`: - [[Detection Engine] [Alerting] [Response Ops] Rule gaps (#206313)](https://github.com/elastic/kibana/pull/206313) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Khristinin Nikita","email":"nikita.khristinin@elastic.co"},"sourceCommit":{"committedDate":"2025-01-28T22:58:42Z","message":"[Detection Engine] [Alerting] [Response Ops] Rule gaps (#206313)\n\n## Rule gaps\r\n\r\nThis PR contains schema changes, which have already been reviewed and\r\nshould be [merged](https://github.com/elastic/kibana/pull/192347) and\r\nreleased as an intermediate release.\r\n\r\n**Feature flag needed:**\r\n`xpack.securitySolution.enableExperimental: [\r\n'storeGapsInEventLogEnabled']`\r\n\r\nVideo demo of user use cases - is\r\n[here](https://elastic.slack.com/archives/C071E7FCR1A/p1737044341833789)\r\n\r\n<img width=\"1433\" alt=\"Screenshot 2025-01-16 at 15 38 46\"\r\nsrc=\"https://github.com/user-attachments/assets/2696a1ee-7191-4ca1-9a79-9dff1764cf9d\"\r\n/>\r\n<img width=\"1698\" alt=\"Screenshot 2025-01-16 at 15 38 30\"\r\nsrc=\"https://github.com/user-attachments/assets/1b0ef6db-6c28-4986-a47e-f544bdd9c27c\"\r\n/>\r\n\r\n\r\n\r\nTLDR:\r\n- new API to find/fill gaps, get information for rules about gaps\r\n- update gaps after the backfill run is completed (all tasks should\r\nfinished)\r\n- event log now can update documents\r\n- show a list of gaps in the UI\r\n- show the amount of rules with gaps\r\n\r\n\r\n## Event log changes\r\n\r\nIt support updating document right now. \r\nThere schema changes, as for events we return _id, _index and fields\r\nneeded for updates (seq_no, primary_term)\r\n\r\n\r\n## How gaps update works (steps)\r\n\r\n#### Scheduling Backfill\r\n- Identify all gaps overlapping with the specified backfill date range.\r\n- Update the gap state:\r\n - Add the intervals to `in_progress` intervals.\r\n- Log the updated gaps in the event log.\r\n\r\n#### Completing Backfill\r\n- At the end of a backfill run (when all tasks are completed):\r\n - Find all gaps overlapping with the backfill date range.\r\n - Recalculate the gap state:\r\n- Move intervals into `filled_intervals` based on the backfill schedule.\r\n - Update the gap information in the event log.\r\n\r\n#### Handling Errors and Recalculating State\r\n- If the backfill encounters errors, timeouts, or is removed, we can't\r\njust remove intervals from in progress. We need to take into account\r\nother overlapping backfills\r\n - Fetch all backfills overlapping with the gaps.\r\n - Recalculate the entire gap state to ensure consistency.\r\n \r\n \r\n## How gaps update works (requests)\r\n\r\nWe process gaps in butch by 500 documents, and then update them in bulk.\r\nFor only conflicting documents we retry 3 times up to 3 times.\r\n\r\n\r\n### Status changes\r\n\r\n```mermaid\r\nstateDiagram\r\n [*] --> Unfilled\r\n Unfilled --> Unfilled_with_in_progress_inervals: Backfill scheduled\r\n Unfilled_with_in_progress_inervals --> Filled: Backfill completed\r\n Unfilled_with_in_progress_inervals --> PartiallyFilled: Backfill completed\r\n Filled --> [*]\r\n```\r\n\r\n### How to have gaps\r\n\r\n1. Create a rule with 1 minute interval 1s lookback time, wait for at\r\nleast 1 execution\r\n2. Disable rule\r\n3. Wait for at least 5 minutes (5 x interval time)\r\n4. Enable rule and observe that it's failing with gap message\r\n\r\n# API Endpoints\r\n\r\n## 1. Find Gaps\r\n\r\nRetrieves a paginated list of gaps for rules with filtering options.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_find`\r\n\r\n#### Request Body\r\n\r\n| Field | Type | Required | Description |\r\n\r\n|-------------|--------------------------------------------------------|----------|----------------------------------------|\r\n| page | number | Yes | Page number for pagination |\r\n| per_page | number | Yes | Number of items per page |\r\n| rule_id | string | Yes | ID of the rule to find gaps for |\r\n| start | string (ISO date) | Yes | Start of time range |\r\n| end | string (ISO date) | Yes | End of time range |\r\n| sort_field | string | No | Field to sort by |\r\n| sort_order | asc \\| desc | No | Sort direction |\r\n| statuses | Array<'unfilled' \\| 'filled' \\| 'partially_filled'> | No |\r\nFilter by gap statuses |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"page\": number,\r\n \"per_page\": number,\r\n \"total\": number,\r\n \"data\": [\r\n {\r\n \"_id\": string,\r\n \"@timestamp\": string,\r\n \"status\": \"unfilled\" | \"filled\" | \"partially_filled\",\r\n \"range\": { \"gte\": string, \"lte\": string },\r\n \"unfilled_intervals\": [{ \"gte\": string, \"lte\": string }],\r\n \"filled_intervals\": [{ \"gte\": string, \"lte\": string }],\r\n \"in_progress_intervals\": [{ \"gte\": string, \"lte\": string }],\r\n \"total_gap_duration_ms\": number,\r\n \"filled_duration_ms\": number,\r\n \"unfilled_duration_ms\": number,\r\n \"in_progress_duration_ms\": number\r\n }\r\n ]\r\n }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 2. Fill Gap by ID\r\n\r\nTriggers a backfill operation for a specific gap.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_fill_by_id`\r\n\r\n#### Query Parameters\r\n\r\n| Parameter | Type | Required | Description |\r\n|-----------|--------|----------|---------------------------------|\r\n| rule_id | string | Yes | ID of the rule containing the gap |\r\n| gap_id | string | Yes | ID of the gap to fill |\r\n\r\n### Response\r\n\r\nReturns a standard schedule backfill API response.\r\n\r\n---\r\n\r\n## 3. Get Rules with Gaps\r\n\r\nRetrieves a list of rule IDs that have gaps in the specified time range.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_get_rules`\r\n\r\n#### Request Body\r\n\r\n| Field | Type | Required | Description |\r\n|-------|---------------|----------|-------------------------------|\r\n| start | string (ISO date) | Yes | Start of time range |\r\n| end | string (ISO date) | Yes | End of time range |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"total\": number, // Total number of rules with gaps\r\n \"rule_ids\": string[] // Array of rule IDs\r\n }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 4. Get Gaps Info by Rule IDs\r\n\r\nRetrieves gap statistics for specified rules.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_get_gaps_info_by_rule_ids`\r\n\r\n#### Request Body\r\n\r\n| Field | Type | Required | Description |\r\n\r\n|----------|---------------|----------|------------------------------------|\r\n| rule_ids | string[] | Yes | Array of rule IDs to get gap info for |\r\n| start | string (ISO date) | Yes | Start of time range |\r\n| end | string (ISO date) | Yes | End of time range |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"data\": [\r\n {\r\n \"rule_id\": string,\r\n \"total_unfilled_duration_ms\": number,\r\n \"total_in_progress_duration_ms\": number,\r\n \"total_filled_duration_ms\": number\r\n }\r\n ]\r\n }\r\n}\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"e8ad79b543019fa7d08cdf5c48bd0bf8b24b58ba","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["backport missing","v9.0.0","release_note:feature","backport:prev-minor"],"title":"[Detection Engine] [Alerting] [Response Ops] Rule gaps","number":206313,"url":"https://github.com/elastic/kibana/pull/206313","mergeCommit":{"message":"[Detection Engine] [Alerting] [Response Ops] Rule gaps (#206313)\n\n## Rule gaps\r\n\r\nThis PR contains schema changes, which have already been reviewed and\r\nshould be [merged](https://github.com/elastic/kibana/pull/192347) and\r\nreleased as an intermediate release.\r\n\r\n**Feature flag needed:**\r\n`xpack.securitySolution.enableExperimental: [\r\n'storeGapsInEventLogEnabled']`\r\n\r\nVideo demo of user use cases - is\r\n[here](https://elastic.slack.com/archives/C071E7FCR1A/p1737044341833789)\r\n\r\n<img width=\"1433\" alt=\"Screenshot 2025-01-16 at 15 38 46\"\r\nsrc=\"https://github.com/user-attachments/assets/2696a1ee-7191-4ca1-9a79-9dff1764cf9d\"\r\n/>\r\n<img width=\"1698\" alt=\"Screenshot 2025-01-16 at 15 38 30\"\r\nsrc=\"https://github.com/user-attachments/assets/1b0ef6db-6c28-4986-a47e-f544bdd9c27c\"\r\n/>\r\n\r\n\r\n\r\nTLDR:\r\n- new API to find/fill gaps, get information for rules about gaps\r\n- update gaps after the backfill run is completed (all tasks should\r\nfinished)\r\n- event log now can update documents\r\n- show a list of gaps in the UI\r\n- show the amount of rules with gaps\r\n\r\n\r\n## Event log changes\r\n\r\nIt support updating document right now. \r\nThere schema changes, as for events we return _id, _index and fields\r\nneeded for updates (seq_no, primary_term)\r\n\r\n\r\n## How gaps update works (steps)\r\n\r\n#### Scheduling Backfill\r\n- Identify all gaps overlapping with the specified backfill date range.\r\n- Update the gap state:\r\n - Add the intervals to `in_progress` intervals.\r\n- Log the updated gaps in the event log.\r\n\r\n#### Completing Backfill\r\n- At the end of a backfill run (when all tasks are completed):\r\n - Find all gaps overlapping with the backfill date range.\r\n - Recalculate the gap state:\r\n- Move intervals into `filled_intervals` based on the backfill schedule.\r\n - Update the gap information in the event log.\r\n\r\n#### Handling Errors and Recalculating State\r\n- If the backfill encounters errors, timeouts, or is removed, we can't\r\njust remove intervals from in progress. We need to take into account\r\nother overlapping backfills\r\n - Fetch all backfills overlapping with the gaps.\r\n - Recalculate the entire gap state to ensure consistency.\r\n \r\n \r\n## How gaps update works (requests)\r\n\r\nWe process gaps in butch by 500 documents, and then update them in bulk.\r\nFor only conflicting documents we retry 3 times up to 3 times.\r\n\r\n\r\n### Status changes\r\n\r\n```mermaid\r\nstateDiagram\r\n [*] --> Unfilled\r\n Unfilled --> Unfilled_with_in_progress_inervals: Backfill scheduled\r\n Unfilled_with_in_progress_inervals --> Filled: Backfill completed\r\n Unfilled_with_in_progress_inervals --> PartiallyFilled: Backfill completed\r\n Filled --> [*]\r\n```\r\n\r\n### How to have gaps\r\n\r\n1. Create a rule with 1 minute interval 1s lookback time, wait for at\r\nleast 1 execution\r\n2. Disable rule\r\n3. Wait for at least 5 minutes (5 x interval time)\r\n4. Enable rule and observe that it's failing with gap message\r\n\r\n# API Endpoints\r\n\r\n## 1. Find Gaps\r\n\r\nRetrieves a paginated list of gaps for rules with filtering options.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_find`\r\n\r\n#### Request Body\r\n\r\n| Field | Type | Required | Description |\r\n\r\n|-------------|--------------------------------------------------------|----------|----------------------------------------|\r\n| page | number | Yes | Page number for pagination |\r\n| per_page | number | Yes | Number of items per page |\r\n| rule_id | string | Yes | ID of the rule to find gaps for |\r\n| start | string (ISO date) | Yes | Start of time range |\r\n| end | string (ISO date) | Yes | End of time range |\r\n| sort_field | string | No | Field to sort by |\r\n| sort_order | asc \\| desc | No | Sort direction |\r\n| statuses | Array<'unfilled' \\| 'filled' \\| 'partially_filled'> | No |\r\nFilter by gap statuses |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"page\": number,\r\n \"per_page\": number,\r\n \"total\": number,\r\n \"data\": [\r\n {\r\n \"_id\": string,\r\n \"@timestamp\": string,\r\n \"status\": \"unfilled\" | \"filled\" | \"partially_filled\",\r\n \"range\": { \"gte\": string, \"lte\": string },\r\n \"unfilled_intervals\": [{ \"gte\": string, \"lte\": string }],\r\n \"filled_intervals\": [{ \"gte\": string, \"lte\": string }],\r\n \"in_progress_intervals\": [{ \"gte\": string, \"lte\": string }],\r\n \"total_gap_duration_ms\": number,\r\n \"filled_duration_ms\": number,\r\n \"unfilled_duration_ms\": number,\r\n \"in_progress_duration_ms\": number\r\n }\r\n ]\r\n }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 2. Fill Gap by ID\r\n\r\nTriggers a backfill operation for a specific gap.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_fill_by_id`\r\n\r\n#### Query Parameters\r\n\r\n| Parameter | Type | Required | Description |\r\n|-----------|--------|----------|---------------------------------|\r\n| rule_id | string | Yes | ID of the rule containing the gap |\r\n| gap_id | string | Yes | ID of the gap to fill |\r\n\r\n### Response\r\n\r\nReturns a standard schedule backfill API response.\r\n\r\n---\r\n\r\n## 3. Get Rules with Gaps\r\n\r\nRetrieves a list of rule IDs that have gaps in the specified time range.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_get_rules`\r\n\r\n#### Request Body\r\n\r\n| Field | Type | Required | Description |\r\n|-------|---------------|----------|-------------------------------|\r\n| start | string (ISO date) | Yes | Start of time range |\r\n| end | string (ISO date) | Yes | End of time range |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"total\": number, // Total number of rules with gaps\r\n \"rule_ids\": string[] // Array of rule IDs\r\n }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 4. Get Gaps Info by Rule IDs\r\n\r\nRetrieves gap statistics for specified rules.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_get_gaps_info_by_rule_ids`\r\n\r\n#### Request Body\r\n\r\n| Field | Type | Required | Description |\r\n\r\n|----------|---------------|----------|------------------------------------|\r\n| rule_ids | string[] | Yes | Array of rule IDs to get gap info for |\r\n| start | string (ISO date) | Yes | Start of time range |\r\n| end | string (ISO date) | Yes | End of time range |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"data\": [\r\n {\r\n \"rule_id\": string,\r\n \"total_unfilled_duration_ms\": number,\r\n \"total_in_progress_duration_ms\": number,\r\n \"total_filled_duration_ms\": number\r\n }\r\n ]\r\n }\r\n}\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"e8ad79b543019fa7d08cdf5c48bd0bf8b24b58ba"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206313","number":206313,"mergeCommit":{"message":"[Detection Engine] [Alerting] [Response Ops] Rule gaps (#206313)\n\n## Rule gaps\r\n\r\nThis PR contains schema changes, which have already been reviewed and\r\nshould be [merged](https://github.com/elastic/kibana/pull/192347) and\r\nreleased as an intermediate release.\r\n\r\n**Feature flag needed:**\r\n`xpack.securitySolution.enableExperimental: [\r\n'storeGapsInEventLogEnabled']`\r\n\r\nVideo demo of user use cases - is\r\n[here](https://elastic.slack.com/archives/C071E7FCR1A/p1737044341833789)\r\n\r\n<img width=\"1433\" alt=\"Screenshot 2025-01-16 at 15 38 46\"\r\nsrc=\"https://github.com/user-attachments/assets/2696a1ee-7191-4ca1-9a79-9dff1764cf9d\"\r\n/>\r\n<img width=\"1698\" alt=\"Screenshot 2025-01-16 at 15 38 30\"\r\nsrc=\"https://github.com/user-attachments/assets/1b0ef6db-6c28-4986-a47e-f544bdd9c27c\"\r\n/>\r\n\r\n\r\n\r\nTLDR:\r\n- new API to find/fill gaps, get information for rules about gaps\r\n- update gaps after the backfill run is completed (all tasks should\r\nfinished)\r\n- event log now can update documents\r\n- show a list of gaps in the UI\r\n- show the amount of rules with gaps\r\n\r\n\r\n## Event log changes\r\n\r\nIt support updating document right now. \r\nThere schema changes, as for events we return _id, _index and fields\r\nneeded for updates (seq_no, primary_term)\r\n\r\n\r\n## How gaps update works (steps)\r\n\r\n#### Scheduling Backfill\r\n- Identify all gaps overlapping with the specified backfill date range.\r\n- Update the gap state:\r\n - Add the intervals to `in_progress` intervals.\r\n- Log the updated gaps in the event log.\r\n\r\n#### Completing Backfill\r\n- At the end of a backfill run (when all tasks are completed):\r\n - Find all gaps overlapping with the backfill date range.\r\n - Recalculate the gap state:\r\n- Move intervals into `filled_intervals` based on the backfill schedule.\r\n - Update the gap information in the event log.\r\n\r\n#### Handling Errors and Recalculating State\r\n- If the backfill encounters errors, timeouts, or is removed, we can't\r\njust remove intervals from in progress. We need to take into account\r\nother overlapping backfills\r\n - Fetch all backfills overlapping with the gaps.\r\n - Recalculate the entire gap state to ensure consistency.\r\n \r\n \r\n## How gaps update works (requests)\r\n\r\nWe process gaps in butch by 500 documents, and then update them in bulk.\r\nFor only conflicting documents we retry 3 times up to 3 times.\r\n\r\n\r\n### Status changes\r\n\r\n```mermaid\r\nstateDiagram\r\n [*] --> Unfilled\r\n Unfilled --> Unfilled_with_in_progress_inervals: Backfill scheduled\r\n Unfilled_with_in_progress_inervals --> Filled: Backfill completed\r\n Unfilled_with_in_progress_inervals --> PartiallyFilled: Backfill completed\r\n Filled --> [*]\r\n```\r\n\r\n### How to have gaps\r\n\r\n1. Create a rule with 1 minute interval 1s lookback time, wait for at\r\nleast 1 execution\r\n2. Disable rule\r\n3. Wait for at least 5 minutes (5 x interval time)\r\n4. Enable rule and observe that it's failing with gap message\r\n\r\n# API Endpoints\r\n\r\n## 1. Find Gaps\r\n\r\nRetrieves a paginated list of gaps for rules with filtering options.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_find`\r\n\r\n#### Request Body\r\n\r\n| Field | Type | Required | Description |\r\n\r\n|-------------|--------------------------------------------------------|----------|----------------------------------------|\r\n| page | number | Yes | Page number for pagination |\r\n| per_page | number | Yes | Number of items per page |\r\n| rule_id | string | Yes | ID of the rule to find gaps for |\r\n| start | string (ISO date) | Yes | Start of time range |\r\n| end | string (ISO date) | Yes | End of time range |\r\n| sort_field | string | No | Field to sort by |\r\n| sort_order | asc \\| desc | No | Sort direction |\r\n| statuses | Array<'unfilled' \\| 'filled' \\| 'partially_filled'> | No |\r\nFilter by gap statuses |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"page\": number,\r\n \"per_page\": number,\r\n \"total\": number,\r\n \"data\": [\r\n {\r\n \"_id\": string,\r\n \"@timestamp\": string,\r\n \"status\": \"unfilled\" | \"filled\" | \"partially_filled\",\r\n \"range\": { \"gte\": string, \"lte\": string },\r\n \"unfilled_intervals\": [{ \"gte\": string, \"lte\": string }],\r\n \"filled_intervals\": [{ \"gte\": string, \"lte\": string }],\r\n \"in_progress_intervals\": [{ \"gte\": string, \"lte\": string }],\r\n \"total_gap_duration_ms\": number,\r\n \"filled_duration_ms\": number,\r\n \"unfilled_duration_ms\": number,\r\n \"in_progress_duration_ms\": number\r\n }\r\n ]\r\n }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 2. Fill Gap by ID\r\n\r\nTriggers a backfill operation for a specific gap.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_fill_by_id`\r\n\r\n#### Query Parameters\r\n\r\n| Parameter | Type | Required | Description |\r\n|-----------|--------|----------|---------------------------------|\r\n| rule_id | string | Yes | ID of the rule containing the gap |\r\n| gap_id | string | Yes | ID of the gap to fill |\r\n\r\n### Response\r\n\r\nReturns a standard schedule backfill API response.\r\n\r\n---\r\n\r\n## 3. Get Rules with Gaps\r\n\r\nRetrieves a list of rule IDs that have gaps in the specified time range.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_get_rules`\r\n\r\n#### Request Body\r\n\r\n| Field | Type | Required | Description |\r\n|-------|---------------|----------|-------------------------------|\r\n| start | string (ISO date) | Yes | Start of time range |\r\n| end | string (ISO date) | Yes | End of time range |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"total\": number, // Total number of rules with gaps\r\n \"rule_ids\": string[] // Array of rule IDs\r\n }\r\n}\r\n```\r\n\r\n---\r\n\r\n## 4. Get Gaps Info by Rule IDs\r\n\r\nRetrieves gap statistics for specified rules.\r\n\r\n### Request\r\n\r\n**POST** `/internal/alerting/rules/gaps/_get_gaps_info_by_rule_ids`\r\n\r\n#### Request Body\r\n\r\n| Field | Type | Required | Description |\r\n\r\n|----------|---------------|----------|------------------------------------|\r\n| rule_ids | string[] | Yes | Array of rule IDs to get gap info for |\r\n| start | string (ISO date) | Yes | Start of time range |\r\n| end | string (ISO date) | Yes | End of time range |\r\n\r\n### Response\r\n\r\n```json\r\n{\r\n \"body\": {\r\n \"data\": [\r\n {\r\n \"rule_id\": string,\r\n \"total_unfilled_duration_ms\": number,\r\n \"total_in_progress_duration_ms\": number,\r\n \"total_filled_duration_ms\": number\r\n }\r\n ]\r\n }\r\n}\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"e8ad79b543019fa7d08cdf5c48bd0bf8b24b58ba"}}]}] BACKPORT--> |
||
|
f29b8d51d2
|
[8.x] Store gaps info in event log (#192347) (#208936)
# Backport This will backport the following commits from `main` to `8.x`: - [Store gaps info in event log (#192347)](https://github.com/elastic/kibana/pull/192347) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Khristinin Nikita","email":"nikita.khristinin@elastic.co"},"sourceCommit":{"committedDate":"2025-01-27T09:46:06Z","message":"Store gaps info in event log (#192347)\n\n## Store gaps in event log\r\n\r\nSetting new fields hidden behind feature flag\r\n(`storeGapsInEventLogEnabled`). It should be possible to do intermediate\r\nrelease, just to update mappings.\r\n\r\nIn this PR:\r\n\r\n- store gaps in event log\r\n- update event log mappings\r\n- add gap range and unfilled_gap_ms mappings into rule `last_run`\r\nmetrics for rule schema\r\n\r\n\r\n### How it works\r\n\r\nIn this stage we use our current mechanism for gap detection in security\r\nrules. Instead of just report duration in ms, we will also report date\r\nrange of the gap. To set this value we use `RuleMonitoringService` from\r\nthe security rule execution.\r\n\r\nLater in task runner we check if last run from `RuleMonitoringService`\r\nhas gap range information. If it there, we use `AlertingEventLogger` to\r\ncreate Gap document in event log.\r\n\r\n\r\n\r\nNew field in event log in `kibana.alert.rule.gap` fields:\r\n`status`: keyword. Gap status \r\n`range`: date_range. Full gap range\r\n`filled_intervals`: date_range. Filled intervals\r\n`unfilled_intervals`: date_range. Unfilled intervals\r\n`in_progress_intervals`: date_range Intervals which currently have\r\npotential rule executions planned (from manual rule run)\r\n`total_gap_duration_ms`: long\r\n`filled_gap_duration_ms`: long\r\n`unfilled_gap_duration_ms`: long\r\n`in_progress_gap_duration_ms`: long\r\n\r\n**kibana.alert.rule.execution**: extend execution info with gap_range\r\n`kibana.alert.rule.execution.gap_range`\r\n\r\n\r\n## Rule schema\r\n\r\nAdded `unfilled_gap_ms` into rule response schema. We will calculate\r\ntotal gap duration after each rule execution, and write in to rule\r\nobject for 1d,3d,7d. It's allow us to use it in Rule monitoring table,\r\nand be able sort by that field\r\n\r\nI plan add integrations tests, in next PR's when we will have API to get\r\ngaps info\r\n\r\n\r\n### How this schema will be used:\r\nMore details\r\n[here](https://docs.google.com/document/d/1pDJZon-OzUwmk1ENNZJo0QUoSD-MCwy_tn9GCCBX_1Y/edit?tab=t.0)\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"41aa8f949a2ee9362a378b39b6313135493e6eda","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport missing","v9.0.0","backport:prev-minor"],"title":"Store gaps info in event log","number":192347,"url":"https://github.com/elastic/kibana/pull/192347","mergeCommit":{"message":"Store gaps info in event log (#192347)\n\n## Store gaps in event log\r\n\r\nSetting new fields hidden behind feature flag\r\n(`storeGapsInEventLogEnabled`). It should be possible to do intermediate\r\nrelease, just to update mappings.\r\n\r\nIn this PR:\r\n\r\n- store gaps in event log\r\n- update event log mappings\r\n- add gap range and unfilled_gap_ms mappings into rule `last_run`\r\nmetrics for rule schema\r\n\r\n\r\n### How it works\r\n\r\nIn this stage we use our current mechanism for gap detection in security\r\nrules. Instead of just report duration in ms, we will also report date\r\nrange of the gap. To set this value we use `RuleMonitoringService` from\r\nthe security rule execution.\r\n\r\nLater in task runner we check if last run from `RuleMonitoringService`\r\nhas gap range information. If it there, we use `AlertingEventLogger` to\r\ncreate Gap document in event log.\r\n\r\n\r\n\r\nNew field in event log in `kibana.alert.rule.gap` fields:\r\n`status`: keyword. Gap status \r\n`range`: date_range. Full gap range\r\n`filled_intervals`: date_range. Filled intervals\r\n`unfilled_intervals`: date_range. Unfilled intervals\r\n`in_progress_intervals`: date_range Intervals which currently have\r\npotential rule executions planned (from manual rule run)\r\n`total_gap_duration_ms`: long\r\n`filled_gap_duration_ms`: long\r\n`unfilled_gap_duration_ms`: long\r\n`in_progress_gap_duration_ms`: long\r\n\r\n**kibana.alert.rule.execution**: extend execution info with gap_range\r\n`kibana.alert.rule.execution.gap_range`\r\n\r\n\r\n## Rule schema\r\n\r\nAdded `unfilled_gap_ms` into rule response schema. We will calculate\r\ntotal gap duration after each rule execution, and write in to rule\r\nobject for 1d,3d,7d. It's allow us to use it in Rule monitoring table,\r\nand be able sort by that field\r\n\r\nI plan add integrations tests, in next PR's when we will have API to get\r\ngaps info\r\n\r\n\r\n### How this schema will be used:\r\nMore details\r\n[here](https://docs.google.com/document/d/1pDJZon-OzUwmk1ENNZJo0QUoSD-MCwy_tn9GCCBX_1Y/edit?tab=t.0)\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"41aa8f949a2ee9362a378b39b6313135493e6eda"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/192347","number":192347,"mergeCommit":{"message":"Store gaps info in event log (#192347)\n\n## Store gaps in event log\r\n\r\nSetting new fields hidden behind feature flag\r\n(`storeGapsInEventLogEnabled`). It should be possible to do intermediate\r\nrelease, just to update mappings.\r\n\r\nIn this PR:\r\n\r\n- store gaps in event log\r\n- update event log mappings\r\n- add gap range and unfilled_gap_ms mappings into rule `last_run`\r\nmetrics for rule schema\r\n\r\n\r\n### How it works\r\n\r\nIn this stage we use our current mechanism for gap detection in security\r\nrules. Instead of just report duration in ms, we will also report date\r\nrange of the gap. To set this value we use `RuleMonitoringService` from\r\nthe security rule execution.\r\n\r\nLater in task runner we check if last run from `RuleMonitoringService`\r\nhas gap range information. If it there, we use `AlertingEventLogger` to\r\ncreate Gap document in event log.\r\n\r\n\r\n\r\nNew field in event log in `kibana.alert.rule.gap` fields:\r\n`status`: keyword. Gap status \r\n`range`: date_range. Full gap range\r\n`filled_intervals`: date_range. Filled intervals\r\n`unfilled_intervals`: date_range. Unfilled intervals\r\n`in_progress_intervals`: date_range Intervals which currently have\r\npotential rule executions planned (from manual rule run)\r\n`total_gap_duration_ms`: long\r\n`filled_gap_duration_ms`: long\r\n`unfilled_gap_duration_ms`: long\r\n`in_progress_gap_duration_ms`: long\r\n\r\n**kibana.alert.rule.execution**: extend execution info with gap_range\r\n`kibana.alert.rule.execution.gap_range`\r\n\r\n\r\n## Rule schema\r\n\r\nAdded `unfilled_gap_ms` into rule response schema. We will calculate\r\ntotal gap duration after each rule execution, and write in to rule\r\nobject for 1d,3d,7d. It's allow us to use it in Rule monitoring table,\r\nand be able sort by that field\r\n\r\nI plan add integrations tests, in next PR's when we will have API to get\r\ngaps info\r\n\r\n\r\n### How this schema will be used:\r\nMore details\r\n[here](https://docs.google.com/document/d/1pDJZon-OzUwmk1ENNZJo0QUoSD-MCwy_tn9GCCBX_1Y/edit?tab=t.0)\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"41aa8f949a2ee9362a378b39b6313135493e6eda"}}]}] BACKPORT--> |
||
|
14ad7170a9
|
[8.x] [Security Solution] Implement rule customization license checks (#206079) (#208893)
# Backport This will backport the following commits from `main` to `8.x`: - [[Security Solution] Implement rule customization license checks (#206079)](https://github.com/elastic/kibana/pull/206079) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Dmitrii Shevchenko","email":"dmitrii.shevchenko@elastic.co"},"sourceCommit":{"committedDate":"2025-01-29T17:20:47Z","message":"[Security Solution] Implement rule customization license checks (#206079)\n\n**Resolves:** https://github.com/elastic/security-team/issues/10410\n\n## Summary\n\nWe want to make Rule Customization available at higher license tiers. \n\n### **Intended Workflows/UX** \n\n#### **Basic/Platinum/Security Essentials License Tiers** \n- **Editing Prebuilt Rules:** \n- Allow the 8.16 behavior: only actions, exceptions, snoozing, and\nenable/disable options can be modified.\n- On the rule editing page, all tabs except *Actions* are disabled.\nDisabled tabs will display a hover explanation:\n- \"Upgrade to Enterprise to enable prebuilt rule customization\" for ECH.\n- \"Upgrade to Security Complete to enable prebuilt rule customization\"\nfor Serverless.\n<img width=\"356\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/72e60933-aaaf-45a0-9660-4cd066d3afec\"\n/>\n\n- Rule editing via API is not restricted (tracked separately:\nhttps://github.com/elastic/security-team/issues/11504.\n\n- **Bulk Actions:** \n- Modifications to rule content via bulk actions are not allowed.\nPrebuilt rules are excluded from bulk actions if the license level is\ninsufficient. Users will see an explanation for the exclusion.\n - Serverless\n<img width=\"737\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/99fef72f-dd38-4c73-a9e3-7b4c8018b4ed\"\n/>\n - ECH\n\n- On the API level (`_bulk_action`), an error is returned if a user\ntries to modify a prebuilt rule without the required license. Response\nin this case looks like this:\n ```json\n {\n \"statusCode\": 500,\n \"error\": \"Internal Server Error\",\n \"message\": \"Bulk edit failed\",\n \"attributes\": {\n \"errors\": [\n {\n \"message\": \"Elastic rule can't be edited\",\n \"status_code\": 500,\n \"rules\": []\n }\n ]\n }\n }\n ```\n\n- **Rule Updates:** \n - Updates are restricted to Elastic’s incoming updates only. \n - The rule upgrade flyout is in read-only mode.\n<img width=\"949\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/16a56430-63e6-4096-8ffd-b97f828abdd4\"\n/>\n- For previously customized rules where customization is now disabled\ndue to insufficient licensing, a notification will appear on the upgrade\nflyout, clarifying that only an upgrade to Elastic's version is\navailable.\n\n\n- On the API level (`_perform`), only requests with `pick_version =\ntarget` are permitted. Requests with `rule.fields` values are not\nallowed.\n API response when `pick_version` is not `target`:\n ```json\n {\n\"message\": \"Only the 'TARGET' version can be selected for a rule update;\nreceived: 'CURRENT'\",\n \"status_code\": 400\n }\n ```\n API response when the `fields` value is provided:\n ```json\n {\n\"message\": \"Rule field customization is not allowed. Received fields:\nname, description\",\n \"status_code\": 400\n }\n ```\n\n- **Customized Rules:** \n- Existing customizations remain intact, and the “Modified” badge is\nretained\n - On the rule management, monitoring, and update tables:\n\n\n - On the rule update flyout:\n\n\n - On the rule details page:\n\n\n\n- When we edit a rule with customizations (e.g., change rule's actions),\nthe rule should stay marked as customized\n\n\n- **Import/Export Scenarios:** \n- These are handled separately\n(https://github.com/elastic/security-team/issues/11502)\n\n#### **Enterprise/Security Complete License Tiers** \n- All rules can be fully edited\n- Upgraded prebuilt or customized rules will have an editable view,\nenabling full customization","sha":"199378c60c5364a796f99d944989032d5f38bf6e","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Detections and Resp","Team: SecuritySolution","Team:Detection Rule Management","ui-copy","Feature:Prebuilt Detection Rules","backport:version","v8.18.0"],"title":"[Security Solution] Implement rule customization license checks","number":206079,"url":"https://github.com/elastic/kibana/pull/206079","mergeCommit":{"message":"[Security Solution] Implement rule customization license checks (#206079)\n\n**Resolves:** https://github.com/elastic/security-team/issues/10410\n\n## Summary\n\nWe want to make Rule Customization available at higher license tiers. \n\n### **Intended Workflows/UX** \n\n#### **Basic/Platinum/Security Essentials License Tiers** \n- **Editing Prebuilt Rules:** \n- Allow the 8.16 behavior: only actions, exceptions, snoozing, and\nenable/disable options can be modified.\n- On the rule editing page, all tabs except *Actions* are disabled.\nDisabled tabs will display a hover explanation:\n- \"Upgrade to Enterprise to enable prebuilt rule customization\" for ECH.\n- \"Upgrade to Security Complete to enable prebuilt rule customization\"\nfor Serverless.\n<img width=\"356\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/72e60933-aaaf-45a0-9660-4cd066d3afec\"\n/>\n\n- Rule editing via API is not restricted (tracked separately:\nhttps://github.com/elastic/security-team/issues/11504.\n\n- **Bulk Actions:** \n- Modifications to rule content via bulk actions are not allowed.\nPrebuilt rules are excluded from bulk actions if the license level is\ninsufficient. Users will see an explanation for the exclusion.\n - Serverless\n<img width=\"737\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/99fef72f-dd38-4c73-a9e3-7b4c8018b4ed\"\n/>\n - ECH\n\n- On the API level (`_bulk_action`), an error is returned if a user\ntries to modify a prebuilt rule without the required license. Response\nin this case looks like this:\n ```json\n {\n \"statusCode\": 500,\n \"error\": \"Internal Server Error\",\n \"message\": \"Bulk edit failed\",\n \"attributes\": {\n \"errors\": [\n {\n \"message\": \"Elastic rule can't be edited\",\n \"status_code\": 500,\n \"rules\": []\n }\n ]\n }\n }\n ```\n\n- **Rule Updates:** \n - Updates are restricted to Elastic’s incoming updates only. \n - The rule upgrade flyout is in read-only mode.\n<img width=\"949\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/16a56430-63e6-4096-8ffd-b97f828abdd4\"\n/>\n- For previously customized rules where customization is now disabled\ndue to insufficient licensing, a notification will appear on the upgrade\nflyout, clarifying that only an upgrade to Elastic's version is\navailable.\n\n\n- On the API level (`_perform`), only requests with `pick_version =\ntarget` are permitted. Requests with `rule.fields` values are not\nallowed.\n API response when `pick_version` is not `target`:\n ```json\n {\n\"message\": \"Only the 'TARGET' version can be selected for a rule update;\nreceived: 'CURRENT'\",\n \"status_code\": 400\n }\n ```\n API response when the `fields` value is provided:\n ```json\n {\n\"message\": \"Rule field customization is not allowed. Received fields:\nname, description\",\n \"status_code\": 400\n }\n ```\n\n- **Customized Rules:** \n- Existing customizations remain intact, and the “Modified” badge is\nretained\n - On the rule management, monitoring, and update tables:\n\n\n - On the rule update flyout:\n\n\n - On the rule details page:\n\n\n\n- When we edit a rule with customizations (e.g., change rule's actions),\nthe rule should stay marked as customized\n\n\n- **Import/Export Scenarios:** \n- These are handled separately\n(https://github.com/elastic/security-team/issues/11502)\n\n#### **Enterprise/Security Complete License Tiers** \n- All rules can be fully edited\n- Upgraded prebuilt or customized rules will have an editable view,\nenabling full customization","sha":"199378c60c5364a796f99d944989032d5f38bf6e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206079","number":206079,"mergeCommit":{"message":"[Security Solution] Implement rule customization license checks (#206079)\n\n**Resolves:** https://github.com/elastic/security-team/issues/10410\n\n## Summary\n\nWe want to make Rule Customization available at higher license tiers. \n\n### **Intended Workflows/UX** \n\n#### **Basic/Platinum/Security Essentials License Tiers** \n- **Editing Prebuilt Rules:** \n- Allow the 8.16 behavior: only actions, exceptions, snoozing, and\nenable/disable options can be modified.\n- On the rule editing page, all tabs except *Actions* are disabled.\nDisabled tabs will display a hover explanation:\n- \"Upgrade to Enterprise to enable prebuilt rule customization\" for ECH.\n- \"Upgrade to Security Complete to enable prebuilt rule customization\"\nfor Serverless.\n<img width=\"356\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/72e60933-aaaf-45a0-9660-4cd066d3afec\"\n/>\n\n- Rule editing via API is not restricted (tracked separately:\nhttps://github.com/elastic/security-team/issues/11504.\n\n- **Bulk Actions:** \n- Modifications to rule content via bulk actions are not allowed.\nPrebuilt rules are excluded from bulk actions if the license level is\ninsufficient. Users will see an explanation for the exclusion.\n - Serverless\n<img width=\"737\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/99fef72f-dd38-4c73-a9e3-7b4c8018b4ed\"\n/>\n - ECH\n\n- On the API level (`_bulk_action`), an error is returned if a user\ntries to modify a prebuilt rule without the required license. Response\nin this case looks like this:\n ```json\n {\n \"statusCode\": 500,\n \"error\": \"Internal Server Error\",\n \"message\": \"Bulk edit failed\",\n \"attributes\": {\n \"errors\": [\n {\n \"message\": \"Elastic rule can't be edited\",\n \"status_code\": 500,\n \"rules\": []\n }\n ]\n }\n }\n ```\n\n- **Rule Updates:** \n - Updates are restricted to Elastic’s incoming updates only. \n - The rule upgrade flyout is in read-only mode.\n<img width=\"949\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/16a56430-63e6-4096-8ffd-b97f828abdd4\"\n/>\n- For previously customized rules where customization is now disabled\ndue to insufficient licensing, a notification will appear on the upgrade\nflyout, clarifying that only an upgrade to Elastic's version is\navailable.\n\n\n- On the API level (`_perform`), only requests with `pick_version =\ntarget` are permitted. Requests with `rule.fields` values are not\nallowed.\n API response when `pick_version` is not `target`:\n ```json\n {\n\"message\": \"Only the 'TARGET' version can be selected for a rule update;\nreceived: 'CURRENT'\",\n \"status_code\": 400\n }\n ```\n API response when the `fields` value is provided:\n ```json\n {\n\"message\": \"Rule field customization is not allowed. Received fields:\nname, description\",\n \"status_code\": 400\n }\n ```\n\n- **Customized Rules:** \n- Existing customizations remain intact, and the “Modified” badge is\nretained\n - On the rule management, monitoring, and update tables:\n\n\n - On the rule update flyout:\n\n\n - On the rule details page:\n\n\n\n- When we edit a rule with customizations (e.g., change rule's actions),\nthe rule should stay marked as customized\n\n\n- **Import/Export Scenarios:** \n- These are handled separately\n(https://github.com/elastic/security-team/issues/11502)\n\n#### **Enterprise/Security Complete License Tiers** \n- All rules can be fully edited\n- Upgraded prebuilt or customized rules will have an editable view,\nenabling full customization","sha":"199378c60c5364a796f99d944989032d5f38bf6e"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> |
||
|
ad15e7d4d1
|
[8.x] [Entity Analytics] [Entity Store] [API] Changes to support event.ingested as a configurable timestamp field for init and enable endpoints (#208201) (#208866)
# Backport This will backport the following commits from `main` to `8.x`: - [[Entity Analytics] [Entity Store] [API] Changes to support event.ingested as a configurable timestamp field for init and enable endpoints (#208201)](https://github.com/elastic/kibana/pull/208201) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Abhishek Bhatia","email":"117628830+abhishekbhatia1710@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-29T23:49:13Z","message":"[Entity Analytics] [Entity Store] [API] Changes to support event.ingested as a configurable timestamp field for init and enable endpoints (#208201)\n\n## Summary\n\nThis PR introduces support for configuring the `timestamp` field for\nentity store enablement.\n\nBy default, the `timestamp` field is set to `@timestamp`, but users can\nopt to use `event.ingested` or another preferred value based on their\nrequirements.\n\n\n### Entity Store API changes\n\n#### Entity Store enable\n\n```\nPOST kbn:/api/entity_store/enable\n{\n \"timestampField\": \"event.ingested\"\n}\n```\n\n#### Result \n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\": \"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\n```\nPOST kbn:/api/entity_store/enable\n{\n}\n```\n#### Result\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\nDifferent entity types can have distinct `timestampField` values, as\ndescribed below:\n\nFor instance, the `host` entity uses `event.ingested` as its\n`timestampField`, while other entities default to the `@timestamp`\nfield.\n\n```\nPOST kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\": \"event.ingested\"\n}\n\nPOST kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n#### Result\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\": \"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [x] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n\n### Testing steps\n\n- Check out this PR branch.\n- Start Kibana.\n- Avoid enabling the Entity Store from the UI initially. Instead, enable\nit via the API by following the steps outlined below.\n\n```\nDELETE kbn:/api/entity_store/engines/user\nDELETE kbn:/api/entity_store/engines/host\n\nGET kbn:/api/entity_store/status\n\n All engines with the same timestamp Field\nPOST kbn:/api/entity_store/enable\n{\n \"timestampField\": \"event.ingested\"\n}\n\n# All engines with the same timestamp Field\nPOST kbn:/api/entity_store/enable\n{\n}\n\n# Different entity with different timestamp Field\nPOST kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\": \"event.ingested\"\n}\n\nPOST kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n4. Afterward, you can test the functionality through the UI. First,\nclear the entity data from the UI, then start the Entity Store. Note\nthat the UI currently does not offer a way to configure this parameter.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by: Mark Hopkin <mark.hopkin@elastic.co>","sha":"a060baee83f9be2402cb1a48b0ff2126d8938b56","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","Team:Entity Analytics","backport:version","v8.18.0"],"title":"[Entity Analytics] [Entity Store] [API] Changes to support event.ingested as a configurable timestamp field for init and enable endpoints","number":208201,"url":"https://github.com/elastic/kibana/pull/208201","mergeCommit":{"message":"[Entity Analytics] [Entity Store] [API] Changes to support event.ingested as a configurable timestamp field for init and enable endpoints (#208201)\n\n## Summary\n\nThis PR introduces support for configuring the `timestamp` field for\nentity store enablement.\n\nBy default, the `timestamp` field is set to `@timestamp`, but users can\nopt to use `event.ingested` or another preferred value based on their\nrequirements.\n\n\n### Entity Store API changes\n\n#### Entity Store enable\n\n```\nPOST kbn:/api/entity_store/enable\n{\n \"timestampField\": \"event.ingested\"\n}\n```\n\n#### Result \n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\": \"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\n```\nPOST kbn:/api/entity_store/enable\n{\n}\n```\n#### Result\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\nDifferent entity types can have distinct `timestampField` values, as\ndescribed below:\n\nFor instance, the `host` entity uses `event.ingested` as its\n`timestampField`, while other entities default to the `@timestamp`\nfield.\n\n```\nPOST kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\": \"event.ingested\"\n}\n\nPOST kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n#### Result\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\": \"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [x] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n\n### Testing steps\n\n- Check out this PR branch.\n- Start Kibana.\n- Avoid enabling the Entity Store from the UI initially. Instead, enable\nit via the API by following the steps outlined below.\n\n```\nDELETE kbn:/api/entity_store/engines/user\nDELETE kbn:/api/entity_store/engines/host\n\nGET kbn:/api/entity_store/status\n\n All engines with the same timestamp Field\nPOST kbn:/api/entity_store/enable\n{\n \"timestampField\": \"event.ingested\"\n}\n\n# All engines with the same timestamp Field\nPOST kbn:/api/entity_store/enable\n{\n}\n\n# Different entity with different timestamp Field\nPOST kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\": \"event.ingested\"\n}\n\nPOST kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n4. Afterward, you can test the functionality through the UI. First,\nclear the entity data from the UI, then start the Entity Store. Note\nthat the UI currently does not offer a way to configure this parameter.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by: Mark Hopkin <mark.hopkin@elastic.co>","sha":"a060baee83f9be2402cb1a48b0ff2126d8938b56"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/208201","number":208201,"mergeCommit":{"message":"[Entity Analytics] [Entity Store] [API] Changes to support event.ingested as a configurable timestamp field for init and enable endpoints (#208201)\n\n## Summary\n\nThis PR introduces support for configuring the `timestamp` field for\nentity store enablement.\n\nBy default, the `timestamp` field is set to `@timestamp`, but users can\nopt to use `event.ingested` or another preferred value based on their\nrequirements.\n\n\n### Entity Store API changes\n\n#### Entity Store enable\n\n```\nPOST kbn:/api/entity_store/enable\n{\n \"timestampField\": \"event.ingested\"\n}\n```\n\n#### Result \n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\": \"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\n```\nPOST kbn:/api/entity_store/enable\n{\n}\n```\n#### Result\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\nDifferent entity types can have distinct `timestampField` values, as\ndescribed below:\n\nFor instance, the `host` entity uses `event.ingested` as its\n`timestampField`, while other entities default to the `@timestamp`\nfield.\n\n```\nPOST kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\": \"event.ingested\"\n}\n\nPOST kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n#### Result\n\n```\n{\n \"engines\": [\n {\n \"status\": \"started\",\n \"type\": \"universal\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n },\n {\n \"status\": \"started\",\n \"type\": \"host\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"event.ingested\"\n },\n {\n \"status\": \"started\",\n \"type\": \"user\",\n \"indexPattern\": \"\",\n \"filter\": \"\",\n \"fieldHistoryLength\": 10,\n \"timestampField\": \"@timestamp\"\n }\n ],\n \"status\": \"running\"\n}\n```\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [x] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n\n### Testing steps\n\n- Check out this PR branch.\n- Start Kibana.\n- Avoid enabling the Entity Store from the UI initially. Instead, enable\nit via the API by following the steps outlined below.\n\n```\nDELETE kbn:/api/entity_store/engines/user\nDELETE kbn:/api/entity_store/engines/host\n\nGET kbn:/api/entity_store/status\n\n All engines with the same timestamp Field\nPOST kbn:/api/entity_store/enable\n{\n \"timestampField\": \"event.ingested\"\n}\n\n# All engines with the same timestamp Field\nPOST kbn:/api/entity_store/enable\n{\n}\n\n# Different entity with different timestamp Field\nPOST kbn:/api/entity_store/engines/host/init\n{\n \"timestampField\": \"event.ingested\"\n}\n\nPOST kbn:/api/entity_store/engines/user/init\n{\n}\n```\n\n4. Afterward, you can test the functionality through the UI. First,\nclear the entity data from the UI, then start the Entity Store. Note\nthat the UI currently does not offer a way to configure this parameter.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by: Mark Hopkin <mark.hopkin@elastic.co>","sha":"a060baee83f9be2402cb1a48b0ff2126d8938b56"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Abhishek Bhatia <117628830+abhishekbhatia1710@users.noreply.github.com> |
||
|
2cac1857b2
|
[8.x] [Entity Analytics][Entity Store] Add transform config options to the API (#208062) (#208837)
# Backport This will backport the following commits from `main` to `8.x`: - [[Entity Analytics][Entity Store] Add transform config options to the API (#208062)](https://github.com/elastic/kibana/pull/208062) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Tiago Vila Verde","email":"tiago.vilaverde@elastic.co"},"sourceCommit":{"committedDate":"2025-01-29T20:31:47Z","message":"[Entity Analytics][Entity Store] Add transform config options to the API (#208062)\n\n## Summary\n\n\nThis PR adds the following parameters to the `INIT` engine API:\n\n* `frequency`: the transform run frequency\n* `timeout`: the timeout for the initial creation of the transform\n* `docsPerSecond`: transform throttling option. See\n[here](https://arc.net/l/quote/vxcmfnhh)\n* `delay`: The transform delay duration. See\n[here](https://arc.net/l/quote/mzvaexhv)\nComing soon\n\n\nIn addition, the PR adds these fields to the Saved Object with the\nengine descriptor, as well as providing a migration with the appropriate\nbackfilling.\n\nFinally, there are some utility function that were/are helpful in\nworking with objects.\n\n## How to test\n\n*NOTE*: Always make sure the security default data view exists. Easiest\nway it to just navigate to some Security UI.\n\n### Checking the new defaults\n\n1. Initialize an engine via dev tools by calling: `POST\nkbn:/api/entity_store/engines/<entity_type>/init {}`\n2. Call `GET kbn:/api/entity_store/status`. This response should now\ncontain all the default optional values.\n\n### Observing the parameters are being applied\n\n1. Initialize an engine via the API. This time pass any of the `timeout,\nfrequency, delay and docsPerSecond` options in the request body.\n2. Once the `status` changes to `started`, query the respective\ntransform: `GET\n_transform/entities-v1-latest-security_<entity_type>_default`\n3. Check that the parameters have been applied to the transform\n\n### Checking Saved Object Migration\n\n1. Check out `main`.\n2. Initialize the store.\n3. Query `GET kbn:/api/entity_store/status`. Note down the fields in the\nengine object.\n4. Check out this branch.\n5. Restart kibana.\n6. Query `GET kbn:/api/entity_store/status` again. Observe the new\nfields have been added and backfilled\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"5b22aa9b66a1d569f65ef0f485290d15a804353f","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Theme: entity_analytics","Feature:Entity Analytics","Team:Entity Analytics","backport:version","v8.18.0"],"title":"[Entity Analytics][Entity Store] Add transform config options to the API","number":208062,"url":"https://github.com/elastic/kibana/pull/208062","mergeCommit":{"message":"[Entity Analytics][Entity Store] Add transform config options to the API (#208062)\n\n## Summary\n\n\nThis PR adds the following parameters to the `INIT` engine API:\n\n* `frequency`: the transform run frequency\n* `timeout`: the timeout for the initial creation of the transform\n* `docsPerSecond`: transform throttling option. See\n[here](https://arc.net/l/quote/vxcmfnhh)\n* `delay`: The transform delay duration. See\n[here](https://arc.net/l/quote/mzvaexhv)\nComing soon\n\n\nIn addition, the PR adds these fields to the Saved Object with the\nengine descriptor, as well as providing a migration with the appropriate\nbackfilling.\n\nFinally, there are some utility function that were/are helpful in\nworking with objects.\n\n## How to test\n\n*NOTE*: Always make sure the security default data view exists. Easiest\nway it to just navigate to some Security UI.\n\n### Checking the new defaults\n\n1. Initialize an engine via dev tools by calling: `POST\nkbn:/api/entity_store/engines/<entity_type>/init {}`\n2. Call `GET kbn:/api/entity_store/status`. This response should now\ncontain all the default optional values.\n\n### Observing the parameters are being applied\n\n1. Initialize an engine via the API. This time pass any of the `timeout,\nfrequency, delay and docsPerSecond` options in the request body.\n2. Once the `status` changes to `started`, query the respective\ntransform: `GET\n_transform/entities-v1-latest-security_<entity_type>_default`\n3. Check that the parameters have been applied to the transform\n\n### Checking Saved Object Migration\n\n1. Check out `main`.\n2. Initialize the store.\n3. Query `GET kbn:/api/entity_store/status`. Note down the fields in the\nengine object.\n4. Check out this branch.\n5. Restart kibana.\n6. Query `GET kbn:/api/entity_store/status` again. Observe the new\nfields have been added and backfilled\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"5b22aa9b66a1d569f65ef0f485290d15a804353f"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/208062","number":208062,"mergeCommit":{"message":"[Entity Analytics][Entity Store] Add transform config options to the API (#208062)\n\n## Summary\n\n\nThis PR adds the following parameters to the `INIT` engine API:\n\n* `frequency`: the transform run frequency\n* `timeout`: the timeout for the initial creation of the transform\n* `docsPerSecond`: transform throttling option. See\n[here](https://arc.net/l/quote/vxcmfnhh)\n* `delay`: The transform delay duration. See\n[here](https://arc.net/l/quote/mzvaexhv)\nComing soon\n\n\nIn addition, the PR adds these fields to the Saved Object with the\nengine descriptor, as well as providing a migration with the appropriate\nbackfilling.\n\nFinally, there are some utility function that were/are helpful in\nworking with objects.\n\n## How to test\n\n*NOTE*: Always make sure the security default data view exists. Easiest\nway it to just navigate to some Security UI.\n\n### Checking the new defaults\n\n1. Initialize an engine via dev tools by calling: `POST\nkbn:/api/entity_store/engines/<entity_type>/init {}`\n2. Call `GET kbn:/api/entity_store/status`. This response should now\ncontain all the default optional values.\n\n### Observing the parameters are being applied\n\n1. Initialize an engine via the API. This time pass any of the `timeout,\nfrequency, delay and docsPerSecond` options in the request body.\n2. Once the `status` changes to `started`, query the respective\ntransform: `GET\n_transform/entities-v1-latest-security_<entity_type>_default`\n3. Check that the parameters have been applied to the transform\n\n### Checking Saved Object Migration\n\n1. Check out `main`.\n2. Initialize the store.\n3. Query `GET kbn:/api/entity_store/status`. Note down the fields in the\nengine object.\n4. Check out this branch.\n5. Restart kibana.\n6. Query `GET kbn:/api/entity_store/status` again. Observe the new\nfields have been added and backfilled\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"5b22aa9b66a1d569f65ef0f485290d15a804353f"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: Mark Hopkin <mark.hopkin@elastic.co> |
||
|
273630d3a7
|
[8.x] [Roles] Use Query Roles API for Role Management grid screen (#194630) (#208766)
# Backport This will backport the following commits from `main` to `8.x`: - [[Roles] Use Query Roles API for Role Management grid screen (#194630)](https://github.com/elastic/kibana/pull/194630) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Sid","email":"siddharthmantri1@gmail.com"},"sourceCommit":{"committedDate":"2025-01-29T14:38:03Z","message":"[Roles] Use Query Roles API for Role Management grid screen (#194630)\n\nCloses https://github.com/elastic/kibana/issues/186266\r\n\r\n## Release notes\r\n\r\nEnhanced Role management to manage larger number of roles by adding\r\nserver side filtering, pagination and querying.\r\n\r\n## Summary\r\n- Replaced the usage of Get Roles API with Query Role API\r\n- Added server side pagination and filtering with a maximum limit of\r\n10000 keys (default for max results on index). Added new label to\r\nindicate that we show only 10k results.\r\n- Search box replicates client side implementation by only filtering on\r\nRole names.\r\n\r\n### Run locally\r\nStart ES ~with the JVM option to enable this feature~:\r\n```\r\nyarn es snapshot --license=trial\r\n```\r\nStart Kibana normally\r\n```\r\nyarn start --no-base-path\r\n```\r\n\r\nNavigate to Stack Management > Roles and verify the same behavior as the\r\nscreen recording below\r\n\r\n### Screen recording\r\n\r\n\r\nhttps://github.com/user-attachments/assets/a447e7df-8aa1-4044-a6b2-0aafe56844a9\r\n\r\n\r\n\r\n## Technical notes\r\n- Client side EuiInMemory table has been replaced by EuiSearchBar,\r\nEuiBasicTable and Filters\r\n- One new Kibana endpoint added\r\n - `roles/_query` \r\n- Replicates existing get_role endpoint by being public and added to\r\nOpen API spec\r\n- Extra logic to handle previously UI only filter to show/hide reserved\r\nroles\r\n- Parse the query to construct the correct DSL if the filter is present\r\n- Update Get All Roles by Space internal API to use the Query Role and\r\nfilter by space id using query DSL.\r\n\r\n### Checklist\r\n\r\nDelete any items that are not applicable to this PR.\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"66dab0ae0e866a7e32bd5a3c528f94139398abcb","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","Team:Security","Feature:Users/Roles/API Keys","v9.0.0","backport:version","v8.18.0"],"title":"[Roles] Use Query Roles API for Role Management grid screen","number":194630,"url":"https://github.com/elastic/kibana/pull/194630","mergeCommit":{"message":"[Roles] Use Query Roles API for Role Management grid screen (#194630)\n\nCloses https://github.com/elastic/kibana/issues/186266\r\n\r\n## Release notes\r\n\r\nEnhanced Role management to manage larger number of roles by adding\r\nserver side filtering, pagination and querying.\r\n\r\n## Summary\r\n- Replaced the usage of Get Roles API with Query Role API\r\n- Added server side pagination and filtering with a maximum limit of\r\n10000 keys (default for max results on index). Added new label to\r\nindicate that we show only 10k results.\r\n- Search box replicates client side implementation by only filtering on\r\nRole names.\r\n\r\n### Run locally\r\nStart ES ~with the JVM option to enable this feature~:\r\n```\r\nyarn es snapshot --license=trial\r\n```\r\nStart Kibana normally\r\n```\r\nyarn start --no-base-path\r\n```\r\n\r\nNavigate to Stack Management > Roles and verify the same behavior as the\r\nscreen recording below\r\n\r\n### Screen recording\r\n\r\n\r\nhttps://github.com/user-attachments/assets/a447e7df-8aa1-4044-a6b2-0aafe56844a9\r\n\r\n\r\n\r\n## Technical notes\r\n- Client side EuiInMemory table has been replaced by EuiSearchBar,\r\nEuiBasicTable and Filters\r\n- One new Kibana endpoint added\r\n - `roles/_query` \r\n- Replicates existing get_role endpoint by being public and added to\r\nOpen API spec\r\n- Extra logic to handle previously UI only filter to show/hide reserved\r\nroles\r\n- Parse the query to construct the correct DSL if the filter is present\r\n- Update Get All Roles by Space internal API to use the Query Role and\r\nfilter by space id using query DSL.\r\n\r\n### Checklist\r\n\r\nDelete any items that are not applicable to this PR.\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"66dab0ae0e866a7e32bd5a3c528f94139398abcb"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/194630","number":194630,"mergeCommit":{"message":"[Roles] Use Query Roles API for Role Management grid screen (#194630)\n\nCloses https://github.com/elastic/kibana/issues/186266\r\n\r\n## Release notes\r\n\r\nEnhanced Role management to manage larger number of roles by adding\r\nserver side filtering, pagination and querying.\r\n\r\n## Summary\r\n- Replaced the usage of Get Roles API with Query Role API\r\n- Added server side pagination and filtering with a maximum limit of\r\n10000 keys (default for max results on index). Added new label to\r\nindicate that we show only 10k results.\r\n- Search box replicates client side implementation by only filtering on\r\nRole names.\r\n\r\n### Run locally\r\nStart ES ~with the JVM option to enable this feature~:\r\n```\r\nyarn es snapshot --license=trial\r\n```\r\nStart Kibana normally\r\n```\r\nyarn start --no-base-path\r\n```\r\n\r\nNavigate to Stack Management > Roles and verify the same behavior as the\r\nscreen recording below\r\n\r\n### Screen recording\r\n\r\n\r\nhttps://github.com/user-attachments/assets/a447e7df-8aa1-4044-a6b2-0aafe56844a9\r\n\r\n\r\n\r\n## Technical notes\r\n- Client side EuiInMemory table has been replaced by EuiSearchBar,\r\nEuiBasicTable and Filters\r\n- One new Kibana endpoint added\r\n - `roles/_query` \r\n- Replicates existing get_role endpoint by being public and added to\r\nOpen API spec\r\n- Extra logic to handle previously UI only filter to show/hide reserved\r\nroles\r\n- Parse the query to construct the correct DSL if the filter is present\r\n- Update Get All Roles by Space internal API to use the Query Role and\r\nfilter by space id using query DSL.\r\n\r\n### Checklist\r\n\r\nDelete any items that are not applicable to this PR.\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"66dab0ae0e866a7e32bd5a3c528f94139398abcb"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> |
||
|
2f369dae8c
|
[8.x] Entity Store Config - Lookback period (#206421) (#208283)
# Backport This will backport the following commits from `main` to `8.x`: - [Entity Store Config - Lookback period (#206421)](https://github.com/elastic/kibana/pull/206421) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Charlotte Alexandra Wilson","email":"CAWilson94@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-24T21:59:44Z","message":"Entity Store Config - Lookback period (#206421)\n\n## Summary \r\n\r\nThis PR enables configurability of the lookbackPeriod for Security’s\r\nEntity Store through the enable API.\r\n\r\n### Testing \r\n\r\n\r\n1. Open the latest instance of Kibana.\r\n2. Ensure both the Entity Store and Risk Score are enabled.\r\n3. Navigate to Dev Tools.\r\n4. Use the enable endpoint with lookbackPeriod, where the lookbackPeriod\r\nmust be a number followed by one of the supported units (m, s, or h).\r\n\r\n\r\n ```\r\nPOST kbn:api/entity_store/enable\r\n{\r\n \"lookbackPeriod\": \"72h\" // example value\r\n}\r\n```\r\n5. After enabling, use the status endpoint to confirm the configuration:\r\n```\r\nGET kbn:api/entity_store/status\r\n{}\r\n```\r\n\r\n6. Post some documents, to check the entities available within the lookbackPeriod - confirm you can only see those within this period, and not outside of this period e.g. \"5h\" period, post with a timestamp of today (within 5 hours) and from yesterday and view results. \r\n ```\r\nPOST lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test Today\",\r\n \"entity_name\": \"LookbackPeriod Test Today\",\r\n \"timestamp\": \"2025-01-17T14:31:00Z\"\r\n}\r\n```\r\n```\r\nPOST lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test Yesterday\",\r\n \"entity_name\": \"LookbackPeriod Test Yesterday\",\r\n \"timestamp\": \"2025-01-16T14:31:00Z\"\r\n}\r\n```\r\n\r\n7. Can also go to entity store, check one of the transforms and check\r\nthe JSON gte ranges from here too, they should show the new\r\nlookbackPeriod.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"667040fbecdb084581dec8b6cfe99bd992cd48db","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team: SecuritySolution","release_note:feature","Team:Entity Analytics","backport:version","v8.18.0"],"title":"Entity Store Config - Lookback period","number":206421,"url":"https://github.com/elastic/kibana/pull/206421","mergeCommit":{"message":"Entity Store Config - Lookback period (#206421)\n\n## Summary \r\n\r\nThis PR enables configurability of the lookbackPeriod for Security’s\r\nEntity Store through the enable API.\r\n\r\n### Testing \r\n\r\n\r\n1. Open the latest instance of Kibana.\r\n2. Ensure both the Entity Store and Risk Score are enabled.\r\n3. Navigate to Dev Tools.\r\n4. Use the enable endpoint with lookbackPeriod, where the lookbackPeriod\r\nmust be a number followed by one of the supported units (m, s, or h).\r\n\r\n\r\n ```\r\nPOST kbn:api/entity_store/enable\r\n{\r\n \"lookbackPeriod\": \"72h\" // example value\r\n}\r\n```\r\n5. After enabling, use the status endpoint to confirm the configuration:\r\n```\r\nGET kbn:api/entity_store/status\r\n{}\r\n```\r\n\r\n6. Post some documents, to check the entities available within the lookbackPeriod - confirm you can only see those within this period, and not outside of this period e.g. \"5h\" period, post with a timestamp of today (within 5 hours) and from yesterday and view results. \r\n ```\r\nPOST lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test Today\",\r\n \"entity_name\": \"LookbackPeriod Test Today\",\r\n \"timestamp\": \"2025-01-17T14:31:00Z\"\r\n}\r\n```\r\n```\r\nPOST lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test Yesterday\",\r\n \"entity_name\": \"LookbackPeriod Test Yesterday\",\r\n \"timestamp\": \"2025-01-16T14:31:00Z\"\r\n}\r\n```\r\n\r\n7. Can also go to entity store, check one of the transforms and check\r\nthe JSON gte ranges from here too, they should show the new\r\nlookbackPeriod.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"667040fbecdb084581dec8b6cfe99bd992cd48db"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206421","number":206421,"mergeCommit":{"message":"Entity Store Config - Lookback period (#206421)\n\n## Summary \r\n\r\nThis PR enables configurability of the lookbackPeriod for Security’s\r\nEntity Store through the enable API.\r\n\r\n### Testing \r\n\r\n\r\n1. Open the latest instance of Kibana.\r\n2. Ensure both the Entity Store and Risk Score are enabled.\r\n3. Navigate to Dev Tools.\r\n4. Use the enable endpoint with lookbackPeriod, where the lookbackPeriod\r\nmust be a number followed by one of the supported units (m, s, or h).\r\n\r\n\r\n ```\r\nPOST kbn:api/entity_store/enable\r\n{\r\n \"lookbackPeriod\": \"72h\" // example value\r\n}\r\n```\r\n5. After enabling, use the status endpoint to confirm the configuration:\r\n```\r\nGET kbn:api/entity_store/status\r\n{}\r\n```\r\n\r\n6. Post some documents, to check the entities available within the lookbackPeriod - confirm you can only see those within this period, and not outside of this period e.g. \"5h\" period, post with a timestamp of today (within 5 hours) and from yesterday and view results. \r\n ```\r\nPOST lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test Today\",\r\n \"entity_name\": \"LookbackPeriod Test Today\",\r\n \"timestamp\": \"2025-01-17T14:31:00Z\"\r\n}\r\n```\r\n```\r\nPOST lookback-period-test/_doc\r\n{\r\n \"entity_id\": \"LookbackPeriod Test Yesterday\",\r\n \"entity_name\": \"LookbackPeriod Test Yesterday\",\r\n \"timestamp\": \"2025-01-16T14:31:00Z\"\r\n}\r\n```\r\n\r\n7. Can also go to entity store, check one of the transforms and check\r\nthe JSON gte ranges from here too, they should show the new\r\nlookbackPeriod.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"667040fbecdb084581dec8b6cfe99bd992cd48db"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: Charlotte Alexandra Wilson <CAWilson94@users.noreply.github.com> Co-authored-by: CAWilson94 <charlotte.wilson@elastic.co> |
||
|
28ca7d52d3
|
[8.x] SKA: Relocate core mock and test-helper modules (#208538) (#208725)
# Backport This will backport the following commits from `main` to `8.x`: - [SKA: Relocate core mock and test-helper modules (#208538)](https://github.com/elastic/kibana/pull/208538) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Gerard Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2025-01-29T11:14:44Z","message":"SKA: Relocate core mock and test-helper modules (#208538)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules (plugins and\r\npackages) into a new folder structure, according to the _Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors in the error section below (if there are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint config files), and update them\r\nappropriately.\r\n> * Manually review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that\r\nany CI pipeline customizations continue to be correctly applied after\r\nthe changed path names\r\n> * Review all of the updated files, specially the `.ts` and `.js` files\r\nlisted in the sections below, as some of them contain relative paths\r\nthat have been updated.\r\n> * Think of potential impact of the move, including tooling and\r\nconfiguration files that can be pointing to the relocated modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to source code\r\n\r\n> [!NOTE]\r\n> * This PR has been auto-generated.\r\n> * Any manual contributions will be lost if the 'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews / approvals before applying manual\r\nfixes, and/or keep your changes in a .patch / git stash.\r\n> * Please use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve merge conflicts? Please follow\r\nthe steps describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n#### 55 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/core-analytics-browser-mocks` |\r\n`src/core/packages/analytics/browser-mocks` |\r\n| `@kbn/core-analytics-server-mocks` |\r\n`src/core/packages/analytics/server-mocks` |\r\n| `@kbn/core-application-browser-mocks` |\r\n`src/core/packages/application/browser-mocks` |\r\n| `@kbn/core-apps-browser-mocks` |\r\n`src/core/packages/apps/browser-mocks` |\r\n| `@kbn/core-base-browser-mocks` |\r\n`src/core/packages/base/browser-mocks` |\r\n| `@kbn/core-base-server-mocks` | `src/core/packages/base/server-mocks`\r\n|\r\n| `@kbn/core-capabilities-browser-mocks` |\r\n`src/core/packages/capabilities/browser-mocks` |\r\n| `@kbn/core-capabilities-server-mocks` |\r\n`src/core/packages/capabilities/server-mocks` |\r\n| `@kbn/core-chrome-browser-mocks` |\r\n`src/core/packages/chrome/browser-mocks` |\r\n| `@kbn/core-deprecations-browser-mocks` |\r\n`src/core/packages/deprecations/browser-mocks` |\r\n| `@kbn/core-deprecations-server-mocks` |\r\n`src/core/packages/deprecations/server-mocks` |\r\n| `@kbn/core-doc-links-browser-mocks` |\r\n`src/core/packages/doc-links/browser-mocks` |\r\n| `@kbn/core-doc-links-server-mocks` |\r\n`src/core/packages/doc-links/server-mocks` |\r\n| `@kbn/core-elasticsearch-client-server-mocks` |\r\n`src/core/packages/elasticsearch/client-server-mocks` |\r\n| `@kbn/core-elasticsearch-server-mocks` |\r\n`src/core/packages/elasticsearch/server-mocks` |\r\n| `@kbn/core-environment-server-mocks` |\r\n`src/core/packages/environment/server-mocks` |\r\n| `@kbn/core-execution-context-browser-mocks` |\r\n`src/core/packages/execution-context/browser-mocks` |\r\n| `@kbn/core-execution-context-server-mocks` |\r\n`src/core/packages/execution-context/server-mocks` |\r\n| `@kbn/core-fatal-errors-browser-mocks` |\r\n`src/core/packages/fatal-errors/browser-mocks` |\r\n| `@kbn/core-http-browser-mocks` |\r\n`src/core/packages/http/browser-mocks` |\r\n| `@kbn/core-http-context-server-mocks` |\r\n`src/core/packages/http/context-server-mocks` |\r\n| `@kbn/core-http-resources-server-mocks` |\r\n`src/core/packages/http/resources-server-mocks` |\r\n| `@kbn/core-http-router-server-mocks` |\r\n`src/core/packages/http/router-server-mocks` |\r\n| `@kbn/core-http-server-mocks` | `src/core/packages/http/server-mocks`\r\n|\r\n| `@kbn/core-i18n-browser-mocks` |\r\n`src/core/packages/i18n/browser-mocks` |\r\n| `@kbn/core-i18n-server-mocks` | `src/core/packages/i18n/server-mocks`\r\n|\r\n| `@kbn/core-injected-metadata-browser-mocks` |\r\n`src/core/packages/injected-metadata/browser-mocks` |\r\n| `@kbn/core-integrations-browser-mocks` |\r\n`src/core/packages/integrations/browser-mocks` |\r\n| `@kbn/core-lifecycle-browser-mocks` |\r\n`src/core/packages/lifecycle/browser-mocks` |\r\n| `@kbn/core-lifecycle-server-mocks` |\r\n`src/core/packages/lifecycle/server-mocks` |\r\n| `@kbn/core-logging-browser-mocks` |\r\n`src/core/packages/logging/browser-mocks` |\r\n| `@kbn/core-logging-server-mocks` |\r\n`src/core/packages/logging/server-mocks` |\r\n| `@kbn/core-metrics-collectors-server-mocks` |\r\n`src/core/packages/metrics/collectors-server-mocks` |\r\n| `@kbn/core-metrics-server-mocks` |\r\n`src/core/packages/metrics/server-mocks` |\r\n| `@kbn/core-node-server-mocks` | `src/core/packages/node/server-mocks`\r\n|\r\n| `@kbn/core-notifications-browser-mocks` |\r\n`src/core/packages/notifications/browser-mocks` |\r\n| `@kbn/core-overlays-browser-mocks` |\r\n`src/core/packages/overlays/browser-mocks` |\r\n| `@kbn/core-plugins-browser-mocks` |\r\n`src/core/packages/plugins/browser-mocks` |\r\n| `@kbn/core-plugins-server-mocks` |\r\n`src/core/packages/plugins/server-mocks` |\r\n| `@kbn/core-preboot-server-mocks` |\r\n`src/core/packages/preboot/server-mocks` |\r\n| `@kbn/core-rendering-browser-mocks` |\r\n`src/core/packages/rendering/browser-mocks` |\r\n| `@kbn/core-rendering-server-mocks` |\r\n`src/core/packages/rendering/server-mocks` |\r\n| `@kbn/core-saved-objects-api-server-mocks` |\r\n`src/core/packages/saved-objects/api-server-mocks` |\r\n| `@kbn/core-saved-objects-base-server-mocks` |\r\n`src/core/packages/saved-objects/base-server-mocks` |\r\n| `@kbn/core-saved-objects-browser-mocks` |\r\n`src/core/packages/saved-objects/browser-mocks` |\r\n| `@kbn/core-saved-objects-import-export-server-mocks` |\r\n`src/core/packages/saved-objects/import-export-server-mocks` |\r\n| `@kbn/core-saved-objects-migration-server-mocks` |\r\n`src/core/packages/saved-objects/migration-server-mocks` |\r\n| `@kbn/core-saved-objects-server-mocks` |\r\n`src/core/packages/saved-objects/server-mocks` |\r\n| `@kbn/core-status-server-mocks` |\r\n`src/core/packages/status/server-mocks` |\r\n| `@kbn/core-test-helpers-kbn-server` |\r\n`src/dev/packages/core-test-helpers-kbn-server` |\r\n| `@kbn/core-test-helpers-model-versions` |\r\n`src/dev/packages/core-test-helpers-model-versions` |\r\n| `@kbn/core-theme-browser-mocks` |\r\n`src/core/packages/theme/browser-mocks` |\r\n| `@kbn/core-ui-settings-browser-mocks` |\r\n`src/core/packages/ui-settings/browser-mocks` |\r\n| `@kbn/core-ui-settings-server-mocks` |\r\n`src/core/packages/ui-settings/server-mocks` |\r\n| `@kbn/core-usage-data-server-mocks` |\r\n`src/core/packages/usage-data/server-mocks` |\r\n\r\n\r\n<details >\r\n<summary>Updated references</summary>\r\n\r\n```\r\n./.github/codeql/codeql-config.yml\r\n./package.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/core/packages/analytics/browser-mocks/jest.config.js\r\n./src/core/packages/analytics/server-mocks/jest.config.js\r\n./src/core/packages/application/browser-mocks/jest.config.js\r\n./src/core/packages/apps/browser-mocks/jest.config.js\r\n./src/core/packages/base/browser-mocks/jest.config.js\r\n./src/core/packages/base/server-mocks/jest.config.js\r\n./src/core/packages/capabilities/browser-mocks/jest.config.js\r\n./src/core/packages/capabilities/server-mocks/jest.config.js\r\n./src/core/packages/chrome/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/server-mocks/jest.config.js\r\n./src/core/packages/doc-links/browser-mocks/jest.config.js\r\n./src/core/packages/doc-links/server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/client-server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/server-mocks/jest.config.js\r\n./src/core/packages/environment/server-mocks/jest.config.js\r\n./src/core/packages/execution-context/browser-mocks/jest.config.js\r\n./src/core/packages/execution-context/server-mocks/jest.config.js\r\n./src/core/packages/fatal-errors/browser-mocks/jest.config.js\r\n./src/core/packages/http/browser-mocks/jest.config.js\r\n./src/core/packages/http/context-server-mocks/jest.config.js\r\n./src/core/packages/http/resources-server-mocks/jest.config.js\r\n./src/core/packages/http/router-server-mocks/jest.config.js\r\n./src/core/packages/http/server-mocks/jest.config.js\r\n./src/core/packages/i18n/browser-mocks/jest.config.js\r\n./src/core/packages/i18n/server-mocks/jest.config.js\r\n./src/core/packages/injected-metadata/browser-mocks/jest.config.js\r\n./src/core/packages/integrations/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/server-mocks/jest.config.js\r\n./src/core/packages/logging/browser-mocks/jest.config.js\r\n./src/core/packages/logging/server-mocks/jest.config.js\r\n./src/core/packages/metrics/collectors-server-mocks/jest.config.js\r\n./src/core/packages/metrics/server-mocks/jest.config.js\r\n./src/core/packages/node/server-mocks/jest.config.js\r\n./src/core/packages/notifications/browser-mocks/jest.config.js\r\n./src/core/packages/overlays/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/server-mocks/jest.config.js\r\n./src/core/packages/preboot/server-mocks/jest.config.js\r\n./src/core/packages/rendering/browser-mocks/jest.config.js\r\n./src/core/packages/rendering/server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/api-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/base-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/browser-mocks/jest.config.js\r\n./src/core/packages/saved-objects/import-export-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/migration-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/server-mocks/jest.config.js\r\n./src/core/packages/status/server-mocks/jest.config.js\r\n./src/core/packages/theme/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/server-mocks/jest.config.js\r\n./src/core/packages/usage-data/server-mocks/jest.config.js\r\n./src/core/system/tsconfig.type_check.json\r\n./src/dev/packages/core-test-helpers-kbn-server/jest.config.js\r\n./src/dev/packages/core-test-helpers-model-versions/jest.config.js\r\n./src/dev/tsconfig.type_check.json\r\n./src/platform/packages/private/kbn-repo-packages/package-map.json\r\n./src/platform/plugins/private/interactive_setup/tsconfig.type_check.json\r\n./src/platform/plugins/shared/console/tsconfig.type_check.json\r\n./src/plugins/kibana_usage_collection/tsconfig.type_check.json\r\n./src/plugins/saved_objects_management/tsconfig.type_check.json\r\n./src/plugins/telemetry/tsconfig.type_check.json\r\n./src/plugins/usage_collection/tsconfig.type_check.json\r\n./tsconfig.base.json\r\n./tsconfig.base.type_check.json\r\n./tsconfig.refs.json\r\n./x-pack/platform/plugins/private/index_lifecycle_management/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/remote_clusters/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/snapshot_restore/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/watcher/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/encrypted_saved_objects/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/fleet/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/security/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/spaces/tsconfig.type_check.json\r\n./x-pack/plugins/actions/tsconfig.type_check.json\r\n./x-pack/plugins/aiops/tsconfig.type_check.json\r\n./x-pack/plugins/alerting/tsconfig.type_check.json\r\n./x-pack/plugins/cases/tsconfig.type_check.json\r\n./x-pack/plugins/enterprise_search/tsconfig.type_check.json\r\n./x-pack/plugins/integration_assistant/tsconfig.type_check.json\r\n./x-pack/plugins/ml/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm_data_access/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/entity_manager/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/exploratory_view/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/observability/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/slo/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/synthetics/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/uptime/tsconfig.type_check.json\r\n./x-pack/plugins/rule_registry/tsconfig.type_check.json\r\n./x-pack/plugins/search_playground/tsconfig.type_check.json\r\n./x-pack/plugins/serverless_search/tsconfig.type_check.json\r\n./x-pack/plugins/stack_alerts/tsconfig.type_check.json\r\n./x-pack/plugins/stack_connectors/tsconfig.type_check.json\r\n./x-pack/plugins/task_manager/tsconfig.type_check.json\r\n./x-pack/plugins/transform/tsconfig.type_check.json\r\n./x-pack/solutions/observability/plugins/dataset_quality/tsconfig.type_check.json\r\n./x-pack/solutions/security/packages/security-solution/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./x-pack/solutions/security/plugins/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details >\r\n<summary>Updated relative paths</summary>\r\n\r\n```\r\nsrc/core/packages/analytics/browser-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/analytics/server-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/application/browser-mocks/jest.config.js:12\r\nsrc/core/packages/application/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/apps/browser-mocks/jest.config.js:12\r\nsrc/core/packages/apps/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/browser-mocks/jest.config.js:12\r\nsrc/core/packages/base/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/server-mocks/jest.config.js:12\r\nsrc/core/packages/base/server-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/browser-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/server-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/server-mocks/tsconfig.json:2\r\nsrc/core/packages/chrome/browser-mocks/jest.config.js:12\r\nsrc/core/packages/chrome/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/server-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/server-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/browser-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/server-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/client-server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/client-server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/server-mocks/tsconfig.json:2\r\nsrc/core/packages/environment/server-mocks/jest.config.js:12\r\nsrc/core/packages/environment/server-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/browser-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/server-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/server-mocks/tsconfig.json:2\r\nsrc/core/packages/fatal-errors/browser-mocks/jest.config.js:12\r\nsrc/core/packages/fatal-errors/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/browser-mocks/jest.config.js:12\r\nsrc/core/packages/http/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/context-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/context-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/resources-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/resources-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/router-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/router-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/server-mocks/jest.config.js:12\r\nsrc/core/packages/http/server-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/browser-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/server-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/server-mocks/tsconfig.json:2\r\nsrc/core/packages/injected-metadata/browser-mocks/jest.config.js:12\r\nsrc/core/packages/injected-metadata/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/integrations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/integrations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/browser-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/server-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/server-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/browser-mocks/jest.config.js:12\r\nsrc/core/packages/logging/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/server-mocks/jest.config.js:12\r\nsrc/core/packages/logging/server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/collectors-server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/collectors-server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/node/server-mocks/jest.config.js:12\r\nsrc/core/packages/node/server-mocks/tsconfig.json:2\r\nsrc/core/packages/notifications/browser-mocks/jest.config.js:12\r\nsrc/core/packages/notifications/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/overlays/browser-mocks/jest.config.js:12\r\nsrc/core/packages/overlays/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/browser-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/server-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/server-mocks/tsconfig.json:2\r\nsrc/core/packages/preboot/server-mocks/jest.config.js:12\r\nsrc/core/packages/preboot/server-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/browser-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/server-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/api-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/api-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/base-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/base-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/browser-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/import-export-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/import-export-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/migration-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/migration-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/server-mocks/tsconfig.json:2\r\nsrc/core/packages/status/server-mocks/jest.config.js:12\r\nsrc/core/packages/status/server-mocks/tsconfig.json:2\r\nsrc/core/packages/theme/browser-mocks/jest.config.js:12\r\nsrc/core/packages/theme/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/browser-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/server-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/server-mocks/tsconfig.json:2\r\nsrc/core/packages/usage-data/server-mocks/jest.config.js:12\r\nsrc/core/packages/usage-data/server-mocks/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-kbn-server/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-kbn-server/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-model-versions/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-model-versions/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Alejandro Fernández Haro <afharo@gmail.com>","sha":"4a00449bdcd699f89294536a86dffcbeab4daf53","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","backport:prev-minor"],"title":"SKA: Relocate core mock and test-helper modules","number":208538,"url":"https://github.com/elastic/kibana/pull/208538","mergeCommit":{"message":"SKA: Relocate core mock and test-helper modules (#208538)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules (plugins and\r\npackages) into a new folder structure, according to the _Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors in the error section below (if there are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint config files), and update them\r\nappropriately.\r\n> * Manually review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that\r\nany CI pipeline customizations continue to be correctly applied after\r\nthe changed path names\r\n> * Review all of the updated files, specially the `.ts` and `.js` files\r\nlisted in the sections below, as some of them contain relative paths\r\nthat have been updated.\r\n> * Think of potential impact of the move, including tooling and\r\nconfiguration files that can be pointing to the relocated modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to source code\r\n\r\n> [!NOTE]\r\n> * This PR has been auto-generated.\r\n> * Any manual contributions will be lost if the 'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews / approvals before applying manual\r\nfixes, and/or keep your changes in a .patch / git stash.\r\n> * Please use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve merge conflicts? Please follow\r\nthe steps describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n#### 55 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/core-analytics-browser-mocks` |\r\n`src/core/packages/analytics/browser-mocks` |\r\n| `@kbn/core-analytics-server-mocks` |\r\n`src/core/packages/analytics/server-mocks` |\r\n| `@kbn/core-application-browser-mocks` |\r\n`src/core/packages/application/browser-mocks` |\r\n| `@kbn/core-apps-browser-mocks` |\r\n`src/core/packages/apps/browser-mocks` |\r\n| `@kbn/core-base-browser-mocks` |\r\n`src/core/packages/base/browser-mocks` |\r\n| `@kbn/core-base-server-mocks` | `src/core/packages/base/server-mocks`\r\n|\r\n| `@kbn/core-capabilities-browser-mocks` |\r\n`src/core/packages/capabilities/browser-mocks` |\r\n| `@kbn/core-capabilities-server-mocks` |\r\n`src/core/packages/capabilities/server-mocks` |\r\n| `@kbn/core-chrome-browser-mocks` |\r\n`src/core/packages/chrome/browser-mocks` |\r\n| `@kbn/core-deprecations-browser-mocks` |\r\n`src/core/packages/deprecations/browser-mocks` |\r\n| `@kbn/core-deprecations-server-mocks` |\r\n`src/core/packages/deprecations/server-mocks` |\r\n| `@kbn/core-doc-links-browser-mocks` |\r\n`src/core/packages/doc-links/browser-mocks` |\r\n| `@kbn/core-doc-links-server-mocks` |\r\n`src/core/packages/doc-links/server-mocks` |\r\n| `@kbn/core-elasticsearch-client-server-mocks` |\r\n`src/core/packages/elasticsearch/client-server-mocks` |\r\n| `@kbn/core-elasticsearch-server-mocks` |\r\n`src/core/packages/elasticsearch/server-mocks` |\r\n| `@kbn/core-environment-server-mocks` |\r\n`src/core/packages/environment/server-mocks` |\r\n| `@kbn/core-execution-context-browser-mocks` |\r\n`src/core/packages/execution-context/browser-mocks` |\r\n| `@kbn/core-execution-context-server-mocks` |\r\n`src/core/packages/execution-context/server-mocks` |\r\n| `@kbn/core-fatal-errors-browser-mocks` |\r\n`src/core/packages/fatal-errors/browser-mocks` |\r\n| `@kbn/core-http-browser-mocks` |\r\n`src/core/packages/http/browser-mocks` |\r\n| `@kbn/core-http-context-server-mocks` |\r\n`src/core/packages/http/context-server-mocks` |\r\n| `@kbn/core-http-resources-server-mocks` |\r\n`src/core/packages/http/resources-server-mocks` |\r\n| `@kbn/core-http-router-server-mocks` |\r\n`src/core/packages/http/router-server-mocks` |\r\n| `@kbn/core-http-server-mocks` | `src/core/packages/http/server-mocks`\r\n|\r\n| `@kbn/core-i18n-browser-mocks` |\r\n`src/core/packages/i18n/browser-mocks` |\r\n| `@kbn/core-i18n-server-mocks` | `src/core/packages/i18n/server-mocks`\r\n|\r\n| `@kbn/core-injected-metadata-browser-mocks` |\r\n`src/core/packages/injected-metadata/browser-mocks` |\r\n| `@kbn/core-integrations-browser-mocks` |\r\n`src/core/packages/integrations/browser-mocks` |\r\n| `@kbn/core-lifecycle-browser-mocks` |\r\n`src/core/packages/lifecycle/browser-mocks` |\r\n| `@kbn/core-lifecycle-server-mocks` |\r\n`src/core/packages/lifecycle/server-mocks` |\r\n| `@kbn/core-logging-browser-mocks` |\r\n`src/core/packages/logging/browser-mocks` |\r\n| `@kbn/core-logging-server-mocks` |\r\n`src/core/packages/logging/server-mocks` |\r\n| `@kbn/core-metrics-collectors-server-mocks` |\r\n`src/core/packages/metrics/collectors-server-mocks` |\r\n| `@kbn/core-metrics-server-mocks` |\r\n`src/core/packages/metrics/server-mocks` |\r\n| `@kbn/core-node-server-mocks` | `src/core/packages/node/server-mocks`\r\n|\r\n| `@kbn/core-notifications-browser-mocks` |\r\n`src/core/packages/notifications/browser-mocks` |\r\n| `@kbn/core-overlays-browser-mocks` |\r\n`src/core/packages/overlays/browser-mocks` |\r\n| `@kbn/core-plugins-browser-mocks` |\r\n`src/core/packages/plugins/browser-mocks` |\r\n| `@kbn/core-plugins-server-mocks` |\r\n`src/core/packages/plugins/server-mocks` |\r\n| `@kbn/core-preboot-server-mocks` |\r\n`src/core/packages/preboot/server-mocks` |\r\n| `@kbn/core-rendering-browser-mocks` |\r\n`src/core/packages/rendering/browser-mocks` |\r\n| `@kbn/core-rendering-server-mocks` |\r\n`src/core/packages/rendering/server-mocks` |\r\n| `@kbn/core-saved-objects-api-server-mocks` |\r\n`src/core/packages/saved-objects/api-server-mocks` |\r\n| `@kbn/core-saved-objects-base-server-mocks` |\r\n`src/core/packages/saved-objects/base-server-mocks` |\r\n| `@kbn/core-saved-objects-browser-mocks` |\r\n`src/core/packages/saved-objects/browser-mocks` |\r\n| `@kbn/core-saved-objects-import-export-server-mocks` |\r\n`src/core/packages/saved-objects/import-export-server-mocks` |\r\n| `@kbn/core-saved-objects-migration-server-mocks` |\r\n`src/core/packages/saved-objects/migration-server-mocks` |\r\n| `@kbn/core-saved-objects-server-mocks` |\r\n`src/core/packages/saved-objects/server-mocks` |\r\n| `@kbn/core-status-server-mocks` |\r\n`src/core/packages/status/server-mocks` |\r\n| `@kbn/core-test-helpers-kbn-server` |\r\n`src/dev/packages/core-test-helpers-kbn-server` |\r\n| `@kbn/core-test-helpers-model-versions` |\r\n`src/dev/packages/core-test-helpers-model-versions` |\r\n| `@kbn/core-theme-browser-mocks` |\r\n`src/core/packages/theme/browser-mocks` |\r\n| `@kbn/core-ui-settings-browser-mocks` |\r\n`src/core/packages/ui-settings/browser-mocks` |\r\n| `@kbn/core-ui-settings-server-mocks` |\r\n`src/core/packages/ui-settings/server-mocks` |\r\n| `@kbn/core-usage-data-server-mocks` |\r\n`src/core/packages/usage-data/server-mocks` |\r\n\r\n\r\n<details >\r\n<summary>Updated references</summary>\r\n\r\n```\r\n./.github/codeql/codeql-config.yml\r\n./package.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/core/packages/analytics/browser-mocks/jest.config.js\r\n./src/core/packages/analytics/server-mocks/jest.config.js\r\n./src/core/packages/application/browser-mocks/jest.config.js\r\n./src/core/packages/apps/browser-mocks/jest.config.js\r\n./src/core/packages/base/browser-mocks/jest.config.js\r\n./src/core/packages/base/server-mocks/jest.config.js\r\n./src/core/packages/capabilities/browser-mocks/jest.config.js\r\n./src/core/packages/capabilities/server-mocks/jest.config.js\r\n./src/core/packages/chrome/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/server-mocks/jest.config.js\r\n./src/core/packages/doc-links/browser-mocks/jest.config.js\r\n./src/core/packages/doc-links/server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/client-server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/server-mocks/jest.config.js\r\n./src/core/packages/environment/server-mocks/jest.config.js\r\n./src/core/packages/execution-context/browser-mocks/jest.config.js\r\n./src/core/packages/execution-context/server-mocks/jest.config.js\r\n./src/core/packages/fatal-errors/browser-mocks/jest.config.js\r\n./src/core/packages/http/browser-mocks/jest.config.js\r\n./src/core/packages/http/context-server-mocks/jest.config.js\r\n./src/core/packages/http/resources-server-mocks/jest.config.js\r\n./src/core/packages/http/router-server-mocks/jest.config.js\r\n./src/core/packages/http/server-mocks/jest.config.js\r\n./src/core/packages/i18n/browser-mocks/jest.config.js\r\n./src/core/packages/i18n/server-mocks/jest.config.js\r\n./src/core/packages/injected-metadata/browser-mocks/jest.config.js\r\n./src/core/packages/integrations/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/server-mocks/jest.config.js\r\n./src/core/packages/logging/browser-mocks/jest.config.js\r\n./src/core/packages/logging/server-mocks/jest.config.js\r\n./src/core/packages/metrics/collectors-server-mocks/jest.config.js\r\n./src/core/packages/metrics/server-mocks/jest.config.js\r\n./src/core/packages/node/server-mocks/jest.config.js\r\n./src/core/packages/notifications/browser-mocks/jest.config.js\r\n./src/core/packages/overlays/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/server-mocks/jest.config.js\r\n./src/core/packages/preboot/server-mocks/jest.config.js\r\n./src/core/packages/rendering/browser-mocks/jest.config.js\r\n./src/core/packages/rendering/server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/api-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/base-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/browser-mocks/jest.config.js\r\n./src/core/packages/saved-objects/import-export-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/migration-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/server-mocks/jest.config.js\r\n./src/core/packages/status/server-mocks/jest.config.js\r\n./src/core/packages/theme/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/server-mocks/jest.config.js\r\n./src/core/packages/usage-data/server-mocks/jest.config.js\r\n./src/core/system/tsconfig.type_check.json\r\n./src/dev/packages/core-test-helpers-kbn-server/jest.config.js\r\n./src/dev/packages/core-test-helpers-model-versions/jest.config.js\r\n./src/dev/tsconfig.type_check.json\r\n./src/platform/packages/private/kbn-repo-packages/package-map.json\r\n./src/platform/plugins/private/interactive_setup/tsconfig.type_check.json\r\n./src/platform/plugins/shared/console/tsconfig.type_check.json\r\n./src/plugins/kibana_usage_collection/tsconfig.type_check.json\r\n./src/plugins/saved_objects_management/tsconfig.type_check.json\r\n./src/plugins/telemetry/tsconfig.type_check.json\r\n./src/plugins/usage_collection/tsconfig.type_check.json\r\n./tsconfig.base.json\r\n./tsconfig.base.type_check.json\r\n./tsconfig.refs.json\r\n./x-pack/platform/plugins/private/index_lifecycle_management/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/remote_clusters/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/snapshot_restore/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/watcher/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/encrypted_saved_objects/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/fleet/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/security/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/spaces/tsconfig.type_check.json\r\n./x-pack/plugins/actions/tsconfig.type_check.json\r\n./x-pack/plugins/aiops/tsconfig.type_check.json\r\n./x-pack/plugins/alerting/tsconfig.type_check.json\r\n./x-pack/plugins/cases/tsconfig.type_check.json\r\n./x-pack/plugins/enterprise_search/tsconfig.type_check.json\r\n./x-pack/plugins/integration_assistant/tsconfig.type_check.json\r\n./x-pack/plugins/ml/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm_data_access/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/entity_manager/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/exploratory_view/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/observability/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/slo/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/synthetics/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/uptime/tsconfig.type_check.json\r\n./x-pack/plugins/rule_registry/tsconfig.type_check.json\r\n./x-pack/plugins/search_playground/tsconfig.type_check.json\r\n./x-pack/plugins/serverless_search/tsconfig.type_check.json\r\n./x-pack/plugins/stack_alerts/tsconfig.type_check.json\r\n./x-pack/plugins/stack_connectors/tsconfig.type_check.json\r\n./x-pack/plugins/task_manager/tsconfig.type_check.json\r\n./x-pack/plugins/transform/tsconfig.type_check.json\r\n./x-pack/solutions/observability/plugins/dataset_quality/tsconfig.type_check.json\r\n./x-pack/solutions/security/packages/security-solution/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./x-pack/solutions/security/plugins/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details >\r\n<summary>Updated relative paths</summary>\r\n\r\n```\r\nsrc/core/packages/analytics/browser-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/analytics/server-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/application/browser-mocks/jest.config.js:12\r\nsrc/core/packages/application/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/apps/browser-mocks/jest.config.js:12\r\nsrc/core/packages/apps/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/browser-mocks/jest.config.js:12\r\nsrc/core/packages/base/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/server-mocks/jest.config.js:12\r\nsrc/core/packages/base/server-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/browser-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/server-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/server-mocks/tsconfig.json:2\r\nsrc/core/packages/chrome/browser-mocks/jest.config.js:12\r\nsrc/core/packages/chrome/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/server-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/server-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/browser-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/server-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/client-server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/client-server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/server-mocks/tsconfig.json:2\r\nsrc/core/packages/environment/server-mocks/jest.config.js:12\r\nsrc/core/packages/environment/server-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/browser-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/server-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/server-mocks/tsconfig.json:2\r\nsrc/core/packages/fatal-errors/browser-mocks/jest.config.js:12\r\nsrc/core/packages/fatal-errors/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/browser-mocks/jest.config.js:12\r\nsrc/core/packages/http/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/context-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/context-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/resources-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/resources-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/router-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/router-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/server-mocks/jest.config.js:12\r\nsrc/core/packages/http/server-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/browser-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/server-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/server-mocks/tsconfig.json:2\r\nsrc/core/packages/injected-metadata/browser-mocks/jest.config.js:12\r\nsrc/core/packages/injected-metadata/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/integrations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/integrations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/browser-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/server-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/server-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/browser-mocks/jest.config.js:12\r\nsrc/core/packages/logging/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/server-mocks/jest.config.js:12\r\nsrc/core/packages/logging/server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/collectors-server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/collectors-server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/node/server-mocks/jest.config.js:12\r\nsrc/core/packages/node/server-mocks/tsconfig.json:2\r\nsrc/core/packages/notifications/browser-mocks/jest.config.js:12\r\nsrc/core/packages/notifications/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/overlays/browser-mocks/jest.config.js:12\r\nsrc/core/packages/overlays/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/browser-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/server-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/server-mocks/tsconfig.json:2\r\nsrc/core/packages/preboot/server-mocks/jest.config.js:12\r\nsrc/core/packages/preboot/server-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/browser-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/server-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/api-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/api-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/base-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/base-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/browser-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/import-export-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/import-export-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/migration-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/migration-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/server-mocks/tsconfig.json:2\r\nsrc/core/packages/status/server-mocks/jest.config.js:12\r\nsrc/core/packages/status/server-mocks/tsconfig.json:2\r\nsrc/core/packages/theme/browser-mocks/jest.config.js:12\r\nsrc/core/packages/theme/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/browser-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/server-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/server-mocks/tsconfig.json:2\r\nsrc/core/packages/usage-data/server-mocks/jest.config.js:12\r\nsrc/core/packages/usage-data/server-mocks/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-kbn-server/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-kbn-server/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-model-versions/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-model-versions/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Alejandro Fernández Haro <afharo@gmail.com>","sha":"4a00449bdcd699f89294536a86dffcbeab4daf53"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/208538","number":208538,"mergeCommit":{"message":"SKA: Relocate core mock and test-helper modules (#208538)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules (plugins and\r\npackages) into a new folder structure, according to the _Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors in the error section below (if there are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint config files), and update them\r\nappropriately.\r\n> * Manually review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that\r\nany CI pipeline customizations continue to be correctly applied after\r\nthe changed path names\r\n> * Review all of the updated files, specially the `.ts` and `.js` files\r\nlisted in the sections below, as some of them contain relative paths\r\nthat have been updated.\r\n> * Think of potential impact of the move, including tooling and\r\nconfiguration files that can be pointing to the relocated modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to source code\r\n\r\n> [!NOTE]\r\n> * This PR has been auto-generated.\r\n> * Any manual contributions will be lost if the 'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews / approvals before applying manual\r\nfixes, and/or keep your changes in a .patch / git stash.\r\n> * Please use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve merge conflicts? Please follow\r\nthe steps describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n#### 55 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/core-analytics-browser-mocks` |\r\n`src/core/packages/analytics/browser-mocks` |\r\n| `@kbn/core-analytics-server-mocks` |\r\n`src/core/packages/analytics/server-mocks` |\r\n| `@kbn/core-application-browser-mocks` |\r\n`src/core/packages/application/browser-mocks` |\r\n| `@kbn/core-apps-browser-mocks` |\r\n`src/core/packages/apps/browser-mocks` |\r\n| `@kbn/core-base-browser-mocks` |\r\n`src/core/packages/base/browser-mocks` |\r\n| `@kbn/core-base-server-mocks` | `src/core/packages/base/server-mocks`\r\n|\r\n| `@kbn/core-capabilities-browser-mocks` |\r\n`src/core/packages/capabilities/browser-mocks` |\r\n| `@kbn/core-capabilities-server-mocks` |\r\n`src/core/packages/capabilities/server-mocks` |\r\n| `@kbn/core-chrome-browser-mocks` |\r\n`src/core/packages/chrome/browser-mocks` |\r\n| `@kbn/core-deprecations-browser-mocks` |\r\n`src/core/packages/deprecations/browser-mocks` |\r\n| `@kbn/core-deprecations-server-mocks` |\r\n`src/core/packages/deprecations/server-mocks` |\r\n| `@kbn/core-doc-links-browser-mocks` |\r\n`src/core/packages/doc-links/browser-mocks` |\r\n| `@kbn/core-doc-links-server-mocks` |\r\n`src/core/packages/doc-links/server-mocks` |\r\n| `@kbn/core-elasticsearch-client-server-mocks` |\r\n`src/core/packages/elasticsearch/client-server-mocks` |\r\n| `@kbn/core-elasticsearch-server-mocks` |\r\n`src/core/packages/elasticsearch/server-mocks` |\r\n| `@kbn/core-environment-server-mocks` |\r\n`src/core/packages/environment/server-mocks` |\r\n| `@kbn/core-execution-context-browser-mocks` |\r\n`src/core/packages/execution-context/browser-mocks` |\r\n| `@kbn/core-execution-context-server-mocks` |\r\n`src/core/packages/execution-context/server-mocks` |\r\n| `@kbn/core-fatal-errors-browser-mocks` |\r\n`src/core/packages/fatal-errors/browser-mocks` |\r\n| `@kbn/core-http-browser-mocks` |\r\n`src/core/packages/http/browser-mocks` |\r\n| `@kbn/core-http-context-server-mocks` |\r\n`src/core/packages/http/context-server-mocks` |\r\n| `@kbn/core-http-resources-server-mocks` |\r\n`src/core/packages/http/resources-server-mocks` |\r\n| `@kbn/core-http-router-server-mocks` |\r\n`src/core/packages/http/router-server-mocks` |\r\n| `@kbn/core-http-server-mocks` | `src/core/packages/http/server-mocks`\r\n|\r\n| `@kbn/core-i18n-browser-mocks` |\r\n`src/core/packages/i18n/browser-mocks` |\r\n| `@kbn/core-i18n-server-mocks` | `src/core/packages/i18n/server-mocks`\r\n|\r\n| `@kbn/core-injected-metadata-browser-mocks` |\r\n`src/core/packages/injected-metadata/browser-mocks` |\r\n| `@kbn/core-integrations-browser-mocks` |\r\n`src/core/packages/integrations/browser-mocks` |\r\n| `@kbn/core-lifecycle-browser-mocks` |\r\n`src/core/packages/lifecycle/browser-mocks` |\r\n| `@kbn/core-lifecycle-server-mocks` |\r\n`src/core/packages/lifecycle/server-mocks` |\r\n| `@kbn/core-logging-browser-mocks` |\r\n`src/core/packages/logging/browser-mocks` |\r\n| `@kbn/core-logging-server-mocks` |\r\n`src/core/packages/logging/server-mocks` |\r\n| `@kbn/core-metrics-collectors-server-mocks` |\r\n`src/core/packages/metrics/collectors-server-mocks` |\r\n| `@kbn/core-metrics-server-mocks` |\r\n`src/core/packages/metrics/server-mocks` |\r\n| `@kbn/core-node-server-mocks` | `src/core/packages/node/server-mocks`\r\n|\r\n| `@kbn/core-notifications-browser-mocks` |\r\n`src/core/packages/notifications/browser-mocks` |\r\n| `@kbn/core-overlays-browser-mocks` |\r\n`src/core/packages/overlays/browser-mocks` |\r\n| `@kbn/core-plugins-browser-mocks` |\r\n`src/core/packages/plugins/browser-mocks` |\r\n| `@kbn/core-plugins-server-mocks` |\r\n`src/core/packages/plugins/server-mocks` |\r\n| `@kbn/core-preboot-server-mocks` |\r\n`src/core/packages/preboot/server-mocks` |\r\n| `@kbn/core-rendering-browser-mocks` |\r\n`src/core/packages/rendering/browser-mocks` |\r\n| `@kbn/core-rendering-server-mocks` |\r\n`src/core/packages/rendering/server-mocks` |\r\n| `@kbn/core-saved-objects-api-server-mocks` |\r\n`src/core/packages/saved-objects/api-server-mocks` |\r\n| `@kbn/core-saved-objects-base-server-mocks` |\r\n`src/core/packages/saved-objects/base-server-mocks` |\r\n| `@kbn/core-saved-objects-browser-mocks` |\r\n`src/core/packages/saved-objects/browser-mocks` |\r\n| `@kbn/core-saved-objects-import-export-server-mocks` |\r\n`src/core/packages/saved-objects/import-export-server-mocks` |\r\n| `@kbn/core-saved-objects-migration-server-mocks` |\r\n`src/core/packages/saved-objects/migration-server-mocks` |\r\n| `@kbn/core-saved-objects-server-mocks` |\r\n`src/core/packages/saved-objects/server-mocks` |\r\n| `@kbn/core-status-server-mocks` |\r\n`src/core/packages/status/server-mocks` |\r\n| `@kbn/core-test-helpers-kbn-server` |\r\n`src/dev/packages/core-test-helpers-kbn-server` |\r\n| `@kbn/core-test-helpers-model-versions` |\r\n`src/dev/packages/core-test-helpers-model-versions` |\r\n| `@kbn/core-theme-browser-mocks` |\r\n`src/core/packages/theme/browser-mocks` |\r\n| `@kbn/core-ui-settings-browser-mocks` |\r\n`src/core/packages/ui-settings/browser-mocks` |\r\n| `@kbn/core-ui-settings-server-mocks` |\r\n`src/core/packages/ui-settings/server-mocks` |\r\n| `@kbn/core-usage-data-server-mocks` |\r\n`src/core/packages/usage-data/server-mocks` |\r\n\r\n\r\n<details >\r\n<summary>Updated references</summary>\r\n\r\n```\r\n./.github/codeql/codeql-config.yml\r\n./package.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/core/packages/analytics/browser-mocks/jest.config.js\r\n./src/core/packages/analytics/server-mocks/jest.config.js\r\n./src/core/packages/application/browser-mocks/jest.config.js\r\n./src/core/packages/apps/browser-mocks/jest.config.js\r\n./src/core/packages/base/browser-mocks/jest.config.js\r\n./src/core/packages/base/server-mocks/jest.config.js\r\n./src/core/packages/capabilities/browser-mocks/jest.config.js\r\n./src/core/packages/capabilities/server-mocks/jest.config.js\r\n./src/core/packages/chrome/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/browser-mocks/jest.config.js\r\n./src/core/packages/deprecations/server-mocks/jest.config.js\r\n./src/core/packages/doc-links/browser-mocks/jest.config.js\r\n./src/core/packages/doc-links/server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/client-server-mocks/jest.config.js\r\n./src/core/packages/elasticsearch/server-mocks/jest.config.js\r\n./src/core/packages/environment/server-mocks/jest.config.js\r\n./src/core/packages/execution-context/browser-mocks/jest.config.js\r\n./src/core/packages/execution-context/server-mocks/jest.config.js\r\n./src/core/packages/fatal-errors/browser-mocks/jest.config.js\r\n./src/core/packages/http/browser-mocks/jest.config.js\r\n./src/core/packages/http/context-server-mocks/jest.config.js\r\n./src/core/packages/http/resources-server-mocks/jest.config.js\r\n./src/core/packages/http/router-server-mocks/jest.config.js\r\n./src/core/packages/http/server-mocks/jest.config.js\r\n./src/core/packages/i18n/browser-mocks/jest.config.js\r\n./src/core/packages/i18n/server-mocks/jest.config.js\r\n./src/core/packages/injected-metadata/browser-mocks/jest.config.js\r\n./src/core/packages/integrations/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/browser-mocks/jest.config.js\r\n./src/core/packages/lifecycle/server-mocks/jest.config.js\r\n./src/core/packages/logging/browser-mocks/jest.config.js\r\n./src/core/packages/logging/server-mocks/jest.config.js\r\n./src/core/packages/metrics/collectors-server-mocks/jest.config.js\r\n./src/core/packages/metrics/server-mocks/jest.config.js\r\n./src/core/packages/node/server-mocks/jest.config.js\r\n./src/core/packages/notifications/browser-mocks/jest.config.js\r\n./src/core/packages/overlays/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/browser-mocks/jest.config.js\r\n./src/core/packages/plugins/server-mocks/jest.config.js\r\n./src/core/packages/preboot/server-mocks/jest.config.js\r\n./src/core/packages/rendering/browser-mocks/jest.config.js\r\n./src/core/packages/rendering/server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/api-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/base-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/browser-mocks/jest.config.js\r\n./src/core/packages/saved-objects/import-export-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/migration-server-mocks/jest.config.js\r\n./src/core/packages/saved-objects/server-mocks/jest.config.js\r\n./src/core/packages/status/server-mocks/jest.config.js\r\n./src/core/packages/theme/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/browser-mocks/jest.config.js\r\n./src/core/packages/ui-settings/server-mocks/jest.config.js\r\n./src/core/packages/usage-data/server-mocks/jest.config.js\r\n./src/core/system/tsconfig.type_check.json\r\n./src/dev/packages/core-test-helpers-kbn-server/jest.config.js\r\n./src/dev/packages/core-test-helpers-model-versions/jest.config.js\r\n./src/dev/tsconfig.type_check.json\r\n./src/platform/packages/private/kbn-repo-packages/package-map.json\r\n./src/platform/plugins/private/interactive_setup/tsconfig.type_check.json\r\n./src/platform/plugins/shared/console/tsconfig.type_check.json\r\n./src/plugins/kibana_usage_collection/tsconfig.type_check.json\r\n./src/plugins/saved_objects_management/tsconfig.type_check.json\r\n./src/plugins/telemetry/tsconfig.type_check.json\r\n./src/plugins/usage_collection/tsconfig.type_check.json\r\n./tsconfig.base.json\r\n./tsconfig.base.type_check.json\r\n./tsconfig.refs.json\r\n./x-pack/platform/plugins/private/index_lifecycle_management/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/remote_clusters/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/snapshot_restore/tsconfig.type_check.json\r\n./x-pack/platform/plugins/private/watcher/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/encrypted_saved_objects/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/fleet/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/security/tsconfig.type_check.json\r\n./x-pack/platform/plugins/shared/spaces/tsconfig.type_check.json\r\n./x-pack/plugins/actions/tsconfig.type_check.json\r\n./x-pack/plugins/aiops/tsconfig.type_check.json\r\n./x-pack/plugins/alerting/tsconfig.type_check.json\r\n./x-pack/plugins/cases/tsconfig.type_check.json\r\n./x-pack/plugins/enterprise_search/tsconfig.type_check.json\r\n./x-pack/plugins/integration_assistant/tsconfig.type_check.json\r\n./x-pack/plugins/ml/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/apm_data_access/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/entity_manager/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/exploratory_view/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/observability/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/slo/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/synthetics/tsconfig.type_check.json\r\n./x-pack/plugins/observability_solution/uptime/tsconfig.type_check.json\r\n./x-pack/plugins/rule_registry/tsconfig.type_check.json\r\n./x-pack/plugins/search_playground/tsconfig.type_check.json\r\n./x-pack/plugins/serverless_search/tsconfig.type_check.json\r\n./x-pack/plugins/stack_alerts/tsconfig.type_check.json\r\n./x-pack/plugins/stack_connectors/tsconfig.type_check.json\r\n./x-pack/plugins/task_manager/tsconfig.type_check.json\r\n./x-pack/plugins/transform/tsconfig.type_check.json\r\n./x-pack/solutions/observability/plugins/dataset_quality/tsconfig.type_check.json\r\n./x-pack/solutions/security/packages/security-solution/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./x-pack/solutions/security/plugins/ecs_data_quality_dashboard/tsconfig.type_check.json\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details >\r\n<summary>Updated relative paths</summary>\r\n\r\n```\r\nsrc/core/packages/analytics/browser-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/analytics/server-mocks/jest.config.js:12\r\nsrc/core/packages/analytics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/application/browser-mocks/jest.config.js:12\r\nsrc/core/packages/application/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/apps/browser-mocks/jest.config.js:12\r\nsrc/core/packages/apps/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/browser-mocks/jest.config.js:12\r\nsrc/core/packages/base/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/base/server-mocks/jest.config.js:12\r\nsrc/core/packages/base/server-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/browser-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/capabilities/server-mocks/jest.config.js:12\r\nsrc/core/packages/capabilities/server-mocks/tsconfig.json:2\r\nsrc/core/packages/chrome/browser-mocks/jest.config.js:12\r\nsrc/core/packages/chrome/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/deprecations/server-mocks/jest.config.js:12\r\nsrc/core/packages/deprecations/server-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/browser-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/doc-links/server-mocks/jest.config.js:12\r\nsrc/core/packages/doc-links/server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/client-server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/client-server-mocks/tsconfig.json:2\r\nsrc/core/packages/elasticsearch/server-mocks/jest.config.js:12\r\nsrc/core/packages/elasticsearch/server-mocks/tsconfig.json:2\r\nsrc/core/packages/environment/server-mocks/jest.config.js:12\r\nsrc/core/packages/environment/server-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/browser-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/execution-context/server-mocks/jest.config.js:12\r\nsrc/core/packages/execution-context/server-mocks/tsconfig.json:2\r\nsrc/core/packages/fatal-errors/browser-mocks/jest.config.js:12\r\nsrc/core/packages/fatal-errors/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/browser-mocks/jest.config.js:12\r\nsrc/core/packages/http/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/http/context-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/context-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/resources-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/resources-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/router-server-mocks/jest.config.js:12\r\nsrc/core/packages/http/router-server-mocks/tsconfig.json:2\r\nsrc/core/packages/http/server-mocks/jest.config.js:12\r\nsrc/core/packages/http/server-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/browser-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/i18n/server-mocks/jest.config.js:12\r\nsrc/core/packages/i18n/server-mocks/tsconfig.json:2\r\nsrc/core/packages/injected-metadata/browser-mocks/jest.config.js:12\r\nsrc/core/packages/injected-metadata/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/integrations/browser-mocks/jest.config.js:12\r\nsrc/core/packages/integrations/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/browser-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/lifecycle/server-mocks/jest.config.js:12\r\nsrc/core/packages/lifecycle/server-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/browser-mocks/jest.config.js:12\r\nsrc/core/packages/logging/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/logging/server-mocks/jest.config.js:12\r\nsrc/core/packages/logging/server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/collectors-server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/collectors-server-mocks/tsconfig.json:2\r\nsrc/core/packages/metrics/server-mocks/jest.config.js:12\r\nsrc/core/packages/metrics/server-mocks/tsconfig.json:2\r\nsrc/core/packages/node/server-mocks/jest.config.js:12\r\nsrc/core/packages/node/server-mocks/tsconfig.json:2\r\nsrc/core/packages/notifications/browser-mocks/jest.config.js:12\r\nsrc/core/packages/notifications/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/overlays/browser-mocks/jest.config.js:12\r\nsrc/core/packages/overlays/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/browser-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/plugins/server-mocks/jest.config.js:12\r\nsrc/core/packages/plugins/server-mocks/tsconfig.json:2\r\nsrc/core/packages/preboot/server-mocks/jest.config.js:12\r\nsrc/core/packages/preboot/server-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/browser-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/rendering/server-mocks/jest.config.js:12\r\nsrc/core/packages/rendering/server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/api-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/api-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/base-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/base-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/browser-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/import-export-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/import-export-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/migration-server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/migration-server-mocks/tsconfig.json:2\r\nsrc/core/packages/saved-objects/server-mocks/jest.config.js:12\r\nsrc/core/packages/saved-objects/server-mocks/tsconfig.json:2\r\nsrc/core/packages/status/server-mocks/jest.config.js:12\r\nsrc/core/packages/status/server-mocks/tsconfig.json:2\r\nsrc/core/packages/theme/browser-mocks/jest.config.js:12\r\nsrc/core/packages/theme/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/browser-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/browser-mocks/tsconfig.json:2\r\nsrc/core/packages/ui-settings/server-mocks/jest.config.js:12\r\nsrc/core/packages/ui-settings/server-mocks/tsconfig.json:2\r\nsrc/core/packages/usage-data/server-mocks/jest.config.js:12\r\nsrc/core/packages/usage-data/server-mocks/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-kbn-server/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-kbn-server/tsconfig.json:2\r\nsrc/dev/packages/core-test-helpers-model-versions/jest.config.js:12\r\nsrc/dev/packages/core-test-helpers-model-versions/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Alejandro Fernández Haro <afharo@gmail.com>","sha":"4a00449bdcd699f89294536a86dffcbeab4daf53"}}]}] BACKPORT--> |
||
|
cb595efb21
|
[8.x] [Security Solution] [AI Assistant] security assistant content references (#206683) (#208666)
# Backport This will backport the following commits from `main` to `8.x`: - [[Security Solution] [AI Assistant] security assistant content references (#206683)](https://github.com/elastic/kibana/pull/206683) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Kenneth Kreindler","email":"42113355+KDKHD@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-29T01:47:59Z","message":"[Security Solution] [AI Assistant] security assistant content references (#206683)\n\n> [!note]\r\n> Planning to merge before the 9.0 feature freeze.\r\nDocumentation update issue:\r\nhttps://github.com/elastic/security-docs/issues/6473\r\n\r\n> [!tip] \r\n> ### Tip for the reviewer\r\n> As a starting point to review this PR I would suggest reading the\r\nsection \"How does it work (on a high level)\" and viewing the hyperlinked\r\ncode. The linked code covers the main concepts of this feature and the\r\nmajority of the remaining changes in the PR are related to API schema\r\nupdates and tests.\r\n\r\n## Summary\r\n\r\nThis PR adds citations to the security AI assistant. Citations are\r\nproduced when tools are used and they are displayed in the LLM response\r\nas numbered superscript elements. A label appears when the user hovers\r\nover the numbered elements and clicking on the label opens a new tab\r\nthat displays the cited data.\r\n\r\n## How to test:\r\n1. Enables the feature flags:\r\n- Set value to `true`\r\n[here](https://github.com/elastic/kibana/pull/206683/files#diff-f55be7c50853801c3933b48064ab9cbf0356e2941cd97c4c365be7a6ded9bffdR125)\r\n2. Populate the security knowledge base with some information (e.g. a\r\ndocument, an index, product documentation, the global threat report,\r\netc...).\r\n3. Open the security assistant\r\n4. Ask it the following questions about data in the knowledge base:\r\n- What is an elastic search cold tier? - Make sure product docs are\r\ninstalled\r\n - What topics are covered in the security lab content?\r\n - Ask it a question about one of your knowledge base documents.\r\n- Which platform did my most recent alert happen on? - Make sure you\r\nhave a recent alert\r\n\r\n## How does it work (on a high level)?\r\n\r\nCitations are stored inside the\r\n[ContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-baf03ce192db4f13999748a38b4d920428358a4ffc62527a1d6ac0d9b234f306R17)\r\nobject. When tools are called, the tools [add citations to the\r\nContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R97-R99)\r\nand pass the Id of the [ContentReferences back to the\r\nLLM](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R102)\r\nalong side the result of the tool. The LLM can then use those\r\ncontentReference IDs in its response by forming a response like:\r\n```\r\nThe sky is blue {reference(12345)}\r\n```\r\nThe web client [parses out the\r\ncontentReference](https://github.com/elastic/kibana/pull/206683/files#diff-3a5c8305ac899a9e78903b0b60141dd997ba61e87342de2b9ec377165d99cfe6R23)\r\n(`{reference(12345)}`) from the assistant message and[ replaces it with\r\nthe citation react\r\ncomponent](https://github.com/elastic/kibana/pull/206683/files#diff-db928fb87a862e3ebf7247baefc418de539f9c0f3fc5134a2ef56f921a52bdcbR125-R129).\r\n\r\n### Tools that are cited:\r\n\r\nInclude citations for the following tools:\r\nalert_counts_tool -> cites to alerts page\r\nknowledge_base_retrieval_tool -> cites knowledge base management page\r\nwith specific entry pre-filtered\r\nopen_and_acknowledged_alerts_tool -> cites to specific alert\r\nsecurity_labs_tool -> cites knowledge base management page with specific\r\nentry pre-filtered\r\nknowledge_base indices -> opens ESQL view selecting the particular\r\ndocument used\r\nproduct_documentation -> cites documentation\r\n\r\n### Endpoints impacted\r\n- POST\r\n/internal/elastic_assistant/actions/connector/{connectorId}/_execute\r\n- POST /api/security_ai_assistant/chat/complete\r\n- GET /api/security_ai_assistant/current_user/conversations/_find\r\n- GET /api/security_ai_assistant/current_user/conversations/:id\r\n- PUT /api/security_ai_assistant/current_user/conversations/{id}\r\n\r\n### Considerations:\r\n- One of the main objectives of this feature was to produce in-text\r\ncitations to create a great user experience. Multiple approaches were\r\ntested to do this reliably. Attempts were made to make the LLM return\r\nstructured JSON containing the citations however this was unreliable\r\nwith smaller models. Generation post-processing (issuing an additional\r\nLLM call to annotate the response with citations) was also explored\r\nhowever this also had limitations as the second LLM call would not\r\ncontain enough contextual information to create the citations reliably.\r\nEventually, the approach described in the section above was used\r\nalongside few shot promoting.\r\n- Instead of using the ContentReferencesStore to store citations, the\r\nlangGraph state could be used to save the citations. I looked at doing\r\nthis but currently, there are a few blockers in the langgraph API the\r\nprevent this.\r\n- Lang graph must be updated to @langchain/langgraph>=0.2.31 to get\r\naccess to the Command type so that tools can update the graph state.\r\n- It seems that DynamicStructuredTools do not support the Command type\r\nyet. This is something that we can clarify with the langchain team.\r\nOnce these blockers have been addressed, ContentReferencesStore could\r\neasily be refactored to the graph state.\r\n- The feature has been put behind a feature flag so we can test during\r\nthe feature freeze and sync the release of the documentation update. The\r\nonly thing that is not behind a feature flag is the new anonymization\r\nbutton in the settings menu (don't think it is necessary and it means a\r\nlot more code changes are required).\r\n\r\nOn few occasions, you can nudge the LLM a bit more to include citations\r\nby appending \"Include citations\" to your message.\r\n\r\n\r\n\r\n\r\n\r\nFurthermore, the settings menu has been updated to include anonymized\r\nvalues and citation toggles:\r\n\r\n\r\n\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [X] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n- [x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [X] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [X] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [x] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [X] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [x] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ] [See some risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n- [ ] ...\r\n\r\n\r\n## Release note\r\n\r\nAdds in-text citations to security solution AI assistant responses.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>","sha":"5f888d00802ea84767fb801ca7fde4faabf412fb","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","release_note:feature","Team:Security Generative AI","backport:version","v8.18.0"],"title":"[Security Solution] [AI Assistant] security assistant content references","number":206683,"url":"https://github.com/elastic/kibana/pull/206683","mergeCommit":{"message":"[Security Solution] [AI Assistant] security assistant content references (#206683)\n\n> [!note]\r\n> Planning to merge before the 9.0 feature freeze.\r\nDocumentation update issue:\r\nhttps://github.com/elastic/security-docs/issues/6473\r\n\r\n> [!tip] \r\n> ### Tip for the reviewer\r\n> As a starting point to review this PR I would suggest reading the\r\nsection \"How does it work (on a high level)\" and viewing the hyperlinked\r\ncode. The linked code covers the main concepts of this feature and the\r\nmajority of the remaining changes in the PR are related to API schema\r\nupdates and tests.\r\n\r\n## Summary\r\n\r\nThis PR adds citations to the security AI assistant. Citations are\r\nproduced when tools are used and they are displayed in the LLM response\r\nas numbered superscript elements. A label appears when the user hovers\r\nover the numbered elements and clicking on the label opens a new tab\r\nthat displays the cited data.\r\n\r\n## How to test:\r\n1. Enables the feature flags:\r\n- Set value to `true`\r\n[here](https://github.com/elastic/kibana/pull/206683/files#diff-f55be7c50853801c3933b48064ab9cbf0356e2941cd97c4c365be7a6ded9bffdR125)\r\n2. Populate the security knowledge base with some information (e.g. a\r\ndocument, an index, product documentation, the global threat report,\r\netc...).\r\n3. Open the security assistant\r\n4. Ask it the following questions about data in the knowledge base:\r\n- What is an elastic search cold tier? - Make sure product docs are\r\ninstalled\r\n - What topics are covered in the security lab content?\r\n - Ask it a question about one of your knowledge base documents.\r\n- Which platform did my most recent alert happen on? - Make sure you\r\nhave a recent alert\r\n\r\n## How does it work (on a high level)?\r\n\r\nCitations are stored inside the\r\n[ContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-baf03ce192db4f13999748a38b4d920428358a4ffc62527a1d6ac0d9b234f306R17)\r\nobject. When tools are called, the tools [add citations to the\r\nContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R97-R99)\r\nand pass the Id of the [ContentReferences back to the\r\nLLM](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R102)\r\nalong side the result of the tool. The LLM can then use those\r\ncontentReference IDs in its response by forming a response like:\r\n```\r\nThe sky is blue {reference(12345)}\r\n```\r\nThe web client [parses out the\r\ncontentReference](https://github.com/elastic/kibana/pull/206683/files#diff-3a5c8305ac899a9e78903b0b60141dd997ba61e87342de2b9ec377165d99cfe6R23)\r\n(`{reference(12345)}`) from the assistant message and[ replaces it with\r\nthe citation react\r\ncomponent](https://github.com/elastic/kibana/pull/206683/files#diff-db928fb87a862e3ebf7247baefc418de539f9c0f3fc5134a2ef56f921a52bdcbR125-R129).\r\n\r\n### Tools that are cited:\r\n\r\nInclude citations for the following tools:\r\nalert_counts_tool -> cites to alerts page\r\nknowledge_base_retrieval_tool -> cites knowledge base management page\r\nwith specific entry pre-filtered\r\nopen_and_acknowledged_alerts_tool -> cites to specific alert\r\nsecurity_labs_tool -> cites knowledge base management page with specific\r\nentry pre-filtered\r\nknowledge_base indices -> opens ESQL view selecting the particular\r\ndocument used\r\nproduct_documentation -> cites documentation\r\n\r\n### Endpoints impacted\r\n- POST\r\n/internal/elastic_assistant/actions/connector/{connectorId}/_execute\r\n- POST /api/security_ai_assistant/chat/complete\r\n- GET /api/security_ai_assistant/current_user/conversations/_find\r\n- GET /api/security_ai_assistant/current_user/conversations/:id\r\n- PUT /api/security_ai_assistant/current_user/conversations/{id}\r\n\r\n### Considerations:\r\n- One of the main objectives of this feature was to produce in-text\r\ncitations to create a great user experience. Multiple approaches were\r\ntested to do this reliably. Attempts were made to make the LLM return\r\nstructured JSON containing the citations however this was unreliable\r\nwith smaller models. Generation post-processing (issuing an additional\r\nLLM call to annotate the response with citations) was also explored\r\nhowever this also had limitations as the second LLM call would not\r\ncontain enough contextual information to create the citations reliably.\r\nEventually, the approach described in the section above was used\r\nalongside few shot promoting.\r\n- Instead of using the ContentReferencesStore to store citations, the\r\nlangGraph state could be used to save the citations. I looked at doing\r\nthis but currently, there are a few blockers in the langgraph API the\r\nprevent this.\r\n- Lang graph must be updated to @langchain/langgraph>=0.2.31 to get\r\naccess to the Command type so that tools can update the graph state.\r\n- It seems that DynamicStructuredTools do not support the Command type\r\nyet. This is something that we can clarify with the langchain team.\r\nOnce these blockers have been addressed, ContentReferencesStore could\r\neasily be refactored to the graph state.\r\n- The feature has been put behind a feature flag so we can test during\r\nthe feature freeze and sync the release of the documentation update. The\r\nonly thing that is not behind a feature flag is the new anonymization\r\nbutton in the settings menu (don't think it is necessary and it means a\r\nlot more code changes are required).\r\n\r\nOn few occasions, you can nudge the LLM a bit more to include citations\r\nby appending \"Include citations\" to your message.\r\n\r\n\r\n\r\n\r\n\r\nFurthermore, the settings menu has been updated to include anonymized\r\nvalues and citation toggles:\r\n\r\n\r\n\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [X] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n- [x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [X] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [X] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [x] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [X] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [x] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ] [See some risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n- [ ] ...\r\n\r\n\r\n## Release note\r\n\r\nAdds in-text citations to security solution AI assistant responses.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>","sha":"5f888d00802ea84767fb801ca7fde4faabf412fb"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206683","number":206683,"mergeCommit":{"message":"[Security Solution] [AI Assistant] security assistant content references (#206683)\n\n> [!note]\r\n> Planning to merge before the 9.0 feature freeze.\r\nDocumentation update issue:\r\nhttps://github.com/elastic/security-docs/issues/6473\r\n\r\n> [!tip] \r\n> ### Tip for the reviewer\r\n> As a starting point to review this PR I would suggest reading the\r\nsection \"How does it work (on a high level)\" and viewing the hyperlinked\r\ncode. The linked code covers the main concepts of this feature and the\r\nmajority of the remaining changes in the PR are related to API schema\r\nupdates and tests.\r\n\r\n## Summary\r\n\r\nThis PR adds citations to the security AI assistant. Citations are\r\nproduced when tools are used and they are displayed in the LLM response\r\nas numbered superscript elements. A label appears when the user hovers\r\nover the numbered elements and clicking on the label opens a new tab\r\nthat displays the cited data.\r\n\r\n## How to test:\r\n1. Enables the feature flags:\r\n- Set value to `true`\r\n[here](https://github.com/elastic/kibana/pull/206683/files#diff-f55be7c50853801c3933b48064ab9cbf0356e2941cd97c4c365be7a6ded9bffdR125)\r\n2. Populate the security knowledge base with some information (e.g. a\r\ndocument, an index, product documentation, the global threat report,\r\netc...).\r\n3. Open the security assistant\r\n4. Ask it the following questions about data in the knowledge base:\r\n- What is an elastic search cold tier? - Make sure product docs are\r\ninstalled\r\n - What topics are covered in the security lab content?\r\n - Ask it a question about one of your knowledge base documents.\r\n- Which platform did my most recent alert happen on? - Make sure you\r\nhave a recent alert\r\n\r\n## How does it work (on a high level)?\r\n\r\nCitations are stored inside the\r\n[ContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-baf03ce192db4f13999748a38b4d920428358a4ffc62527a1d6ac0d9b234f306R17)\r\nobject. When tools are called, the tools [add citations to the\r\nContentReferencesStore](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R97-R99)\r\nand pass the Id of the [ContentReferences back to the\r\nLLM](https://github.com/elastic/kibana/pull/206683/files#diff-5a333fdd9bf864dced06500263577e495c95c9b32c7dae9074090775df542d22R102)\r\nalong side the result of the tool. The LLM can then use those\r\ncontentReference IDs in its response by forming a response like:\r\n```\r\nThe sky is blue {reference(12345)}\r\n```\r\nThe web client [parses out the\r\ncontentReference](https://github.com/elastic/kibana/pull/206683/files#diff-3a5c8305ac899a9e78903b0b60141dd997ba61e87342de2b9ec377165d99cfe6R23)\r\n(`{reference(12345)}`) from the assistant message and[ replaces it with\r\nthe citation react\r\ncomponent](https://github.com/elastic/kibana/pull/206683/files#diff-db928fb87a862e3ebf7247baefc418de539f9c0f3fc5134a2ef56f921a52bdcbR125-R129).\r\n\r\n### Tools that are cited:\r\n\r\nInclude citations for the following tools:\r\nalert_counts_tool -> cites to alerts page\r\nknowledge_base_retrieval_tool -> cites knowledge base management page\r\nwith specific entry pre-filtered\r\nopen_and_acknowledged_alerts_tool -> cites to specific alert\r\nsecurity_labs_tool -> cites knowledge base management page with specific\r\nentry pre-filtered\r\nknowledge_base indices -> opens ESQL view selecting the particular\r\ndocument used\r\nproduct_documentation -> cites documentation\r\n\r\n### Endpoints impacted\r\n- POST\r\n/internal/elastic_assistant/actions/connector/{connectorId}/_execute\r\n- POST /api/security_ai_assistant/chat/complete\r\n- GET /api/security_ai_assistant/current_user/conversations/_find\r\n- GET /api/security_ai_assistant/current_user/conversations/:id\r\n- PUT /api/security_ai_assistant/current_user/conversations/{id}\r\n\r\n### Considerations:\r\n- One of the main objectives of this feature was to produce in-text\r\ncitations to create a great user experience. Multiple approaches were\r\ntested to do this reliably. Attempts were made to make the LLM return\r\nstructured JSON containing the citations however this was unreliable\r\nwith smaller models. Generation post-processing (issuing an additional\r\nLLM call to annotate the response with citations) was also explored\r\nhowever this also had limitations as the second LLM call would not\r\ncontain enough contextual information to create the citations reliably.\r\nEventually, the approach described in the section above was used\r\nalongside few shot promoting.\r\n- Instead of using the ContentReferencesStore to store citations, the\r\nlangGraph state could be used to save the citations. I looked at doing\r\nthis but currently, there are a few blockers in the langgraph API the\r\nprevent this.\r\n- Lang graph must be updated to @langchain/langgraph>=0.2.31 to get\r\naccess to the Command type so that tools can update the graph state.\r\n- It seems that DynamicStructuredTools do not support the Command type\r\nyet. This is something that we can clarify with the langchain team.\r\nOnce these blockers have been addressed, ContentReferencesStore could\r\neasily be refactored to the graph state.\r\n- The feature has been put behind a feature flag so we can test during\r\nthe feature freeze and sync the release of the documentation update. The\r\nonly thing that is not behind a feature flag is the new anonymization\r\nbutton in the settings menu (don't think it is necessary and it means a\r\nlot more code changes are required).\r\n\r\nOn few occasions, you can nudge the LLM a bit more to include citations\r\nby appending \"Include citations\" to your message.\r\n\r\n\r\n\r\n\r\n\r\nFurthermore, the settings menu has been updated to include anonymized\r\nvalues and citation toggles:\r\n\r\n\r\n\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [X] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n- [x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [X] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [X] If a plugin configuration key changed, check if it needs to be\r\nallowlisted in the cloud and added to the [docker\r\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\r\n- [x] This was checked for breaking HTTP API changes, and any breaking\r\nchanges have been approved by the breaking-change committee. The\r\n`release_note:breaking` label should be applied in these situations.\r\n- [X] [Flaky Test\r\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\r\nused on any tests changed\r\n- [x] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n### Identify risks\r\n\r\nDoes this PR introduce any risks? For example, consider risks like hard\r\nto test bugs, performance regression, potential of data loss.\r\n\r\nDescribe the risk, its severity, and mitigation for each identified\r\nrisk. Invite stakeholders and evaluate how to proceed before merging.\r\n\r\n- [ ] [See some risk\r\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\r\n- [ ] ...\r\n\r\n\r\n## Release note\r\n\r\nAdds in-text citations to security solution AI assistant responses.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>\r\nCo-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>","sha":"5f888d00802ea84767fb801ca7fde4faabf412fb"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com> |
||
|
e82be8cbf3
|
[8.x] [Security Assistant] Add Knowledge Base entries API (#206407) (#208610)
# Backport This will backport the following commits from `main` to `8.x`: - [[Security Assistant] Add Knowledge Base entries API (#206407)](https://github.com/elastic/kibana/pull/206407) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Patryk Kopyciński","email":"contact@patrykkopycinski.com"},"sourceCommit":{"committedDate":"2025-01-28T19:19:55Z","message":"[Security Assistant] Add Knowledge Base entries API (#206407)\n\n## Summary\r\n\r\nExpose Knowledge Base entries API\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"b128cee4ee7ccc367e8acf159dbf58a75f081867","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","Feature:Security Assistant","Team:Security Generative AI","backport:version","v8.18.0"],"title":"[Security Assistant] Add Knowledge Base entries API","number":206407,"url":"https://github.com/elastic/kibana/pull/206407","mergeCommit":{"message":"[Security Assistant] Add Knowledge Base entries API (#206407)\n\n## Summary\r\n\r\nExpose Knowledge Base entries API\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"b128cee4ee7ccc367e8acf159dbf58a75f081867"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206407","number":206407,"mergeCommit":{"message":"[Security Assistant] Add Knowledge Base entries API (#206407)\n\n## Summary\r\n\r\nExpose Knowledge Base entries API\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"b128cee4ee7ccc367e8acf159dbf58a75f081867"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com> |
||
|
8d79524ba6
|
[8.x] [Security Solution][Detection Engine] adds preview logged requests for new terms, threshold, query, ML rule types (#203320) (#208581)
# Backport This will backport the following commits from `main` to `8.x`: - [[Security Solution][Detection Engine] adds preview logged requests for new terms, threshold, query, ML rule types (#203320)](https://github.com/elastic/kibana/pull/203320) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Vitalii Dmyterko","email":"92328789+vitaliidm@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-28T16:50:00Z","message":"[Security Solution][Detection Engine] adds preview logged requests for new terms, threshold, query, ML rule types (#203320)\n\n## Summary\r\n\r\n- partially addresses https://github.com/elastic/kibana/issues/202545\r\n(except of IM rule type)\r\n- extends logged requests preview for:\r\n - [x] New terms\r\n - [x] Query\r\n - [x] ML\r\n - [x] Threshold\r\n- For Threshold, Query, New terms rule type introduced Page view, where\r\neach loop of rule execution is presented as a separate page\r\n- Only first 2 search queries requests of each type are logged for\r\nperformance reasons(rule can have very a large and multiple requests).\r\nThat's why property **request** was made not mandatory in\r\n`rule_preview.schema.yaml`\r\n\r\n\r\n### DEMO\r\n\r\n\r\n\r\nhttps://github.com/user-attachments/assets/abfbd3ff-d06c-4892-b805-0f05084042ed\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"0f996c36151d2128f56246cb69d9315c8ea6d085","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team:Detections and Resp","Team: SecuritySolution","release_note:feature","Team:Detection Engine","backport:version","v8.18.0"],"title":"[Security Solution][Detection Engine] adds preview logged requests for new terms, threshold, query, ML rule types","number":203320,"url":"https://github.com/elastic/kibana/pull/203320","mergeCommit":{"message":"[Security Solution][Detection Engine] adds preview logged requests for new terms, threshold, query, ML rule types (#203320)\n\n## Summary\r\n\r\n- partially addresses https://github.com/elastic/kibana/issues/202545\r\n(except of IM rule type)\r\n- extends logged requests preview for:\r\n - [x] New terms\r\n - [x] Query\r\n - [x] ML\r\n - [x] Threshold\r\n- For Threshold, Query, New terms rule type introduced Page view, where\r\neach loop of rule execution is presented as a separate page\r\n- Only first 2 search queries requests of each type are logged for\r\nperformance reasons(rule can have very a large and multiple requests).\r\nThat's why property **request** was made not mandatory in\r\n`rule_preview.schema.yaml`\r\n\r\n\r\n### DEMO\r\n\r\n\r\n\r\nhttps://github.com/user-attachments/assets/abfbd3ff-d06c-4892-b805-0f05084042ed\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"0f996c36151d2128f56246cb69d9315c8ea6d085"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/203320","number":203320,"mergeCommit":{"message":"[Security Solution][Detection Engine] adds preview logged requests for new terms, threshold, query, ML rule types (#203320)\n\n## Summary\r\n\r\n- partially addresses https://github.com/elastic/kibana/issues/202545\r\n(except of IM rule type)\r\n- extends logged requests preview for:\r\n - [x] New terms\r\n - [x] Query\r\n - [x] ML\r\n - [x] Threshold\r\n- For Threshold, Query, New terms rule type introduced Page view, where\r\neach loop of rule execution is presented as a separate page\r\n- Only first 2 search queries requests of each type are logged for\r\nperformance reasons(rule can have very a large and multiple requests).\r\nThat's why property **request** was made not mandatory in\r\n`rule_preview.schema.yaml`\r\n\r\n\r\n### DEMO\r\n\r\n\r\n\r\nhttps://github.com/user-attachments/assets/abfbd3ff-d06c-4892-b805-0f05084042ed\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"0f996c36151d2128f56246cb69d9315c8ea6d085"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Vitalii Dmyterko <92328789+vitaliidm@users.noreply.github.com> |
||
|
1d660bd2e3
|
[8.x] [SecuritySolution] Update Entity Store Dashboard to prompt for Service Entity Type (#207336) (#208319)
# Backport This will backport the following commits from `main` to `8.x`: - [[SecuritySolution] Update Entity Store Dashboard to prompt for Service Entity Type (#207336)](https://github.com/elastic/kibana/pull/207336) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Pablo Machado","email":"pablo.nevesmachado@elastic.co"},"sourceCommit":{"committedDate":"2025-01-23T10:46:46Z","message":"[SecuritySolution] Update Entity Store Dashboard to prompt for Service Entity Type (#207336)\n\n## Summary\n\n* Display a callout to install uninstalled entity types\n* It will be displayed when the entity store is running, but some\navailable entity types are not installed\n* Add `entityTypes` param to the init entity store API\n* Enable `serviceEntityStoreEnabled` flag by default\n### Checklist\n\n\n### How to test it?\n* Disable the experimental flag on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n* Open `Manage/Entity Store/Engine Status`\n* Verify that the service entity store is NOT installed\n* Reenable the flag on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n* Open the Entity Dashboard page\n* It should display a callout to install more entity types\n* Click \"enable\"\n* It should install the service entity store\n* Open `Manage/Entity Store/Engine Status`\n* Verify that the service entity store IS installed\n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"5c59f3bdcdd9524667047ed546c6370015ed96d2","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team: SecuritySolution","release_note:feature","Theme: entity_analytics","Feature:Entity Analytics","Team:Entity Analytics","backport:version","v8.18.0"],"title":"[SecuritySolution] Update Entity Store Dashboard to prompt for Service Entity Type ","number":207336,"url":"https://github.com/elastic/kibana/pull/207336","mergeCommit":{"message":"[SecuritySolution] Update Entity Store Dashboard to prompt for Service Entity Type (#207336)\n\n## Summary\n\n* Display a callout to install uninstalled entity types\n* It will be displayed when the entity store is running, but some\navailable entity types are not installed\n* Add `entityTypes` param to the init entity store API\n* Enable `serviceEntityStoreEnabled` flag by default\n### Checklist\n\n\n### How to test it?\n* Disable the experimental flag on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n* Open `Manage/Entity Store/Engine Status`\n* Verify that the service entity store is NOT installed\n* Reenable the flag on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n* Open the Entity Dashboard page\n* It should display a callout to install more entity types\n* Click \"enable\"\n* It should install the service entity store\n* Open `Manage/Entity Store/Engine Status`\n* Verify that the service entity store IS installed\n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"5c59f3bdcdd9524667047ed546c6370015ed96d2"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207336","number":207336,"mergeCommit":{"message":"[SecuritySolution] Update Entity Store Dashboard to prompt for Service Entity Type (#207336)\n\n## Summary\n\n* Display a callout to install uninstalled entity types\n* It will be displayed when the entity store is running, but some\navailable entity types are not installed\n* Add `entityTypes` param to the init entity store API\n* Enable `serviceEntityStoreEnabled` flag by default\n### Checklist\n\n\n### How to test it?\n* Disable the experimental flag on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n* Open `Manage/Entity Store/Engine Status`\n* Verify that the service entity store is NOT installed\n* Reenable the flag on\n`x-pack/solutions/security/plugins/security_solution/common/experimental_features.ts`\n* Open the Entity Dashboard page\n* It should display a callout to install more entity types\n* Click \"enable\"\n* It should install the service entity store\n* Open `Manage/Entity Store/Engine Status`\n* Verify that the service entity store IS installed\n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"5c59f3bdcdd9524667047ed546c6370015ed96d2"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
6af68a205b
|
[8.x] [SecuritySolution] Add enrichPolicyExecutionInterval to entity enablement and init APIs (#207374) (#208223)
# Backport This will backport the following commits from `main` to `8.x`: - [[SecuritySolution] Add enrichPolicyExecutionInterval to entity enablement and init APIs (#207374)](https://github.com/elastic/kibana/pull/207374) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Pablo Machado","email":"pablo.nevesmachado@elastic.co"},"sourceCommit":{"committedDate":"2025-01-24T13:09:12Z","message":"[SecuritySolution] Add enrichPolicyExecutionInterval to entity enablement and init APIs (#207374)\n\n## Summary\n\nAdd `enrichPolicyExecutionInterval`param to entity enablement and init\nAPIs\n\n### How to test?\n* Start kibana\n* Call the entity store enablement API with a short value for\n`enrichPolicyExecutionInterval` param\n* Check in the logs if the enrichment process is running frequently\n* Clear the entity store\n* Call the entity store enablement API without\n`enrichPolicyExecutionInterval` param\n* Check in the logs if the enrichment process is running less frequently\n\n\n**Enable Entity store API call:**\n```\nPOST kbn:/api/entity_store/enable {\n \"enrichPolicyExecutionInterval\": \"10s\"\n}\n```\n\n**Init Entity store API call:**\n```\nPOST kbn:/api/entity_store/engines/user/init {\n \"enrichPolicyExecutionInterval\": \"10s\"\n}\n\n```\n\n**Enrich policy log message:**\n```\n │ info [o.e.x.e.EnrichPolicyRunner] [...] Policy [entity_store_field_retention_user_default_v1.0.0]: Running enrich policy\n```\n\n\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [ ] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [ ] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"1ca4d967d926a3e6295cb08dcd55dcf1adbd351c","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team: SecuritySolution","release_note:feature","Theme: entity_analytics","Feature:Entity Analytics","Team:Entity Analytics","backport:version","v8.18.0"],"title":"[SecuritySolution] Add enrichPolicyExecutionInterval to entity enablement and init APIs","number":207374,"url":"https://github.com/elastic/kibana/pull/207374","mergeCommit":{"message":"[SecuritySolution] Add enrichPolicyExecutionInterval to entity enablement and init APIs (#207374)\n\n## Summary\n\nAdd `enrichPolicyExecutionInterval`param to entity enablement and init\nAPIs\n\n### How to test?\n* Start kibana\n* Call the entity store enablement API with a short value for\n`enrichPolicyExecutionInterval` param\n* Check in the logs if the enrichment process is running frequently\n* Clear the entity store\n* Call the entity store enablement API without\n`enrichPolicyExecutionInterval` param\n* Check in the logs if the enrichment process is running less frequently\n\n\n**Enable Entity store API call:**\n```\nPOST kbn:/api/entity_store/enable {\n \"enrichPolicyExecutionInterval\": \"10s\"\n}\n```\n\n**Init Entity store API call:**\n```\nPOST kbn:/api/entity_store/engines/user/init {\n \"enrichPolicyExecutionInterval\": \"10s\"\n}\n\n```\n\n**Enrich policy log message:**\n```\n │ info [o.e.x.e.EnrichPolicyRunner] [...] Policy [entity_store_field_retention_user_default_v1.0.0]: Running enrich policy\n```\n\n\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [ ] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [ ] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"1ca4d967d926a3e6295cb08dcd55dcf1adbd351c"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207374","number":207374,"mergeCommit":{"message":"[SecuritySolution] Add enrichPolicyExecutionInterval to entity enablement and init APIs (#207374)\n\n## Summary\n\nAdd `enrichPolicyExecutionInterval`param to entity enablement and init\nAPIs\n\n### How to test?\n* Start kibana\n* Call the entity store enablement API with a short value for\n`enrichPolicyExecutionInterval` param\n* Check in the logs if the enrichment process is running frequently\n* Clear the entity store\n* Call the entity store enablement API without\n`enrichPolicyExecutionInterval` param\n* Check in the logs if the enrichment process is running less frequently\n\n\n**Enable Entity store API call:**\n```\nPOST kbn:/api/entity_store/enable {\n \"enrichPolicyExecutionInterval\": \"10s\"\n}\n```\n\n**Init Entity store API call:**\n```\nPOST kbn:/api/entity_store/engines/user/init {\n \"enrichPolicyExecutionInterval\": \"10s\"\n}\n\n```\n\n**Enrich policy log message:**\n```\n │ info [o.e.x.e.EnrichPolicyRunner] [...] Policy [entity_store_field_retention_user_default_v1.0.0]: Running enrich policy\n```\n\n\n\n\n### Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers should verify this PR satisfies this list as well.\n\n- [ ] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [ ] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"1ca4d967d926a3e6295cb08dcd55dcf1adbd351c"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
7a0a44e154
|
[8.x] [UII] Restrict non-local ES output types for agentless integrations and policies (#207296) (#208131)
# Backport This will backport the following commits from `main` to `8.x`: - [[UII] Restrict non-local ES output types for agentless integrations and policies (#207296)](https://github.com/elastic/kibana/pull/207296) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Jen Huang","email":"its.jenetic@gmail.com"},"sourceCommit":{"committedDate":"2025-01-24T00:32:42Z","message":"[UII] Restrict non-local ES output types for agentless integrations and policies (#207296)\n\n## Summary\r\n\r\nResolves #202090.\r\nIncidentally also fixes and unskips the failing test reported in\r\n#203346.\r\n\r\nThis PR makes it so that:\r\n\r\n- Agentless agent policies and package policies (those with\r\n`supports_agentless: true` set) cannot be directly set to use a\r\nnon-local ES output for integration data\r\n - This restriction applies to UI and API level\r\n- When a non-local ES output would be updated to be the global Fleet\r\ndefault integration data output, existing agentless policies without an\r\nexplicit output set will have their output directly set to the current\r\ndefault output ID\r\n- This is the same mechanism used today to ensure that Fleet Server and\r\nSynthetics integrations do not accidentally have their output set to\r\nnon-ES as well\r\n\r\n## Testing\r\n1. Apply\r\n[patch](https://gist.github.com/jen-huang/dfc3e02ceb63976ad54bd1f50c524cb4)\r\nto skip actual agentless creation\r\n2. Create different types of outputs in addition to default local ES\r\n3. Enable beta integrations\r\n4. Add an agentless integration, for example Box Connector, observe that\r\noutputs list only shows ES outputs:\r\n<img width=\"1422\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/72e43220-702f-4bb7-8e37-8be69aa4e6ea\"\r\n/>\r\n5. Switch to agent-based setup technology, observe that outputs list now\r\nshows all outputs\r\n6. Create the agentless integration, go to its agent policy\r\n7. Observe that outputs list only enables ES outputs:\r\n<img width=\"1425\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3bc5985f-07bf-407a-8b62-4248b28904a5\"\r\n/>\r\n8. Play around with setting global default outputs, it should be not\r\npossible to get into a state where an agentless policy is using a\r\nnon-local ES output\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [x] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"d4cc532919d97d6c36e0b12bdf08f5b0cd417cf5","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Fleet","v9.0.0","backport:prev-minor"],"title":"[UII] Restrict non-local ES output types for agentless integrations and policies","number":207296,"url":"https://github.com/elastic/kibana/pull/207296","mergeCommit":{"message":"[UII] Restrict non-local ES output types for agentless integrations and policies (#207296)\n\n## Summary\r\n\r\nResolves #202090.\r\nIncidentally also fixes and unskips the failing test reported in\r\n#203346.\r\n\r\nThis PR makes it so that:\r\n\r\n- Agentless agent policies and package policies (those with\r\n`supports_agentless: true` set) cannot be directly set to use a\r\nnon-local ES output for integration data\r\n - This restriction applies to UI and API level\r\n- When a non-local ES output would be updated to be the global Fleet\r\ndefault integration data output, existing agentless policies without an\r\nexplicit output set will have their output directly set to the current\r\ndefault output ID\r\n- This is the same mechanism used today to ensure that Fleet Server and\r\nSynthetics integrations do not accidentally have their output set to\r\nnon-ES as well\r\n\r\n## Testing\r\n1. Apply\r\n[patch](https://gist.github.com/jen-huang/dfc3e02ceb63976ad54bd1f50c524cb4)\r\nto skip actual agentless creation\r\n2. Create different types of outputs in addition to default local ES\r\n3. Enable beta integrations\r\n4. Add an agentless integration, for example Box Connector, observe that\r\noutputs list only shows ES outputs:\r\n<img width=\"1422\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/72e43220-702f-4bb7-8e37-8be69aa4e6ea\"\r\n/>\r\n5. Switch to agent-based setup technology, observe that outputs list now\r\nshows all outputs\r\n6. Create the agentless integration, go to its agent policy\r\n7. Observe that outputs list only enables ES outputs:\r\n<img width=\"1425\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3bc5985f-07bf-407a-8b62-4248b28904a5\"\r\n/>\r\n8. Play around with setting global default outputs, it should be not\r\npossible to get into a state where an agentless policy is using a\r\nnon-local ES output\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [x] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"d4cc532919d97d6c36e0b12bdf08f5b0cd417cf5"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207296","number":207296,"mergeCommit":{"message":"[UII] Restrict non-local ES output types for agentless integrations and policies (#207296)\n\n## Summary\r\n\r\nResolves #202090.\r\nIncidentally also fixes and unskips the failing test reported in\r\n#203346.\r\n\r\nThis PR makes it so that:\r\n\r\n- Agentless agent policies and package policies (those with\r\n`supports_agentless: true` set) cannot be directly set to use a\r\nnon-local ES output for integration data\r\n - This restriction applies to UI and API level\r\n- When a non-local ES output would be updated to be the global Fleet\r\ndefault integration data output, existing agentless policies without an\r\nexplicit output set will have their output directly set to the current\r\ndefault output ID\r\n- This is the same mechanism used today to ensure that Fleet Server and\r\nSynthetics integrations do not accidentally have their output set to\r\nnon-ES as well\r\n\r\n## Testing\r\n1. Apply\r\n[patch](https://gist.github.com/jen-huang/dfc3e02ceb63976ad54bd1f50c524cb4)\r\nto skip actual agentless creation\r\n2. Create different types of outputs in addition to default local ES\r\n3. Enable beta integrations\r\n4. Add an agentless integration, for example Box Connector, observe that\r\noutputs list only shows ES outputs:\r\n<img width=\"1422\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/72e43220-702f-4bb7-8e37-8be69aa4e6ea\"\r\n/>\r\n5. Switch to agent-based setup technology, observe that outputs list now\r\nshows all outputs\r\n6. Create the agentless integration, go to its agent policy\r\n7. Observe that outputs list only enables ES outputs:\r\n<img width=\"1425\" alt=\"image\"\r\nsrc=\"https://github.com/user-attachments/assets/3bc5985f-07bf-407a-8b62-4248b28904a5\"\r\n/>\r\n8. Play around with setting global default outputs, it should be not\r\npossible to get into a state where an agentless policy is using a\r\nnon-local ES output\r\n\r\n### Checklist\r\n\r\nCheck the PR satisfies following conditions. \r\n\r\nReviewers should verify this PR satisfies this list as well.\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [x] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"d4cc532919d97d6c36e0b12bdf08f5b0cd417cf5"}}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
e177f1576e
|
[8.x] Update dependency @redocly/cli to ^1.27.2 (main) (#207527) (#207948)
# Backport This will backport the following commits from `main` to `8.x`: - [Update dependency @redocly/cli to ^1.27.2 (main) (#207527)](https://github.com/elastic/kibana/pull/207527) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"elastic-renovate-prod[bot]","email":"174716857+elastic-renovate-prod[bot]@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-22T22:48:54Z","message":"Update dependency @redocly/cli to ^1.27.2 (main) (#207527)","sha":"c6e9821bb8ec6a5705f765b5734cdb7c2a429267","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","backport:prev-minor"],"title":"Update dependency @redocly/cli to ^1.27.2 (main)","number":207527,"url":"https://github.com/elastic/kibana/pull/207527","mergeCommit":{"message":"Update dependency @redocly/cli to ^1.27.2 (main) (#207527)","sha":"c6e9821bb8ec6a5705f765b5734cdb7c2a429267"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/207527","number":207527,"mergeCommit":{"message":"Update dependency @redocly/cli to ^1.27.2 (main) (#207527)","sha":"c6e9821bb8ec6a5705f765b5734cdb7c2a429267"}}]}] BACKPORT--> Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> |
||
|
747e766250
|
[8.x] [Fleet] Send Agentless API resources (#206042) (#207701)
# Backport This will backport the following commits from `main` to `8.x`: - [[Fleet] Send Agentless API resources (#206042)](https://github.com/elastic/kibana/pull/206042) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Amir Ben Nun","email":"34831306+amirbenun@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-19T10:52:10Z","message":"[Fleet] Send Agentless API resources (#206042)\n\n## Summary\n\nConclude agentless policy resources and send them to the Agentless API\non the creation request.\n- Resolves: https://github.com/elastic/kibana/issues/203371","sha":"fec5d743984b384d48ceb077e1f840cb98b5a16e","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport missing","Team:Fleet","v9.0.0","Team:Cloud Security","backport:prev-minor","ci:project-deploy-security"],"title":"[Fleet] Send Agentless API resources","number":206042,"url":"https://github.com/elastic/kibana/pull/206042","mergeCommit":{"message":"[Fleet] Send Agentless API resources (#206042)\n\n## Summary\n\nConclude agentless policy resources and send them to the Agentless API\non the creation request.\n- Resolves: https://github.com/elastic/kibana/issues/203371","sha":"fec5d743984b384d48ceb077e1f840cb98b5a16e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206042","number":206042,"mergeCommit":{"message":"[Fleet] Send Agentless API resources (#206042)\n\n## Summary\n\nConclude agentless policy resources and send them to the Agentless API\non the creation request.\n- Resolves: https://github.com/elastic/kibana/issues/203371","sha":"fec5d743984b384d48ceb077e1f840cb98b5a16e"}}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
113a3cfd15
|
[8.x] [Fleet] Fix APM to support space aware Fleet (#206964) (#207357)
# Backport This will backport the following commits from `main` to `8.x`: - [[Fleet] Fix APM to support space aware Fleet (#206964)](https://github.com/elastic/kibana/pull/206964) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Nicolas Chaulet","email":"nicolas.chaulet@elastic.co"},"sourceCommit":{"committedDate":"2025-01-21T13:10:56Z","message":"[Fleet] Fix APM to support space aware Fleet (#206964)","sha":"26f4900bf067378d411d8607e2f93f85b141b295","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:APM","release_note:skip","Team:Fleet","v9.0.0","backport:prev-minor","Team:obs-ux-infra_services"],"title":"[Fleet] Fix APM to support space aware Fleet","number":206964,"url":"https://github.com/elastic/kibana/pull/206964","mergeCommit":{"message":"[Fleet] Fix APM to support space aware Fleet (#206964)","sha":"26f4900bf067378d411d8607e2f93f85b141b295"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206964","number":206964,"mergeCommit":{"message":"[Fleet] Fix APM to support space aware Fleet (#206964)","sha":"26f4900bf067378d411d8607e2f93f85b141b295"}}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
e6b7b5c9e9
|
[8.x] [SecuritySolution] Add Service entity type to Entity Analytics (#204437) (#206725)
# Backport This will backport the following commits from `main` to `8.x`: - [[SecuritySolution] Add Service entity type to Entity Analytics (#204437)](https://github.com/elastic/kibana/pull/204437) <!--- Backport version: 9.6.4 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Pablo Machado","email":"pablo.nevesmachado@elastic.co"},"sourceCommit":{"committedDate":"2025-01-14T13:46:35Z","message":"[SecuritySolution] Add Service entity type to Entity Analytics (#204437)\n\n## Summary\n\n* Refactor types to prevent usages of `host` and `user`. \n * Use `EntityType` instead. \n* Use a generic function that receives `EntityType` as a parameter\ninstead of custom user and host functions\n* Consolidate duplicated entity types\n* Add service to entity types and update all references on the\nEntityAnalyticsDashboards page, Risk score page and Entity Store page.\n* Refactor Risk score APIs to be more generic and accept EntityType and\na param\n* Refactor if statement like `isUserRiskScore` to be more generic and\naccept `service`\n* Delete `RiskScoreEntity` in favour of `EntityType`.\n* Update the branch to support the universal entity\n\n### Not included\n* Service Flyout\n\n### Images\n\n\n\n\n\n### Generic Entity Support\nWe need to support risk score and asset criticality for\nGeneric/Universal entities according to\nhttps://github.com/elastic/security-team/issues/10740\n\n> We expect that the below will be supported:\n> \n> Entity flyout for service/generic entity\n> Entity risk scoring for service/generic entity\n> Asset criticality assignments for service/generic entity\n\nThis PR already implements that support. However, I have introduced a\nfunction per feature that returns the enabled entity types. At the\nmoment, I defined universal/generic entities as unsupported for this PR\nto preserve the current behaviour. But to allow universal/generic\nentities, we only need to delete a couple of lines.\n\nRisk Score will need extra work because the entity types are hard-coded\non some parts of the code.\n\n### How to test it\n1\n* Start kabana with security solution data \n * You can use the document generator with `yarn start entity-store`\n* Enable Entity Store and Risk engine\n* Test the EA features, and they should work normally\n\n\n2\n* Start kabana with security solution data \n * You can use the document generator with `yarn start entity-store`\n* Enable the `serviceEntityStoreEnabled` flag\n* Enable Entity Store and Risk engine\n* Test the EA features, and you should see a new type of Entity called\n'service'\n* Service Entity should work with all Entity analytics features\n\n\n3 \n* Start kabana with security solution data \n * You can use the document generator with `yarn start entity-store`\n* Enable the `assetInventoryStoreEnabled` flag\n* Enable Entity Store and Risk engine\n* Test the EA features, and you should not see universal/generic entity\nexcept for the entity store status pages\n\n\n\n\n### Checklist\n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [x] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n## Release note\nAdd the \"service\" type to Security Entity Analytics - Entity Store. It\nwill find services by the `service.name` field, calculate risk score,\nand allow asset criticality assignment.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"6c31cf73ccae9f917038c51b4ad9e5c896f4bd28","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","Team: SecuritySolution","release_note:feature","Feature:Entity Analytics","Team:Entity Analytics","backport:version","v8.18.0"],"title":"[SecuritySolution] Add Service entity type to Entity Analytics","number":204437,"url":"https://github.com/elastic/kibana/pull/204437","mergeCommit":{"message":"[SecuritySolution] Add Service entity type to Entity Analytics (#204437)\n\n## Summary\n\n* Refactor types to prevent usages of `host` and `user`. \n * Use `EntityType` instead. \n* Use a generic function that receives `EntityType` as a parameter\ninstead of custom user and host functions\n* Consolidate duplicated entity types\n* Add service to entity types and update all references on the\nEntityAnalyticsDashboards page, Risk score page and Entity Store page.\n* Refactor Risk score APIs to be more generic and accept EntityType and\na param\n* Refactor if statement like `isUserRiskScore` to be more generic and\naccept `service`\n* Delete `RiskScoreEntity` in favour of `EntityType`.\n* Update the branch to support the universal entity\n\n### Not included\n* Service Flyout\n\n### Images\n\n\n\n\n\n### Generic Entity Support\nWe need to support risk score and asset criticality for\nGeneric/Universal entities according to\nhttps://github.com/elastic/security-team/issues/10740\n\n> We expect that the below will be supported:\n> \n> Entity flyout for service/generic entity\n> Entity risk scoring for service/generic entity\n> Asset criticality assignments for service/generic entity\n\nThis PR already implements that support. However, I have introduced a\nfunction per feature that returns the enabled entity types. At the\nmoment, I defined universal/generic entities as unsupported for this PR\nto preserve the current behaviour. But to allow universal/generic\nentities, we only need to delete a couple of lines.\n\nRisk Score will need extra work because the entity types are hard-coded\non some parts of the code.\n\n### How to test it\n1\n* Start kabana with security solution data \n * You can use the document generator with `yarn start entity-store`\n* Enable Entity Store and Risk engine\n* Test the EA features, and they should work normally\n\n\n2\n* Start kabana with security solution data \n * You can use the document generator with `yarn start entity-store`\n* Enable the `serviceEntityStoreEnabled` flag\n* Enable Entity Store and Risk engine\n* Test the EA features, and you should see a new type of Entity called\n'service'\n* Service Entity should work with all Entity analytics features\n\n\n3 \n* Start kabana with security solution data \n * You can use the document generator with `yarn start entity-store`\n* Enable the `assetInventoryStoreEnabled` flag\n* Enable Entity Store and Risk engine\n* Test the EA features, and you should not see universal/generic entity\nexcept for the entity store status pages\n\n\n\n\n### Checklist\n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [x] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n## Release note\nAdd the \"service\" type to Security Entity Analytics - Entity Store. It\nwill find services by the `service.name` field, calculate risk score,\nand allow asset criticality assignment.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"6c31cf73ccae9f917038c51b4ad9e5c896f4bd28"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/204437","number":204437,"mergeCommit":{"message":"[SecuritySolution] Add Service entity type to Entity Analytics (#204437)\n\n## Summary\n\n* Refactor types to prevent usages of `host` and `user`. \n * Use `EntityType` instead. \n* Use a generic function that receives `EntityType` as a parameter\ninstead of custom user and host functions\n* Consolidate duplicated entity types\n* Add service to entity types and update all references on the\nEntityAnalyticsDashboards page, Risk score page and Entity Store page.\n* Refactor Risk score APIs to be more generic and accept EntityType and\na param\n* Refactor if statement like `isUserRiskScore` to be more generic and\naccept `service`\n* Delete `RiskScoreEntity` in favour of `EntityType`.\n* Update the branch to support the universal entity\n\n### Not included\n* Service Flyout\n\n### Images\n\n\n\n\n\n### Generic Entity Support\nWe need to support risk score and asset criticality for\nGeneric/Universal entities according to\nhttps://github.com/elastic/security-team/issues/10740\n\n> We expect that the below will be supported:\n> \n> Entity flyout for service/generic entity\n> Entity risk scoring for service/generic entity\n> Asset criticality assignments for service/generic entity\n\nThis PR already implements that support. However, I have introduced a\nfunction per feature that returns the enabled entity types. At the\nmoment, I defined universal/generic entities as unsupported for this PR\nto preserve the current behaviour. But to allow universal/generic\nentities, we only need to delete a couple of lines.\n\nRisk Score will need extra work because the entity types are hard-coded\non some parts of the code.\n\n### How to test it\n1\n* Start kabana with security solution data \n * You can use the document generator with `yarn start entity-store`\n* Enable Entity Store and Risk engine\n* Test the EA features, and they should work normally\n\n\n2\n* Start kabana with security solution data \n * You can use the document generator with `yarn start entity-store`\n* Enable the `serviceEntityStoreEnabled` flag\n* Enable Entity Store and Risk engine\n* Test the EA features, and you should see a new type of Entity called\n'service'\n* Service Entity should work with all Entity analytics features\n\n\n3 \n* Start kabana with security solution data \n * You can use the document generator with `yarn start entity-store`\n* Enable the `assetInventoryStoreEnabled` flag\n* Enable Entity Store and Risk engine\n* Test the EA features, and you should not see universal/generic entity\nexcept for the entity store status pages\n\n\n\n\n### Checklist\n\nReviewers should verify this PR satisfies this list as well.\n\n- [x] Any text added follows [EUI's writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\nsentence case text and includes [i18n\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\n- [x] [Unit or functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere updated or added to match the most common scenarios\n- [x] This was checked for breaking HTTP API changes, and any breaking\nchanges have been approved by the breaking-change committee. The\n`release_note:breaking` label should be applied in these situations.\n- [ ] [Flaky Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was\nused on any tests changed\n- [x] The PR description includes the appropriate Release Notes section,\nand the correct `release_note:*` label is applied per the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n## Release note\nAdd the \"service\" type to Security Entity Analytics - Entity Store. It\nwill find services by the `service.name` field, calculate risk score,\nand allow asset criticality assignment.\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"6c31cf73ccae9f917038c51b4ad9e5c896f4bd28"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
8b0c892c6a
|
[8.x] Added examples for necessary Entity Analytics OpenAPI docs (#205439) (#206877)
# Backport This will backport the following commits from `main` to `8.x`: - [Added examples for necessary Entity Analytics OpenAPI docs (#205439)](https://github.com/elastic/kibana/pull/205439) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Jared Burgett","email":"147995946+jaredburgettelastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-15T23:17:19Z","message":"Added examples for necessary Entity Analytics OpenAPI docs (#205439)\n\n# Summary\r\n\r\nAs part of the effort to add missing content for Security APIs, this PR\r\nintroduces a few missing request, response, and parameter examples for\r\nSecurity Entity Analytics APIs.\r\n\r\nAll of the affected APIs are the Asset Criticality APIs.\r\n\r\n# How to Test\r\n\r\nUntil the docs are deployed, this can be tested by navigating to\r\nhttps://editor.swagger.io/ and pasting in the fully bundled file, which\r\ncan be found\r\n[here]( |
||
|
0fc3326f0f
|
[8.x] Update dependency @redocly/cli to ^1.27.1 (main) (#206605) (#206715)
# Backport This will backport the following commits from `main` to `8.x`: - [Update dependency @redocly/cli to ^1.27.1 (main) (#206605)](https://github.com/elastic/kibana/pull/206605) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"elastic-renovate-prod[bot]","email":"174716857+elastic-renovate-prod[bot]@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-15T09:26:17Z","message":"Update dependency @redocly/cli to ^1.27.1 (main) (#206605)","sha":"62308641bfb1a91fe874eb83c5f7c7b174211c4c","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","backport:prev-minor"],"title":"Update dependency @redocly/cli to ^1.27.1 (main)","number":206605,"url":"https://github.com/elastic/kibana/pull/206605","mergeCommit":{"message":"Update dependency @redocly/cli to ^1.27.1 (main) (#206605)","sha":"62308641bfb1a91fe874eb83c5f7c7b174211c4c"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206605","number":206605,"mergeCommit":{"message":"Update dependency @redocly/cli to ^1.27.1 (main) (#206605)","sha":"62308641bfb1a91fe874eb83c5f7c7b174211c4c"}}]}] BACKPORT--> Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> |
||
|
048dfa2781
|
[8.x] [SecuritySolutions][Endpoint] Microsoft defender for Endpoint response actions API (#205097) (#206583)
# Backport This will backport the following commits from `main` to `8.x`: - [[SecuritySolutions][Endpoint] Microsoft defender for Endpoint response actions API (#205097)](https://github.com/elastic/kibana/pull/205097) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Ash","email":"1849116+ashokaditya@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-09T16:59:56Z","message":"[SecuritySolutions][Endpoint] Microsoft defender for Endpoint response actions API (#205097)\n\n## Summary\r\n\r\n- Adds response actions client/APIs for isolate and release actions for\r\nMicrosoft Defender for Endpoint\r\n- The feature is behind a feature flag\r\n`responseActionsMSDefenderEndpointEnabled`","sha":"b25c9984bb4ae9e7bb2b17641b699c8c8844f3de","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport missing","v9.0.0","Team:Defend Workflows","OLM Sprint","backport:version","v8.18.0"],"number":205097,"url":"https://github.com/elastic/kibana/pull/205097","mergeCommit":{"message":"[SecuritySolutions][Endpoint] Microsoft defender for Endpoint response actions API (#205097)\n\n## Summary\r\n\r\n- Adds response actions client/APIs for isolate and release actions for\r\nMicrosoft Defender for Endpoint\r\n- The feature is behind a feature flag\r\n`responseActionsMSDefenderEndpointEnabled`","sha":"b25c9984bb4ae9e7bb2b17641b699c8c8844f3de"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/205097","number":205097,"mergeCommit":{"message":"[SecuritySolutions][Endpoint] Microsoft defender for Endpoint response actions API (#205097)\n\n## Summary\r\n\r\n- Adds response actions client/APIs for isolate and release actions for\r\nMicrosoft Defender for Endpoint\r\n- The feature is behind a feature flag\r\n`responseActionsMSDefenderEndpointEnabled`","sha":"b25c9984bb4ae9e7bb2b17641b699c8c8844f3de"}},{"branch":"8.x","label":"v8.18.0","labelRegex":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Ash <1849116+ashokaditya@users.noreply.github.com> |
||
|
8fe4d6dfe8
|
[8.x] [EDR Workflows] Add Runscript openApi schema (#206044) (#206248)
# Backport This will backport the following commits from `main` to `8.x`: - [[EDR Workflows] Add Runscript openApi schema (#206044)](https://github.com/elastic/kibana/pull/206044) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Tomasz Ciecierski","email":"tomasz.ciecierski@elastic.co"},"sourceCommit":{"committedDate":"2025-01-10T10:26:41Z","message":"[EDR Workflows] Add Runscript openApi schema (#206044)","sha":"39774bfc480ed2059fa3a11eeb47ffae87193bf4","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Defend Workflows","backport:version","v8.18.0"],"title":"[EDR Workflows] Add Runscript openApi schema ","number":206044,"url":"https://github.com/elastic/kibana/pull/206044","mergeCommit":{"message":"[EDR Workflows] Add Runscript openApi schema (#206044)","sha":"39774bfc480ed2059fa3a11eeb47ffae87193bf4"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/206044","number":206044,"mergeCommit":{"message":"[EDR Workflows] Add Runscript openApi schema (#206044)","sha":"39774bfc480ed2059fa3a11eeb47ffae87193bf4"}},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Tomasz Ciecierski <tomasz.ciecierski@elastic.co> |
||
|
8a45356a78
|
[8.x] Update dependency @redocly/cli to ^1.27.0 (main) (#205158) (#206361)
# Backport This will backport the following commits from `main` to `8.x`: - [Update dependency @redocly/cli to ^1.27.0 (main) (#205158)](https://github.com/elastic/kibana/pull/205158) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"elastic-renovate-prod[bot]","email":"174716857+elastic-renovate-prod[bot]@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-01-10T16:51:58Z","message":"Update dependency @redocly/cli to ^1.27.0 (main) (#205158)\n\nCo-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"a3d3c82900e0256ac3b4b1cea47bdbb10a416c24","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","v9.0.0","backport:prev-minor"],"title":"Update dependency @redocly/cli to ^1.27.0 (main)","number":205158,"url":"https://github.com/elastic/kibana/pull/205158","mergeCommit":{"message":"Update dependency @redocly/cli to ^1.27.0 (main) (#205158)\n\nCo-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"a3d3c82900e0256ac3b4b1cea47bdbb10a416c24"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/205158","number":205158,"mergeCommit":{"message":"Update dependency @redocly/cli to ^1.27.0 (main) (#205158)\n\nCo-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"a3d3c82900e0256ac3b4b1cea47bdbb10a416c24"}}]}] BACKPORT--> Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com> |
||
|
49946993ec
|
[8.x] [Entity Store] [Asset Inventory] Universal entity definition (#202888) (#205536)
# Backport This will backport the following commits from `main` to `8.x`: - [[Entity Store] [Asset Inventory] Universal entity definition (#202888)](https://github.com/elastic/kibana/pull/202888) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Tiago Vila Verde","email":"tiago.vilaverde@elastic.co"},"sourceCommit":{"committedDate":"2025-01-03T16:43:16Z","message":"[Entity Store] [Asset Inventory] Universal entity definition (#202888)\n\n## Summary\r\n\r\nThis PR adds a universal entity definition.\r\nA universal entity uses `related.entity` as an identifier field and\r\nincludes an extra processor step that parses the field\r\n`entities.keyword` and extracts all the entities in said field (whose\r\noriginal data comes from `related.entities`).\r\n\r\nSee this\r\n[doc](https://docs.google.com/document/d/1D8xDtn3HHP65i1Y3eIButacD6ZizyjZZRJB7mxlXzQY/edit?tab=t.0#heading=h.9fz3qtlfzjg7)\r\nfor more details.\r\n\r\nTo accomplish this, we need to allow describing an entity along with\r\nextra entity store resources required for that entity's engine.\r\nThis PR reworks the current entity store by introducing an `Entity\r\nDescription`, which has all that required information. From it, we can\r\nbuild an `EntityEngineDescription` which adds all the needed data that\r\nmust be computed (as opposed to hardcoded) and is then used to generate\r\nall the resources needed for that Entity's engine (entity definition,\r\npipeline, enrich policy, index mappings, etc).\r\n\r\n<img width=\"3776\" alt=\"EntityDescriptions\"\r\nsrc=\"https://github.com/user-attachments/assets/bdf7915f-1981-47e6-a815-31163f24ad03\">\r\n\r\nThis required a refactoring of the current `UnitedEntityDefinition`,\r\nwhich has now been removed in favour of more contextual functions for\r\nall the different parts.\r\nThe intention is to decouple the Entity Description schema from the\r\nschemas required for field retention, entity manager and pipeline. We\r\ncan then freely expand on our Entity Description as required, and simply\r\nalter the conversion functions when needed.\r\n\r\n## How to test\r\n\r\n1. On a fresh ES cluster, add some entity data\r\n* For hosts and user, use the [security documents\r\ngenerator](https://github.com/elastic/security-documents-generator)\r\n * For universal, there are a few more steps:\r\n 1. Create the `entity.keyword` builder pipeline\r\n 2. Add it to a index template\r\n 3. Post some docs to the corresponding index \r\n2. Initialise the universal entity engine via: `POST\r\nkbn:/api/entity_store/engines/universal/init {}`\r\n* Note that using the UI does not work, as we've specifically removed\r\nthe Universal engine from the normal Entity Store workflow\r\n3. Check the status of the store is `running` via `GET\r\nkbn:/api/entity_store/status`\r\n4. Once the transform runs, you can query `GET entities*/_search` to see\r\nthe created entities\r\n\r\nNote that universal entities do not show up in the dashboard Entities\r\nList.\r\n\r\n\r\n### Code to ingest data\r\n<details>\r\n<summary>Pipeline</summary>\r\n\r\n```js\r\nPUT _ingest/pipeline/entities-keyword-builder\r\n{\r\n \"description\":\"Serialize entities.metadata into a keyword field\",\r\n \"processors\":[\r\n {\r\n \"script\":{\r\n \"lang\":\"painless\",\r\n \"source\":\"\"\"\r\nString jsonFromMap(Map map) {\r\n StringBuilder json = new StringBuilder(\"{\");\r\n boolean first = true;\r\n\r\n for (entry in map.entrySet()) {\r\n if (!first) {\r\n json.append(\",\");\r\n }\r\n first = false;\r\n\r\n String key = entry.getKey().replace(\"\\\"\", \"\\\\\\\"\");\r\n Object value = entry.getValue();\r\n\r\n json.append(\"\\\"\").append(key).append(\"\\\":\");\r\n\r\n if (value instanceof String) {\r\n String escapedValue = ((String) value).replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n } else if (value instanceof Map) {\r\n json.append(jsonFromMap((Map) value));\r\n } else if (value instanceof List) {\r\n json.append(jsonFromList((List) value));\r\n } else if (value instanceof Boolean || value instanceof Number) {\r\n json.append(value.toString());\r\n } else {\r\n // For other types, treat as string\r\n String escapedValue = value.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n }\r\n }\r\n\r\n json.append(\"}\");\r\n return json.toString();\r\n}\r\n\r\nString jsonFromList(List list) {\r\n\r\n StringBuilder json = new StringBuilder(\"[\");\r\n boolean first = true;\r\n\r\n for (item in list) {\r\n if (!first) {\r\n json.append(\",\");\r\n }\r\n first = false;\r\n\r\n if (item instanceof String) {\r\n String escapedItem = ((String) item).replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n } else if (item instanceof Map) {\r\n json.append(jsonFromMap((Map) item));\r\n } else if (item instanceof List) {\r\n json.append(jsonFromList((List) item));\r\n } else if (item instanceof Boolean || item instanceof Number) {\r\n json.append(item.toString());\r\n } else {\r\n // For other types, treat as string\r\n String escapedItem = item.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n }\r\n }\r\n\r\n json.append(\"]\");\r\n return json.toString();\r\n}\r\n\r\ndef metadata = jsonFromMap(ctx['entities']['metadata']);\r\nctx['entities']['keyword'] = metadata;\r\n\"\"\"\r\n\r\n }\r\n }\r\n ]\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Index template</summary>\r\n\r\n```js\r\nPUT /_index_template/entity_store_index_template\r\n{\r\n \"index_patterns\":[\r\n \"logs-store\"\r\n ],\r\n \"template\":{\r\n \"settings\":{\r\n \"index\":{\r\n \"default_pipeline\":\"entities-keyword-builder\"\r\n }\r\n },\r\n \"mappings\":{\r\n \"properties\":{\r\n \"@timestamp\":{\r\n \"type\":\"date\"\r\n },\r\n \"message\":{\r\n \"type\":\"text\"\r\n },\r\n \"event\":{\r\n \"properties\":{\r\n \"action\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"category\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"type\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"outcome\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"provider\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"ingested\":{\r\n \"type\": \"date\"\r\n }\r\n }\r\n },\r\n \"related\":{\r\n \"properties\":{\r\n \"entity\":{\r\n \"type\":\"keyword\"\r\n }\r\n }\r\n },\r\n \"entities\":{\r\n \"properties\":{\r\n \"metadata\":{\r\n \"type\":\"flattened\"\r\n },\r\n \"keyword\":{\r\n \"type\":\"keyword\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Example source doc</summary>\r\n\r\n```js\r\nPOST /logs-store/_doc/\r\n{\r\n \"@timestamp\":\"2024-11-29T10:01:00Z\",\r\n \"message\":\"Eddie\",\r\n \"event\": {\r\n \"type\":[\r\n \"creation\"\r\n ],\r\n \"ingested\": \"2024-12-03T10:01:00Z\"\r\n },\r\n \"related\":{\r\n \"entity\":[\r\n \"AKIAI44QH8DHBEXAMPLE\"\r\n ]\r\n },\r\n \"entities\":{\r\n \"metadata\":{\r\n \"AKIAI44QH8DHBEXAMPLE\":{\r\n \"entity\":{\r\n \"id\":\"AKIAI44QH8DHBEXAMPLE\",\r\n \"category\":\"Access Management\",\r\n \"type\":\"AWS IAM Access Key\"\r\n },\r\n \"cloud\":{\r\n \"account\":{\r\n \"id\":\"444455556666\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n### To do\r\n\r\n- [x] Add/Improve [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\n- [x] Feature flag\r\n\r\n\r\n----\r\n#### Update:\r\n\r\nAdded `assetInventoryStoreEnabled` Feature Flag. It is disabled by\r\ndefault and even when enabled, the `/api/entity_store/enable` route does\r\nnot initialize the Universal Entity Engine.\r\n`/api/entity_store/engines/universal/init` needs to be manually called\r\nto initialize it\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Rômulo Farias <romulodefarias@gmail.com>\r\nCo-authored-by: jaredburgettelastic <jared.burgett@elastic.co>\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>","sha":"c6b0a31d8ec6d423a8071f50a22e55acedd0dee0","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:Cloud Security","ci:cloud-deploy","Theme: entity_analytics","Team:Entity Analytics","backport:version","v8.18.0"],"number":202888,"url":"https://github.com/elastic/kibana/pull/202888","mergeCommit":{"message":"[Entity Store] [Asset Inventory] Universal entity definition (#202888)\n\n## Summary\r\n\r\nThis PR adds a universal entity definition.\r\nA universal entity uses `related.entity` as an identifier field and\r\nincludes an extra processor step that parses the field\r\n`entities.keyword` and extracts all the entities in said field (whose\r\noriginal data comes from `related.entities`).\r\n\r\nSee this\r\n[doc](https://docs.google.com/document/d/1D8xDtn3HHP65i1Y3eIButacD6ZizyjZZRJB7mxlXzQY/edit?tab=t.0#heading=h.9fz3qtlfzjg7)\r\nfor more details.\r\n\r\nTo accomplish this, we need to allow describing an entity along with\r\nextra entity store resources required for that entity's engine.\r\nThis PR reworks the current entity store by introducing an `Entity\r\nDescription`, which has all that required information. From it, we can\r\nbuild an `EntityEngineDescription` which adds all the needed data that\r\nmust be computed (as opposed to hardcoded) and is then used to generate\r\nall the resources needed for that Entity's engine (entity definition,\r\npipeline, enrich policy, index mappings, etc).\r\n\r\n<img width=\"3776\" alt=\"EntityDescriptions\"\r\nsrc=\"https://github.com/user-attachments/assets/bdf7915f-1981-47e6-a815-31163f24ad03\">\r\n\r\nThis required a refactoring of the current `UnitedEntityDefinition`,\r\nwhich has now been removed in favour of more contextual functions for\r\nall the different parts.\r\nThe intention is to decouple the Entity Description schema from the\r\nschemas required for field retention, entity manager and pipeline. We\r\ncan then freely expand on our Entity Description as required, and simply\r\nalter the conversion functions when needed.\r\n\r\n## How to test\r\n\r\n1. On a fresh ES cluster, add some entity data\r\n* For hosts and user, use the [security documents\r\ngenerator](https://github.com/elastic/security-documents-generator)\r\n * For universal, there are a few more steps:\r\n 1. Create the `entity.keyword` builder pipeline\r\n 2. Add it to a index template\r\n 3. Post some docs to the corresponding index \r\n2. Initialise the universal entity engine via: `POST\r\nkbn:/api/entity_store/engines/universal/init {}`\r\n* Note that using the UI does not work, as we've specifically removed\r\nthe Universal engine from the normal Entity Store workflow\r\n3. Check the status of the store is `running` via `GET\r\nkbn:/api/entity_store/status`\r\n4. Once the transform runs, you can query `GET entities*/_search` to see\r\nthe created entities\r\n\r\nNote that universal entities do not show up in the dashboard Entities\r\nList.\r\n\r\n\r\n### Code to ingest data\r\n<details>\r\n<summary>Pipeline</summary>\r\n\r\n```js\r\nPUT _ingest/pipeline/entities-keyword-builder\r\n{\r\n \"description\":\"Serialize entities.metadata into a keyword field\",\r\n \"processors\":[\r\n {\r\n \"script\":{\r\n \"lang\":\"painless\",\r\n \"source\":\"\"\"\r\nString jsonFromMap(Map map) {\r\n StringBuilder json = new StringBuilder(\"{\");\r\n boolean first = true;\r\n\r\n for (entry in map.entrySet()) {\r\n if (!first) {\r\n json.append(\",\");\r\n }\r\n first = false;\r\n\r\n String key = entry.getKey().replace(\"\\\"\", \"\\\\\\\"\");\r\n Object value = entry.getValue();\r\n\r\n json.append(\"\\\"\").append(key).append(\"\\\":\");\r\n\r\n if (value instanceof String) {\r\n String escapedValue = ((String) value).replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n } else if (value instanceof Map) {\r\n json.append(jsonFromMap((Map) value));\r\n } else if (value instanceof List) {\r\n json.append(jsonFromList((List) value));\r\n } else if (value instanceof Boolean || value instanceof Number) {\r\n json.append(value.toString());\r\n } else {\r\n // For other types, treat as string\r\n String escapedValue = value.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n }\r\n }\r\n\r\n json.append(\"}\");\r\n return json.toString();\r\n}\r\n\r\nString jsonFromList(List list) {\r\n\r\n StringBuilder json = new StringBuilder(\"[\");\r\n boolean first = true;\r\n\r\n for (item in list) {\r\n if (!first) {\r\n json.append(\",\");\r\n }\r\n first = false;\r\n\r\n if (item instanceof String) {\r\n String escapedItem = ((String) item).replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n } else if (item instanceof Map) {\r\n json.append(jsonFromMap((Map) item));\r\n } else if (item instanceof List) {\r\n json.append(jsonFromList((List) item));\r\n } else if (item instanceof Boolean || item instanceof Number) {\r\n json.append(item.toString());\r\n } else {\r\n // For other types, treat as string\r\n String escapedItem = item.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n }\r\n }\r\n\r\n json.append(\"]\");\r\n return json.toString();\r\n}\r\n\r\ndef metadata = jsonFromMap(ctx['entities']['metadata']);\r\nctx['entities']['keyword'] = metadata;\r\n\"\"\"\r\n\r\n }\r\n }\r\n ]\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Index template</summary>\r\n\r\n```js\r\nPUT /_index_template/entity_store_index_template\r\n{\r\n \"index_patterns\":[\r\n \"logs-store\"\r\n ],\r\n \"template\":{\r\n \"settings\":{\r\n \"index\":{\r\n \"default_pipeline\":\"entities-keyword-builder\"\r\n }\r\n },\r\n \"mappings\":{\r\n \"properties\":{\r\n \"@timestamp\":{\r\n \"type\":\"date\"\r\n },\r\n \"message\":{\r\n \"type\":\"text\"\r\n },\r\n \"event\":{\r\n \"properties\":{\r\n \"action\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"category\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"type\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"outcome\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"provider\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"ingested\":{\r\n \"type\": \"date\"\r\n }\r\n }\r\n },\r\n \"related\":{\r\n \"properties\":{\r\n \"entity\":{\r\n \"type\":\"keyword\"\r\n }\r\n }\r\n },\r\n \"entities\":{\r\n \"properties\":{\r\n \"metadata\":{\r\n \"type\":\"flattened\"\r\n },\r\n \"keyword\":{\r\n \"type\":\"keyword\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Example source doc</summary>\r\n\r\n```js\r\nPOST /logs-store/_doc/\r\n{\r\n \"@timestamp\":\"2024-11-29T10:01:00Z\",\r\n \"message\":\"Eddie\",\r\n \"event\": {\r\n \"type\":[\r\n \"creation\"\r\n ],\r\n \"ingested\": \"2024-12-03T10:01:00Z\"\r\n },\r\n \"related\":{\r\n \"entity\":[\r\n \"AKIAI44QH8DHBEXAMPLE\"\r\n ]\r\n },\r\n \"entities\":{\r\n \"metadata\":{\r\n \"AKIAI44QH8DHBEXAMPLE\":{\r\n \"entity\":{\r\n \"id\":\"AKIAI44QH8DHBEXAMPLE\",\r\n \"category\":\"Access Management\",\r\n \"type\":\"AWS IAM Access Key\"\r\n },\r\n \"cloud\":{\r\n \"account\":{\r\n \"id\":\"444455556666\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n### To do\r\n\r\n- [x] Add/Improve [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\n- [x] Feature flag\r\n\r\n\r\n----\r\n#### Update:\r\n\r\nAdded `assetInventoryStoreEnabled` Feature Flag. It is disabled by\r\ndefault and even when enabled, the `/api/entity_store/enable` route does\r\nnot initialize the Universal Entity Engine.\r\n`/api/entity_store/engines/universal/init` needs to be manually called\r\nto initialize it\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Rômulo Farias <romulodefarias@gmail.com>\r\nCo-authored-by: jaredburgettelastic <jared.burgett@elastic.co>\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>","sha":"c6b0a31d8ec6d423a8071f50a22e55acedd0dee0"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202888","number":202888,"mergeCommit":{"message":"[Entity Store] [Asset Inventory] Universal entity definition (#202888)\n\n## Summary\r\n\r\nThis PR adds a universal entity definition.\r\nA universal entity uses `related.entity` as an identifier field and\r\nincludes an extra processor step that parses the field\r\n`entities.keyword` and extracts all the entities in said field (whose\r\noriginal data comes from `related.entities`).\r\n\r\nSee this\r\n[doc](https://docs.google.com/document/d/1D8xDtn3HHP65i1Y3eIButacD6ZizyjZZRJB7mxlXzQY/edit?tab=t.0#heading=h.9fz3qtlfzjg7)\r\nfor more details.\r\n\r\nTo accomplish this, we need to allow describing an entity along with\r\nextra entity store resources required for that entity's engine.\r\nThis PR reworks the current entity store by introducing an `Entity\r\nDescription`, which has all that required information. From it, we can\r\nbuild an `EntityEngineDescription` which adds all the needed data that\r\nmust be computed (as opposed to hardcoded) and is then used to generate\r\nall the resources needed for that Entity's engine (entity definition,\r\npipeline, enrich policy, index mappings, etc).\r\n\r\n<img width=\"3776\" alt=\"EntityDescriptions\"\r\nsrc=\"https://github.com/user-attachments/assets/bdf7915f-1981-47e6-a815-31163f24ad03\">\r\n\r\nThis required a refactoring of the current `UnitedEntityDefinition`,\r\nwhich has now been removed in favour of more contextual functions for\r\nall the different parts.\r\nThe intention is to decouple the Entity Description schema from the\r\nschemas required for field retention, entity manager and pipeline. We\r\ncan then freely expand on our Entity Description as required, and simply\r\nalter the conversion functions when needed.\r\n\r\n## How to test\r\n\r\n1. On a fresh ES cluster, add some entity data\r\n* For hosts and user, use the [security documents\r\ngenerator](https://github.com/elastic/security-documents-generator)\r\n * For universal, there are a few more steps:\r\n 1. Create the `entity.keyword` builder pipeline\r\n 2. Add it to a index template\r\n 3. Post some docs to the corresponding index \r\n2. Initialise the universal entity engine via: `POST\r\nkbn:/api/entity_store/engines/universal/init {}`\r\n* Note that using the UI does not work, as we've specifically removed\r\nthe Universal engine from the normal Entity Store workflow\r\n3. Check the status of the store is `running` via `GET\r\nkbn:/api/entity_store/status`\r\n4. Once the transform runs, you can query `GET entities*/_search` to see\r\nthe created entities\r\n\r\nNote that universal entities do not show up in the dashboard Entities\r\nList.\r\n\r\n\r\n### Code to ingest data\r\n<details>\r\n<summary>Pipeline</summary>\r\n\r\n```js\r\nPUT _ingest/pipeline/entities-keyword-builder\r\n{\r\n \"description\":\"Serialize entities.metadata into a keyword field\",\r\n \"processors\":[\r\n {\r\n \"script\":{\r\n \"lang\":\"painless\",\r\n \"source\":\"\"\"\r\nString jsonFromMap(Map map) {\r\n StringBuilder json = new StringBuilder(\"{\");\r\n boolean first = true;\r\n\r\n for (entry in map.entrySet()) {\r\n if (!first) {\r\n json.append(\",\");\r\n }\r\n first = false;\r\n\r\n String key = entry.getKey().replace(\"\\\"\", \"\\\\\\\"\");\r\n Object value = entry.getValue();\r\n\r\n json.append(\"\\\"\").append(key).append(\"\\\":\");\r\n\r\n if (value instanceof String) {\r\n String escapedValue = ((String) value).replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n } else if (value instanceof Map) {\r\n json.append(jsonFromMap((Map) value));\r\n } else if (value instanceof List) {\r\n json.append(jsonFromList((List) value));\r\n } else if (value instanceof Boolean || value instanceof Number) {\r\n json.append(value.toString());\r\n } else {\r\n // For other types, treat as string\r\n String escapedValue = value.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedValue).append(\"\\\"\");\r\n }\r\n }\r\n\r\n json.append(\"}\");\r\n return json.toString();\r\n}\r\n\r\nString jsonFromList(List list) {\r\n\r\n StringBuilder json = new StringBuilder(\"[\");\r\n boolean first = true;\r\n\r\n for (item in list) {\r\n if (!first) {\r\n json.append(\",\");\r\n }\r\n first = false;\r\n\r\n if (item instanceof String) {\r\n String escapedItem = ((String) item).replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n } else if (item instanceof Map) {\r\n json.append(jsonFromMap((Map) item));\r\n } else if (item instanceof List) {\r\n json.append(jsonFromList((List) item));\r\n } else if (item instanceof Boolean || item instanceof Number) {\r\n json.append(item.toString());\r\n } else {\r\n // For other types, treat as string\r\n String escapedItem = item.toString().replace(\"\\\"\", \"\\\\\\\"\").replace(\"=\", \":\");\r\n json.append(\"\\\"\").append(escapedItem).append(\"\\\"\");\r\n }\r\n }\r\n\r\n json.append(\"]\");\r\n return json.toString();\r\n}\r\n\r\ndef metadata = jsonFromMap(ctx['entities']['metadata']);\r\nctx['entities']['keyword'] = metadata;\r\n\"\"\"\r\n\r\n }\r\n }\r\n ]\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Index template</summary>\r\n\r\n```js\r\nPUT /_index_template/entity_store_index_template\r\n{\r\n \"index_patterns\":[\r\n \"logs-store\"\r\n ],\r\n \"template\":{\r\n \"settings\":{\r\n \"index\":{\r\n \"default_pipeline\":\"entities-keyword-builder\"\r\n }\r\n },\r\n \"mappings\":{\r\n \"properties\":{\r\n \"@timestamp\":{\r\n \"type\":\"date\"\r\n },\r\n \"message\":{\r\n \"type\":\"text\"\r\n },\r\n \"event\":{\r\n \"properties\":{\r\n \"action\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"category\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"type\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"outcome\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"provider\":{\r\n \"type\":\"keyword\"\r\n },\r\n \"ingested\":{\r\n \"type\": \"date\"\r\n }\r\n }\r\n },\r\n \"related\":{\r\n \"properties\":{\r\n \"entity\":{\r\n \"type\":\"keyword\"\r\n }\r\n }\r\n },\r\n \"entities\":{\r\n \"properties\":{\r\n \"metadata\":{\r\n \"type\":\"flattened\"\r\n },\r\n \"keyword\":{\r\n \"type\":\"keyword\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n<details>\r\n<summary>Example source doc</summary>\r\n\r\n```js\r\nPOST /logs-store/_doc/\r\n{\r\n \"@timestamp\":\"2024-11-29T10:01:00Z\",\r\n \"message\":\"Eddie\",\r\n \"event\": {\r\n \"type\":[\r\n \"creation\"\r\n ],\r\n \"ingested\": \"2024-12-03T10:01:00Z\"\r\n },\r\n \"related\":{\r\n \"entity\":[\r\n \"AKIAI44QH8DHBEXAMPLE\"\r\n ]\r\n },\r\n \"entities\":{\r\n \"metadata\":{\r\n \"AKIAI44QH8DHBEXAMPLE\":{\r\n \"entity\":{\r\n \"id\":\"AKIAI44QH8DHBEXAMPLE\",\r\n \"category\":\"Access Management\",\r\n \"type\":\"AWS IAM Access Key\"\r\n },\r\n \"cloud\":{\r\n \"account\":{\r\n \"id\":\"444455556666\"\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n### To do\r\n\r\n- [x] Add/Improve [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\n- [x] Feature flag\r\n\r\n\r\n----\r\n#### Update:\r\n\r\nAdded `assetInventoryStoreEnabled` Feature Flag. It is disabled by\r\ndefault and even when enabled, the `/api/entity_store/enable` route does\r\nnot initialize the Universal Entity Engine.\r\n`/api/entity_store/engines/universal/init` needs to be manually called\r\nto initialize it\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Rômulo Farias <romulodefarias@gmail.com>\r\nCo-authored-by: jaredburgettelastic <jared.burgett@elastic.co>\r\nCo-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>","sha":"c6b0a31d8ec6d423a8071f50a22e55acedd0dee0"}},{"branch":"8.x","label":"v8.18.0","labelRegex":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Tiago Vila Verde <tiago.vilaverde@elastic.co> |
||
|
ced841e4e3
|
[8.x] [SecuritySolution] Update Entity analytics BE to support service entity type (#203409) (#205384)
# Backport This will backport the following commits from `main` to `8.x`: - [[SecuritySolution] Update Entity analytics BE to support service entity type (#203409)](https://github.com/elastic/kibana/pull/203409) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Pablo Machado","email":"pablo.nevesmachado@elastic.co"},"sourceCommit":{"committedDate":"2025-01-02T12:50:08Z","message":"[SecuritySolution] Update Entity analytics BE to support service entity type (#203409)\n\n## Summary\n\nUpdate Entity Analytics BE to support the new entity type \"service\".\n* Hide all functionality behind an Experimental Flag\n(`serviceEntityStoreEnabled`)\n* Update asset criticality assignment\n* Update Bulk upload logic\n* Update Risk score calculation\n* Create plugin setup mappings migration\n * Add service to risk score indices and templates\n * Add service to asset criticality index\n* Create a reusable migration workflow where we only need to update the\nmappings and bump the version\n* Add a risk score transform migration when the schedule is now called\n * It will delete and reinstall the transform to apply the changes \n\n### issues\n* I had to update the API doc to include service even though it is\nbehind an Experimental Flag\n* The risk scope mappings migration runs on every space. If the users\nhave thousands of spaces, it could take some time.\n\n### What is not included?\n* UI changes\n\n\n## Documentation for Entity Analytics future migrations\n\n### How to add a new field to the risk score index and template\nmappings?\n* Update the mapping object\n[here]( |
||
|
19de8b4950
|
[8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/kibana-data-discovery (#205267)
**Manual backport of https://github.com/elastic/kibana/pull/203152** ## 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. Are you trying to rebase this PR to solve merge conflicts? Please follow the steps describe [here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E). #### 12 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/data-view-editor-plugin` | `src/platform/plugins/shared/data_view_editor` | | `@kbn/data-view-field-editor-plugin` | `src/platform/plugins/shared/data_view_field_editor` | | `@kbn/data-view-management-plugin` | `src/platform/plugins/shared/data_view_management` | | `@kbn/data-views-plugin` | `src/platform/plugins/shared/data_views` | | `@kbn/discover-enhanced-plugin` | `x-pack/platform/plugins/private/discover_enhanced` | | `@kbn/discover-plugin` | `src/platform/plugins/shared/discover` | | `@kbn/discover-shared-plugin` | `src/platform/plugins/shared/discover_shared` | | `@kbn/field-formats-plugin` | `src/platform/plugins/shared/field_formats` | | `@kbn/saved-objects-finder-plugin` | `src/platform/plugins/shared/saved_objects_finder` | | `@kbn/saved-search-plugin` | `src/platform/plugins/shared/saved_search` | | `@kbn/unified-doc-viewer-plugin` | `src/platform/plugins/shared/unified_doc_viewer` | | `@kbn/unified-histogram-plugin` | `src/platform/plugins/shared/unified_histogram` | #### 18 packages(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/content-management-utils` | `src/platform/packages/shared/kbn-content-management-utils` | | `@kbn/data-view-utils` | `src/platform/packages/shared/kbn-data-view-utils` | | `@kbn/datemath` | `src/platform/packages/shared/kbn-datemath` | | `@kbn/deeplinks-analytics` | `src/platform/packages/shared/deeplinks/analytics` | | `@kbn/default-nav-analytics` | `src/platform/packages/private/default-nav/analytics` | | `@kbn/discover-utils` | `src/platform/packages/shared/kbn-discover-utils` | | `@kbn/es-query` | `src/platform/packages/shared/kbn-es-query` | | `@kbn/field-types` | `src/platform/packages/shared/kbn-field-types` | | `@kbn/field-utils` | `src/platform/packages/shared/kbn-field-utils` | | `@kbn/react-field` | `src/platform/packages/shared/kbn-react-field` | | `@kbn/resizable-layout` | `src/platform/packages/shared/kbn-resizable-layout` | | `@kbn/search-errors` | `src/platform/packages/shared/kbn-search-errors` | | `@kbn/search-response-warnings` | `src/platform/packages/shared/kbn-search-response-warnings` | | `@kbn/search-types` | `src/platform/packages/shared/kbn-search-types` | | `@kbn/unified-data-table` | `src/platform/packages/shared/kbn-unified-data-table` | | `@kbn/unified-doc-viewer` | `src/platform/packages/shared/kbn-unified-doc-viewer` | | `@kbn/unified-field-list` | `src/platform/packages/shared/kbn-unified-field-list` | | `@kbn/unsaved-changes-badge` | `src/platform/packages/private/kbn-unsaved-changes-badge` | <details > <summary>Updated relative paths</summary> ``` src/platform/packages/private/default-nav/analytics/jest.config.js:12 src/platform/packages/private/default-nav/analytics/tsconfig.json:2 src/platform/packages/private/default-nav/analytics/tsconfig.type_check.json:2 src/platform/packages/private/default-nav/analytics/tsconfig.type_check.json:22 src/platform/packages/private/default-nav/analytics/tsconfig.type_check.json:25 src/platform/packages/private/default-nav/analytics/tsconfig.type_check.json:28 src/platform/packages/private/kbn-unsaved-changes-badge/jest.config.js:12 src/platform/packages/private/kbn-unsaved-changes-badge/tsconfig.json:2 src/platform/packages/private/kbn-unsaved-changes-badge/tsconfig.type_check.json:2 src/platform/packages/private/kbn-unsaved-changes-badge/tsconfig.type_check.json:21 src/platform/packages/shared/deeplinks/analytics/jest.config.js:12 src/platform/packages/shared/deeplinks/analytics/tsconfig.json:2 src/platform/packages/shared/deeplinks/analytics/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-content-management-utils/jest.config.js:12 src/platform/packages/shared/kbn-content-management-utils/tsconfig.json:2 src/platform/packages/shared/kbn-content-management-utils/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-content-management-utils/tsconfig.type_check.json:22 src/platform/packages/shared/kbn-content-management-utils/tsconfig.type_check.json:43 src/platform/packages/shared/kbn-data-view-utils/jest.config.js:12 src/platform/packages/shared/kbn-data-view-utils/tsconfig.json:2 src/platform/packages/shared/kbn-data-view-utils/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-data-view-utils/tsconfig.type_check.json:22 src/platform/packages/shared/kbn-data-view-utils/tsconfig.type_check.json:25 src/platform/packages/shared/kbn-datemath/jest.config.js:22 src/platform/packages/shared/kbn-datemath/tsconfig.json:2 src/platform/packages/shared/kbn-datemath/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-discover-utils/jest.config.js:12 src/platform/packages/shared/kbn-discover-utils/tsconfig.json:2 src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:26 src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:35 src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:44 src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:47 src/platform/packages/shared/kbn-discover-utils/tsconfig.type_check.json:53 src/platform/packages/shared/kbn-es-query/jest.config.js:12 src/platform/packages/shared/kbn-es-query/tsconfig.json:2 src/platform/packages/shared/kbn-es-query/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-field-types/jest.config.js:12 src/platform/packages/shared/kbn-field-types/tsconfig.json:2 src/platform/packages/shared/kbn-field-types/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-field-utils/jest.config.js:12 src/platform/packages/shared/kbn-field-utils/tsconfig.json:2 src/platform/packages/shared/kbn-field-utils/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-field-utils/tsconfig.type_check.json:21 src/platform/packages/shared/kbn-field-utils/tsconfig.type_check.json:30 src/platform/packages/shared/kbn-field-utils/tsconfig.type_check.json:36 src/platform/packages/shared/kbn-react-field/jest.config.js:12 src/platform/packages/shared/kbn-react-field/tsconfig.json:2 src/platform/packages/shared/kbn-react-field/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-resizable-layout/jest.config.js:12 src/platform/packages/shared/kbn-resizable-layout/tsconfig.json:2 src/platform/packages/shared/kbn-resizable-layout/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-search-errors/jest.config.js:12 src/platform/packages/shared/kbn-search-errors/tsconfig.json:2 src/platform/packages/shared/kbn-search-errors/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-search-errors/tsconfig.type_check.json:25 src/platform/packages/shared/kbn-search-errors/tsconfig.type_check.json:28 src/platform/packages/shared/kbn-search-errors/tsconfig.type_check.json:31 src/platform/packages/shared/kbn-search-response-warnings/jest.config.js:12 src/platform/packages/shared/kbn-search-response-warnings/tsconfig.json:2 src/platform/packages/shared/kbn-search-response-warnings/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-search-response-warnings/tsconfig.type_check.json:21 src/platform/packages/shared/kbn-search-response-warnings/tsconfig.type_check.json:24 src/platform/packages/shared/kbn-search-types/jest.config.js:12 src/platform/packages/shared/kbn-search-types/tsconfig.json:2 src/platform/packages/shared/kbn-search-types/tsconfig.type_check.json:18 src/platform/packages/shared/kbn-search-types/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-search-types/tsconfig.type_check.json:21 src/platform/packages/shared/kbn-unified-data-table/jest.config.js:12 src/platform/packages/shared/kbn-unified-data-table/tsconfig.json:2 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:22 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:31 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:34 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:49 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:52 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:58 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:61 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:67 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:70 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:73 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:76 src/platform/packages/shared/kbn-unified-data-table/tsconfig.type_check.json:79 src/platform/packages/shared/kbn-unified-doc-viewer/jest.config.js:12 src/platform/packages/shared/kbn-unified-doc-viewer/tsconfig.json:2 src/platform/packages/shared/kbn-unified-doc-viewer/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-unified-doc-viewer/tsconfig.type_check.json:25 src/platform/packages/shared/kbn-unified-doc-viewer/tsconfig.type_check.json:31 src/platform/packages/shared/kbn-unified-field-list/jest.config.js:12 src/platform/packages/shared/kbn-unified-field-list/tsconfig.json:2 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:102 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:108 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:2 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:21 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:24 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:39 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:42 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:48 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:51 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:54 src/platform/packages/shared/kbn-unified-field-list/tsconfig.type_check.json:75 src/platform/plugins/shared/data_view_editor/jest.config.js:12 src/platform/plugins/shared/data_view_editor/tsconfig.json:2 src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:16 src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:2 src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:28 src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:31 src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:37 src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:40 src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:43 src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:49 src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:52 src/platform/plugins/shared/data_view_editor/tsconfig.type_check.json:55 src/platform/plugins/shared/data_view_field_editor/jest.config.js:12 src/platform/plugins/shared/data_view_field_editor/tsconfig.json:2 src/platform/plugins/shared/data_view_field_editor/tsconfig.json:7 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:2 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:20 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:32 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:38 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:41 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:47 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:50 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:53 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:56 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:59 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:62 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:65 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:68 src/platform/plugins/shared/data_view_field_editor/tsconfig.type_check.json:9 src/platform/plugins/shared/data_view_management/jest.config.js:12 src/platform/plugins/shared/data_view_management/tsconfig.json:2 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:104 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:107 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:110 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:113 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:116 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:119 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:122 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:125 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:131 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:17 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:2 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:23 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:47 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:50 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:59 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:62 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:65 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:68 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:71 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:74 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:77 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:80 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:83 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:86 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:89 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:92 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:95 src/platform/plugins/shared/data_view_management/tsconfig.type_check.json:98 src/platform/plugins/shared/data_views/jest.config.js:12 src/platform/plugins/shared/data_views/tsconfig.json:2 src/platform/plugins/shared/data_views/tsconfig.type_check.json:2 src/platform/plugins/shared/data_views/tsconfig.type_check.json:22 src/platform/plugins/shared/data_views/tsconfig.type_check.json:37 src/platform/plugins/shared/data_views/tsconfig.type_check.json:40 src/platform/plugins/shared/data_views/tsconfig.type_check.json:43 src/platform/plugins/shared/data_views/tsconfig.type_check.json:46 src/platform/plugins/shared/data_views/tsconfig.type_check.json:49 src/platform/plugins/shared/data_views/tsconfig.type_check.json:52 src/platform/plugins/shared/data_views/tsconfig.type_check.json:55 src/platform/plugins/shared/data_views/tsconfig.type_check.json:58 src/platform/plugins/shared/data_views/tsconfig.type_check.json:61 src/platform/plugins/shared/data_views/tsconfig.type_check.json:64 src/platform/plugins/shared/data_views/tsconfig.type_check.json:70 src/platform/plugins/shared/data_views/tsconfig.type_check.json:73 src/platform/plugins/shared/data_views/tsconfig.type_check.json:76 src/platform/plugins/shared/data_views/tsconfig.type_check.json:79 src/platform/plugins/shared/data_views/tsconfig.type_check.json:82 src/platform/plugins/shared/data_views/tsconfig.type_check.json:85 src/platform/plugins/shared/data_views/tsconfig.type_check.json:88 src/platform/plugins/shared/data_views/tsconfig.type_check.json:91 src/platform/plugins/shared/data_views/tsconfig.type_check.json:94 src/platform/plugins/shared/data_views/tsconfig.type_check.json:97 src/platform/plugins/shared/discover/jest.config.js:12 src/platform/plugins/shared/discover/public/application/context/context_app.scss:1 src/platform/plugins/shared/discover/public/application/main/components/layout/discover_layout.scss:1 src/platform/plugins/shared/discover/public/context_awareness/README.md:118 src/platform/plugins/shared/discover/public/context_awareness/README.md:119 src/platform/plugins/shared/discover/tsconfig.json:10 src/platform/plugins/shared/discover/tsconfig.json:2 src/platform/plugins/shared/discover/tsconfig.type_check.json:104 src/platform/plugins/shared/discover/tsconfig.type_check.json:107 src/platform/plugins/shared/discover/tsconfig.type_check.json:110 src/platform/plugins/shared/discover/tsconfig.type_check.json:113 src/platform/plugins/shared/discover/tsconfig.type_check.json:116 src/platform/plugins/shared/discover/tsconfig.type_check.json:119 src/platform/plugins/shared/discover/tsconfig.type_check.json:12 src/platform/plugins/shared/discover/tsconfig.type_check.json:122 src/platform/plugins/shared/discover/tsconfig.type_check.json:125 src/platform/plugins/shared/discover/tsconfig.type_check.json:128 src/platform/plugins/shared/discover/tsconfig.type_check.json:131 src/platform/plugins/shared/discover/tsconfig.type_check.json:134 src/platform/plugins/shared/discover/tsconfig.type_check.json:137 src/platform/plugins/shared/discover/tsconfig.type_check.json:140 src/platform/plugins/shared/discover/tsconfig.type_check.json:143 src/platform/plugins/shared/discover/tsconfig.type_check.json:146 src/platform/plugins/shared/discover/tsconfig.type_check.json:149 src/platform/plugins/shared/discover/tsconfig.type_check.json:152 src/platform/plugins/shared/discover/tsconfig.type_check.json:155 src/platform/plugins/shared/discover/tsconfig.type_check.json:158 src/platform/plugins/shared/discover/tsconfig.type_check.json:161 src/platform/plugins/shared/discover/tsconfig.type_check.json:164 src/platform/plugins/shared/discover/tsconfig.type_check.json:167 src/platform/plugins/shared/discover/tsconfig.type_check.json:170 src/platform/plugins/shared/discover/tsconfig.type_check.json:173 src/platform/plugins/shared/discover/tsconfig.type_check.json:179 src/platform/plugins/shared/discover/tsconfig.type_check.json:185 src/platform/plugins/shared/discover/tsconfig.type_check.json:188 src/platform/plugins/shared/discover/tsconfig.type_check.json:191 src/platform/plugins/shared/discover/tsconfig.type_check.json:197 src/platform/plugins/shared/discover/tsconfig.type_check.json:2 src/platform/plugins/shared/discover/tsconfig.type_check.json:20 src/platform/plugins/shared/discover/tsconfig.type_check.json:200 src/platform/plugins/shared/discover/tsconfig.type_check.json:203 src/platform/plugins/shared/discover/tsconfig.type_check.json:206 src/platform/plugins/shared/discover/tsconfig.type_check.json:209 src/platform/plugins/shared/discover/tsconfig.type_check.json:212 src/platform/plugins/shared/discover/tsconfig.type_check.json:215 src/platform/plugins/shared/discover/tsconfig.type_check.json:218 src/platform/plugins/shared/discover/tsconfig.type_check.json:221 src/platform/plugins/shared/discover/tsconfig.type_check.json:224 src/platform/plugins/shared/discover/tsconfig.type_check.json:227 src/platform/plugins/shared/discover/tsconfig.type_check.json:230 src/platform/plugins/shared/discover/tsconfig.type_check.json:233 src/platform/plugins/shared/discover/tsconfig.type_check.json:236 src/platform/plugins/shared/discover/tsconfig.type_check.json:239 src/platform/plugins/shared/discover/tsconfig.type_check.json:242 src/platform/plugins/shared/discover/tsconfig.type_check.json:245 src/platform/plugins/shared/discover/tsconfig.type_check.json:248 src/platform/plugins/shared/discover/tsconfig.type_check.json:251 src/platform/plugins/shared/discover/tsconfig.type_check.json:254 src/platform/plugins/shared/discover/tsconfig.type_check.json:257 src/platform/plugins/shared/discover/tsconfig.type_check.json:260 src/platform/plugins/shared/discover/tsconfig.type_check.json:263 src/platform/plugins/shared/discover/tsconfig.type_check.json:266 src/platform/plugins/shared/discover/tsconfig.type_check.json:269 src/platform/plugins/shared/discover/tsconfig.type_check.json:272 src/platform/plugins/shared/discover/tsconfig.type_check.json:275 src/platform/plugins/shared/discover/tsconfig.type_check.json:278 src/platform/plugins/shared/discover/tsconfig.type_check.json:281 src/platform/plugins/shared/discover/tsconfig.type_check.json:35 src/platform/plugins/shared/discover/tsconfig.type_check.json:38 src/platform/plugins/shared/discover/tsconfig.type_check.json:83 src/platform/plugins/shared/discover/tsconfig.type_check.json:89 src/platform/plugins/shared/discover/tsconfig.type_check.json:98 src/platform/plugins/shared/discover_shared/jest.config.js:12 src/platform/plugins/shared/discover_shared/tsconfig.json:10 src/platform/plugins/shared/discover_shared/tsconfig.json:2 src/platform/plugins/shared/discover_shared/tsconfig.type_check.json:12 src/platform/plugins/shared/discover_shared/tsconfig.type_check.json:19 src/platform/plugins/shared/discover_shared/tsconfig.type_check.json:2 src/platform/plugins/shared/discover_shared/tsconfig.type_check.json:22 src/platform/plugins/shared/discover_shared/tsconfig.type_check.json:25 src/platform/plugins/shared/field_formats/jest.config.js:12 src/platform/plugins/shared/field_formats/tsconfig.json:2 src/platform/plugins/shared/field_formats/tsconfig.type_check.json:2 src/platform/plugins/shared/field_formats/tsconfig.type_check.json:21 src/platform/plugins/shared/field_formats/tsconfig.type_check.json:24 src/platform/plugins/shared/field_formats/tsconfig.type_check.json:27 src/platform/plugins/shared/field_formats/tsconfig.type_check.json:30 src/platform/plugins/shared/field_formats/tsconfig.type_check.json:33 src/platform/plugins/shared/saved_objects_finder/jest.config.js:12 src/platform/plugins/shared/saved_objects_finder/tsconfig.json:2 src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:18 src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:2 src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:24 src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:30 src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:33 src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:36 src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:42 src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:45 src/platform/plugins/shared/saved_objects_finder/tsconfig.type_check.json:48 src/platform/plugins/shared/saved_search/jest.config.js:12 src/platform/plugins/shared/saved_search/tsconfig.json:2 src/platform/plugins/shared/saved_search/tsconfig.json:6 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:12 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:19 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:2 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:28 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:34 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:37 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:40 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:43 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:46 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:49 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:55 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:58 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:64 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:70 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:73 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:76 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:79 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:82 src/platform/plugins/shared/saved_search/tsconfig.type_check.json:85 src/platform/plugins/shared/unified_doc_viewer/jest.config.js:12 src/platform/plugins/shared/unified_doc_viewer/tsconfig.json:2 src/platform/plugins/shared/unified_doc_viewer/tsconfig.json:6 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:103 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:106 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:109 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:112 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:2 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:22 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:28 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:31 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:34 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:37 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:40 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:49 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:55 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:58 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:61 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:64 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:67 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:70 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:73 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:76 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:79 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:82 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:85 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:9 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:91 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:94 src/platform/plugins/shared/unified_doc_viewer/tsconfig.type_check.json:97 src/platform/plugins/shared/unified_histogram/jest.config.js:12 src/platform/plugins/shared/unified_histogram/tsconfig.json:2 src/platform/plugins/shared/unified_histogram/tsconfig.json:6 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:100 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:103 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:106 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:19 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:2 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:28 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:34 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:40 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:43 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:46 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:49 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:52 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:55 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:58 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:61 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:73 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:76 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:79 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:82 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:85 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:88 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:9 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:91 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:94 src/platform/plugins/shared/unified_histogram/tsconfig.type_check.json:97 x-pack/platform/plugins/private/discover_enhanced/jest.config.js:10 x-pack/platform/plugins/private/discover_enhanced/tsconfig.json:2 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:2 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:20 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:23 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:26 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:29 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:32 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:38 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:41 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:44 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:47 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:50 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:53 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:56 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:59 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:62 x-pack/platform/plugins/private/discover_enhanced/tsconfig.type_check.json:65 ``` </details> |
||
|
5d84355295
|
[8.x] backport "Sustainable Kibana Architecture: Move modules owned by @elastic/obs-ux-logs-team " (#205234)
*Manual backport of https://github.com/elastic/kibana/pull/202831 by rerunning the script against 8.x* ## 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. Are you trying to rebase this PR to solve merge conflicts? Please follow the steps describe [here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E). #### 9 plugin(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/data-quality-plugin` | `x-pack/platform/plugins/shared/data_quality` | | `@kbn/dataset-quality-plugin` | `x-pack/platform/plugins/shared/observability_solution/dataset_quality` | | `@kbn/fields-metadata-plugin` | `x-pack/platform/plugins/shared/fields_metadata` | | `@kbn/infra-plugin` | `x-pack/solutions/observability/plugins/infra` | | `@kbn/logs-data-access-plugin` | `x-pack/platform/plugins/shared/observability_solution/logs_data_access` | | `@kbn/logs-explorer-plugin` | `x-pack/solutions/observability/plugins/logs_explorer` | | `@kbn/logs-shared-plugin` | `x-pack/platform/plugins/shared/observability_solution/logs_shared` | | `@kbn/observability-logs-explorer-plugin` | `x-pack/solutions/observability/plugins/observability_logs_explorer` | | `@kbn/observability-onboarding-plugin` | `x-pack/solutions/observability/plugins/observability_onboarding` | #### 9 packages(s) are going to be relocated: | Id | Target folder | | -- | ------------- | | `@kbn/custom-icons` | `src/platform/packages/shared/kbn-custom-icons` | | `@kbn/custom-integrations` | `x-pack/solutions/observability/packages/kbn-custom-integrations` | | `@kbn/discover-contextual-components` | `src/platform/packages/shared/kbn-discover-contextual-components` | | `@kbn/elastic-agent-utils` | `src/platform/packages/shared/kbn-elastic-agent-utils` | | `@kbn/observability-logs-overview` | `x-pack/platform/packages/shared/observability/logs_overview` | | `@kbn/react-hooks` | `src/platform/packages/shared/kbn-react-hooks` | | `@kbn/router-utils` | `src/platform/packages/shared/kbn-router-utils` | | `@kbn/timerange` | `src/platform/packages/shared/kbn-timerange` | | `@kbn/xstate-utils` | `src/platform/packages/shared/kbn-xstate-utils` | <details > <summary>Updated relative paths</summary> ``` src/platform/packages/shared/kbn-custom-icons/jest.config.js:12 src/platform/packages/shared/kbn-custom-icons/tsconfig.json:2 src/platform/packages/shared/kbn-discover-contextual-components/jest.config.js:12 src/platform/packages/shared/kbn-discover-contextual-components/tsconfig.json:2 src/platform/packages/shared/kbn-elastic-agent-utils/jest.config.js:12 src/platform/packages/shared/kbn-elastic-agent-utils/tsconfig.json:2 src/platform/packages/shared/kbn-react-hooks/jest.config.js:12 src/platform/packages/shared/kbn-react-hooks/tsconfig.json:2 src/platform/packages/shared/kbn-router-utils/jest.config.js:12 src/platform/packages/shared/kbn-router-utils/tsconfig.json:2 src/platform/packages/shared/kbn-timerange/jest.config.js:12 src/platform/packages/shared/kbn-timerange/tsconfig.json:2 src/platform/packages/shared/kbn-xstate-utils/jest.config.js:12 src/platform/packages/shared/kbn-xstate-utils/tsconfig.json:2 x-pack/platform/packages/shared/observability/logs_overview/jest.config.js:10 x-pack/platform/packages/shared/observability/logs_overview/tsconfig.json:2 x-pack/platform/plugins/shared/data_quality/jest.config.js:10 x-pack/platform/plugins/shared/data_quality/tsconfig.json:11 x-pack/platform/plugins/shared/data_quality/tsconfig.json:2 x-pack/platform/plugins/shared/fields_metadata/jest.config.js:10 x-pack/platform/plugins/shared/fields_metadata/tsconfig.json:2 x-pack/platform/plugins/shared/fields_metadata/tsconfig.json:7 x-pack/platform/plugins/shared/observability_solution/dataset_quality/jest.config.js:10 x-pack/platform/plugins/shared/observability_solution/dataset_quality/tsconfig.json:10 x-pack/platform/plugins/shared/observability_solution/dataset_quality/tsconfig.json:2 x-pack/platform/plugins/shared/observability_solution/logs_data_access/jest.config.js:12 x-pack/platform/plugins/shared/observability_solution/logs_data_access/tsconfig.json:2 x-pack/platform/plugins/shared/observability_solution/logs_shared/jest.config.js:10 x-pack/platform/plugins/shared/observability_solution/logs_shared/public/components/log_stream/log_stream.stories.mdx:12 x-pack/platform/plugins/shared/observability_solution/logs_shared/tsconfig.json:2 x-pack/platform/plugins/shared/observability_solution/logs_shared/tsconfig.json:7 x-pack/solutions/observability/packages/kbn-custom-integrations/jest.config.js:12 x-pack/solutions/observability/packages/kbn-custom-integrations/tsconfig.json:2 x-pack/solutions/observability/plugins/infra/README.md:121 x-pack/solutions/observability/plugins/infra/README.md:29 x-pack/solutions/observability/plugins/infra/docs/telemetry/define_custom_events.md:18 x-pack/solutions/observability/plugins/infra/jest.config.js:10 x-pack/solutions/observability/plugins/infra/tsconfig.json:2 x-pack/solutions/observability/plugins/infra/tsconfig.json:7 x-pack/solutions/observability/plugins/logs_explorer/jest.config.js:10 x-pack/solutions/observability/plugins/logs_explorer/tsconfig.json:2 x-pack/solutions/observability/plugins/logs_explorer/tsconfig.json:7 x-pack/solutions/observability/plugins/observability_logs_explorer/jest.config.js:10 x-pack/solutions/observability/plugins/observability_logs_explorer/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_logs_explorer/tsconfig.json:7 x-pack/solutions/observability/plugins/observability_onboarding/e2e/README.md:3 x-pack/solutions/observability/plugins/observability_onboarding/e2e/tsconfig.json:11 x-pack/solutions/observability/plugins/observability_onboarding/e2e/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_onboarding/jest.config.js:12 x-pack/solutions/observability/plugins/observability_onboarding/tsconfig.json:2 x-pack/solutions/observability/plugins/observability_onboarding/tsconfig.json:7 ``` </details> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
8a9992969a
|
[8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/obs-ux-infra_services-team (#202830) (#205231)
# Backport This will backport the following commits from `main` to `8.x`: - [Sustainable Kibana Architecture: Move modules owned by `@elastic/obs-ux-infra_services-team` (#202830)](https://github.com/elastic/kibana/pull/202830) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Gerard Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2024-12-29T08:58:37Z","message":"Sustainable Kibana Architecture: Move modules owned by `@elastic/obs-ux-infra_services-team` (#202830)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules (plugins and\r\npackages) into a new folder structure, according to the _Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors in the error section below (if there are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint config files), and update them\r\nappropriately.\r\n> * Manually review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that\r\nany CI pipeline customizations continue to be correctly applied after\r\nthe changed path names\r\n> * Review all of the updated files, specially the `.ts` and `.js` files\r\nlisted in the sections below, as some of them contain relative paths\r\nthat have been updated.\r\n> * Think of potential impact of the move, including tooling and\r\nconfiguration files that can be pointing to the relocated modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to source code\r\n\r\n> [!NOTE]\r\n> * This PR has been auto-generated.\r\n> * Any manual contributions will be lost if the 'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews / approvals before applying manual\r\nfixes, and/or keep your changes in a .patch / git stash.\r\n> * Please use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve merge conflicts? Please follow\r\nthe steps describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n#### 6 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/apm-data-access-plugin` |\r\n`x-pack/solutions/observability/plugins/apm_data_access` |\r\n| `@kbn/apm-plugin` | `x-pack/solutions/observability/plugins/apm` |\r\n| `@kbn/inventory-plugin` |\r\n`x-pack/solutions/observability/plugins/inventory` |\r\n| `@kbn/metrics-data-access-plugin` |\r\n`x-pack/solutions/observability/plugins/metrics_data_access` |\r\n| `@kbn/profiling-data-access-plugin` |\r\n`x-pack/solutions/observability/plugins/profiling_data_access` |\r\n| `@kbn/profiling-plugin` |\r\n`x-pack/solutions/observability/plugins/profiling` |\r\n\r\n\r\n\r\n\r\n#### 6 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/apm-data-view` |\r\n`src/platform/packages/shared/kbn-apm-data-view` |\r\n| `@kbn/apm-types` |\r\n`x-pack/solutions/observability/packages/kbn-apm-types` |\r\n| `@kbn/apm-utils` | `src/platform/packages/shared/kbn-apm-utils` |\r\n| `@kbn/lens-embeddable-utils` |\r\n`src/platform/packages/shared/kbn-lens-embeddable-utils` |\r\n| `@kbn/profiling-utils` |\r\n`src/platform/packages/shared/kbn-profiling-utils` |\r\n| `@kbn/shared-svg` | `src/platform/packages/shared/kbn-shared-svg` |\r\n\r\n\r\n<details >\r\n<summary>Updated references</summary>\r\n\r\n```\r\n./.buildkite/ftr_oblt_stateful_configs.yml\r\n./.buildkite/scripts/steps/functional/apm_cypress.sh\r\n./.buildkite/scripts/steps/functional/inventory_cypress.sh\r\n./.buildkite/scripts/steps/functional/profiling_cypress.sh\r\n./.eslintrc.js\r\n./.github/paths-labeller.yml\r\n./.gitignore\r\n./docs/developer/plugin-list.asciidoc\r\n./oas_docs/overlays/alerting.overlays.yaml\r\n./oas_docs/scripts/merge_ess_oas.js\r\n./oas_docs/scripts/merge_serverless_oas.js\r\n./package.json\r\n./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts\r\n./packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts\r\n./packages/kbn-repo-packages/package-map.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/dev/precommit_hook/casing_check_config.js\r\n./src/dev/storybook/aliases.ts\r\n./src/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-profiling-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-shared-svg/jest.config.js\r\n./tsconfig.base.json\r\n./x-pack/.i18nrc.json\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_index_info.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_significant_term_p_values.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_top_terms.ts\r\n./x-pack/platform/plugins/private/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.ts\r\n./x-pack/solutions/observability/plugins/apm/common/rules/apm_rule_types.ts\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/apm_queries.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/linting.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/local_setup.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/testing.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/updating_functional_tests_archives.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md\r\n./x-pack/solutions/observability/plugins/apm/ftr_e2e/README.md\r\n./x-pack/solutions/observability/plugins/apm/jest.config.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts\r\n./x-pack/solutions/observability/plugins/apm/scripts/precommit.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/telemetry/main.ts\r\n./x-pack/solutions/observability/plugins/apm_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/exploratory_view/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/inventory/README.md\r\n./x-pack/solutions/observability/plugins/inventory/jest.config.js\r\n./x-pack/solutions/observability/plugins/metrics_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/observability/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/profiling/README.md\r\n./x-pack/solutions/observability/plugins/profiling/e2e/README.md\r\n./x-pack/solutions/observability/plugins/profiling/jest.config.js\r\n./x-pack/solutions/observability/plugins/profiling_data_access/jest.config.js\r\n./x-pack/solutions/security/plugins/security_solution/server/utils/build_query/calculate_timeseries_interval.ts\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details >\r\n<summary>Updated relative paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/kbn-apm-data-view/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-apm-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-profiling-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-profiling-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-shared-svg/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-shared-svg/tsconfig.json:2\r\nx-pack/solutions/observability/packages/kbn-apm-types/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:17\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:22\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:130\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:222\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:78\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:96\r\nx-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md:42\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/README.md:3\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts:125\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:15\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:33\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:38\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:50\r\nx-pack/solutions/observability/plugins/apm/scripts/shared/read_kibana_config.ts:16\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/apm_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/inventory/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/jest.config.js:10\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/metrics_data_access/jest.config.js:10\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/profiling/README.md:52\r\nx-pack/solutions/observability/plugins/profiling/e2e/README.md:3\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:11\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling/jest.config.js:10\r\nx-pack/solutions/observability/plugins/profiling/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/profiling_data_access/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"8899fb8fa2d667d3ee36a3be28fb284de5056afc","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","backport:skip","v9.0.0","ci:project-deploy-observability","Team:obs-ux-infra_services","Team:obs-ux-management","plugin groups"],"number":202830,"url":"https://github.com/elastic/kibana/pull/202830","mergeCommit":{"message":"Sustainable Kibana Architecture: Move modules owned by `@elastic/obs-ux-infra_services-team` (#202830)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules (plugins and\r\npackages) into a new folder structure, according to the _Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors in the error section below (if there are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint config files), and update them\r\nappropriately.\r\n> * Manually review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that\r\nany CI pipeline customizations continue to be correctly applied after\r\nthe changed path names\r\n> * Review all of the updated files, specially the `.ts` and `.js` files\r\nlisted in the sections below, as some of them contain relative paths\r\nthat have been updated.\r\n> * Think of potential impact of the move, including tooling and\r\nconfiguration files that can be pointing to the relocated modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to source code\r\n\r\n> [!NOTE]\r\n> * This PR has been auto-generated.\r\n> * Any manual contributions will be lost if the 'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews / approvals before applying manual\r\nfixes, and/or keep your changes in a .patch / git stash.\r\n> * Please use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve merge conflicts? Please follow\r\nthe steps describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n#### 6 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/apm-data-access-plugin` |\r\n`x-pack/solutions/observability/plugins/apm_data_access` |\r\n| `@kbn/apm-plugin` | `x-pack/solutions/observability/plugins/apm` |\r\n| `@kbn/inventory-plugin` |\r\n`x-pack/solutions/observability/plugins/inventory` |\r\n| `@kbn/metrics-data-access-plugin` |\r\n`x-pack/solutions/observability/plugins/metrics_data_access` |\r\n| `@kbn/profiling-data-access-plugin` |\r\n`x-pack/solutions/observability/plugins/profiling_data_access` |\r\n| `@kbn/profiling-plugin` |\r\n`x-pack/solutions/observability/plugins/profiling` |\r\n\r\n\r\n\r\n\r\n#### 6 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/apm-data-view` |\r\n`src/platform/packages/shared/kbn-apm-data-view` |\r\n| `@kbn/apm-types` |\r\n`x-pack/solutions/observability/packages/kbn-apm-types` |\r\n| `@kbn/apm-utils` | `src/platform/packages/shared/kbn-apm-utils` |\r\n| `@kbn/lens-embeddable-utils` |\r\n`src/platform/packages/shared/kbn-lens-embeddable-utils` |\r\n| `@kbn/profiling-utils` |\r\n`src/platform/packages/shared/kbn-profiling-utils` |\r\n| `@kbn/shared-svg` | `src/platform/packages/shared/kbn-shared-svg` |\r\n\r\n\r\n<details >\r\n<summary>Updated references</summary>\r\n\r\n```\r\n./.buildkite/ftr_oblt_stateful_configs.yml\r\n./.buildkite/scripts/steps/functional/apm_cypress.sh\r\n./.buildkite/scripts/steps/functional/inventory_cypress.sh\r\n./.buildkite/scripts/steps/functional/profiling_cypress.sh\r\n./.eslintrc.js\r\n./.github/paths-labeller.yml\r\n./.gitignore\r\n./docs/developer/plugin-list.asciidoc\r\n./oas_docs/overlays/alerting.overlays.yaml\r\n./oas_docs/scripts/merge_ess_oas.js\r\n./oas_docs/scripts/merge_serverless_oas.js\r\n./package.json\r\n./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts\r\n./packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts\r\n./packages/kbn-repo-packages/package-map.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/dev/precommit_hook/casing_check_config.js\r\n./src/dev/storybook/aliases.ts\r\n./src/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-profiling-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-shared-svg/jest.config.js\r\n./tsconfig.base.json\r\n./x-pack/.i18nrc.json\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_index_info.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_significant_term_p_values.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_top_terms.ts\r\n./x-pack/platform/plugins/private/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.ts\r\n./x-pack/solutions/observability/plugins/apm/common/rules/apm_rule_types.ts\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/apm_queries.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/linting.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/local_setup.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/testing.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/updating_functional_tests_archives.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md\r\n./x-pack/solutions/observability/plugins/apm/ftr_e2e/README.md\r\n./x-pack/solutions/observability/plugins/apm/jest.config.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts\r\n./x-pack/solutions/observability/plugins/apm/scripts/precommit.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/telemetry/main.ts\r\n./x-pack/solutions/observability/plugins/apm_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/exploratory_view/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/inventory/README.md\r\n./x-pack/solutions/observability/plugins/inventory/jest.config.js\r\n./x-pack/solutions/observability/plugins/metrics_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/observability/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/profiling/README.md\r\n./x-pack/solutions/observability/plugins/profiling/e2e/README.md\r\n./x-pack/solutions/observability/plugins/profiling/jest.config.js\r\n./x-pack/solutions/observability/plugins/profiling_data_access/jest.config.js\r\n./x-pack/solutions/security/plugins/security_solution/server/utils/build_query/calculate_timeseries_interval.ts\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details >\r\n<summary>Updated relative paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/kbn-apm-data-view/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-apm-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-profiling-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-profiling-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-shared-svg/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-shared-svg/tsconfig.json:2\r\nx-pack/solutions/observability/packages/kbn-apm-types/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:17\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:22\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:130\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:222\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:78\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:96\r\nx-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md:42\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/README.md:3\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts:125\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:15\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:33\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:38\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:50\r\nx-pack/solutions/observability/plugins/apm/scripts/shared/read_kibana_config.ts:16\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/apm_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/inventory/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/jest.config.js:10\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/metrics_data_access/jest.config.js:10\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/profiling/README.md:52\r\nx-pack/solutions/observability/plugins/profiling/e2e/README.md:3\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:11\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling/jest.config.js:10\r\nx-pack/solutions/observability/plugins/profiling/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/profiling_data_access/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"8899fb8fa2d667d3ee36a3be28fb284de5056afc"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202830","number":202830,"mergeCommit":{"message":"Sustainable Kibana Architecture: Move modules owned by `@elastic/obs-ux-infra_services-team` (#202830)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules (plugins and\r\npackages) into a new folder structure, according to the _Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors in the error section below (if there are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint config files), and update them\r\nappropriately.\r\n> * Manually review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that\r\nany CI pipeline customizations continue to be correctly applied after\r\nthe changed path names\r\n> * Review all of the updated files, specially the `.ts` and `.js` files\r\nlisted in the sections below, as some of them contain relative paths\r\nthat have been updated.\r\n> * Think of potential impact of the move, including tooling and\r\nconfiguration files that can be pointing to the relocated modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to source code\r\n\r\n> [!NOTE]\r\n> * This PR has been auto-generated.\r\n> * Any manual contributions will be lost if the 'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews / approvals before applying manual\r\nfixes, and/or keep your changes in a .patch / git stash.\r\n> * Please use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve merge conflicts? Please follow\r\nthe steps describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n#### 6 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/apm-data-access-plugin` |\r\n`x-pack/solutions/observability/plugins/apm_data_access` |\r\n| `@kbn/apm-plugin` | `x-pack/solutions/observability/plugins/apm` |\r\n| `@kbn/inventory-plugin` |\r\n`x-pack/solutions/observability/plugins/inventory` |\r\n| `@kbn/metrics-data-access-plugin` |\r\n`x-pack/solutions/observability/plugins/metrics_data_access` |\r\n| `@kbn/profiling-data-access-plugin` |\r\n`x-pack/solutions/observability/plugins/profiling_data_access` |\r\n| `@kbn/profiling-plugin` |\r\n`x-pack/solutions/observability/plugins/profiling` |\r\n\r\n\r\n\r\n\r\n#### 6 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/apm-data-view` |\r\n`src/platform/packages/shared/kbn-apm-data-view` |\r\n| `@kbn/apm-types` |\r\n`x-pack/solutions/observability/packages/kbn-apm-types` |\r\n| `@kbn/apm-utils` | `src/platform/packages/shared/kbn-apm-utils` |\r\n| `@kbn/lens-embeddable-utils` |\r\n`src/platform/packages/shared/kbn-lens-embeddable-utils` |\r\n| `@kbn/profiling-utils` |\r\n`src/platform/packages/shared/kbn-profiling-utils` |\r\n| `@kbn/shared-svg` | `src/platform/packages/shared/kbn-shared-svg` |\r\n\r\n\r\n<details >\r\n<summary>Updated references</summary>\r\n\r\n```\r\n./.buildkite/ftr_oblt_stateful_configs.yml\r\n./.buildkite/scripts/steps/functional/apm_cypress.sh\r\n./.buildkite/scripts/steps/functional/inventory_cypress.sh\r\n./.buildkite/scripts/steps/functional/profiling_cypress.sh\r\n./.eslintrc.js\r\n./.github/paths-labeller.yml\r\n./.gitignore\r\n./docs/developer/plugin-list.asciidoc\r\n./oas_docs/overlays/alerting.overlays.yaml\r\n./oas_docs/scripts/merge_ess_oas.js\r\n./oas_docs/scripts/merge_serverless_oas.js\r\n./package.json\r\n./packages/kbn-eslint-plugin-i18n/helpers/get_i18n_identifier_from_file_path.test.ts\r\n./packages/kbn-eslint-plugin-telemetry/helpers/get_app_name.test.ts\r\n./packages/kbn-repo-packages/package-map.json\r\n./packages/kbn-ts-projects/config-paths.json\r\n./src/dev/precommit_hook/casing_check_config.js\r\n./src/dev/storybook/aliases.ts\r\n./src/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-profiling-utils/jest.config.js\r\n./src/platform/packages/shared/kbn-shared-svg/jest.config.js\r\n./tsconfig.base.json\r\n./x-pack/.i18nrc.json\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_index_info.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_significant_term_p_values.ts\r\n./x-pack/platform/packages/shared/ml/aiops_log_rate_analysis/queries/fetch_top_terms.ts\r\n./x-pack/platform/plugins/private/data_visualizer/public/application/index_data_visualizer/utils/saved_search_utils.ts\r\n./x-pack/solutions/observability/plugins/apm/common/rules/apm_rule_types.ts\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/apm_queries.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/linting.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/local_setup.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/testing.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/updating_functional_tests_archives.md\r\n./x-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md\r\n./x-pack/solutions/observability/plugins/apm/ftr_e2e/README.md\r\n./x-pack/solutions/observability/plugins/apm/jest.config.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts\r\n./x-pack/solutions/observability/plugins/apm/scripts/precommit.js\r\n./x-pack/solutions/observability/plugins/apm/scripts/telemetry/main.ts\r\n./x-pack/solutions/observability/plugins/apm_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/exploratory_view/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/inventory/README.md\r\n./x-pack/solutions/observability/plugins/inventory/jest.config.js\r\n./x-pack/solutions/observability/plugins/metrics_data_access/jest.config.js\r\n./x-pack/solutions/observability/plugins/observability/common/annotations.ts\r\n./x-pack/solutions/observability/plugins/profiling/README.md\r\n./x-pack/solutions/observability/plugins/profiling/e2e/README.md\r\n./x-pack/solutions/observability/plugins/profiling/jest.config.js\r\n./x-pack/solutions/observability/plugins/profiling_data_access/jest.config.js\r\n./x-pack/solutions/security/plugins/security_solution/server/utils/build_query/calculate_timeseries_interval.ts\r\n./yarn.lock\r\n.github/CODEOWNERS\r\n```\r\n\r\n</details><details >\r\n<summary>Updated relative paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/kbn-apm-data-view/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-apm-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-lens-embeddable-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-profiling-utils/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-profiling-utils/tsconfig.json:2\r\nsrc/platform/packages/shared/kbn-shared-svg/jest.config.js:12\r\nsrc/platform/packages/shared/kbn-shared-svg/tsconfig.json:2\r\nx-pack/solutions/observability/packages/kbn-apm-types/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:17\r\nx-pack/solutions/observability/plugins/apm/dev_docs/telemetry.md:22\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:130\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:222\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:78\r\nx-pack/solutions/observability/plugins/apm/dev_docs/testing.md:96\r\nx-pack/solutions/observability/plugins/apm/dev_docs/vscode_setup.md:42\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/README.md:3\r\nx-pack/solutions/observability/plugins/apm/ftr_e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm/scripts/infer_route_return_types/index.ts:125\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:15\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:33\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:38\r\nx-pack/solutions/observability/plugins/apm/scripts/precommit.js:50\r\nx-pack/solutions/observability/plugins/apm/scripts/shared/read_kibana_config.ts:16\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/apm_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/apm_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/inventory/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/jest.config.js:10\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/inventory/tsconfig.json:7\r\nx-pack/solutions/observability/plugins/metrics_data_access/jest.config.js:10\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/metrics_data_access/tsconfig.json:6\r\nx-pack/solutions/observability/plugins/profiling/README.md:52\r\nx-pack/solutions/observability/plugins/profiling/e2e/README.md:3\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:11\r\nx-pack/solutions/observability/plugins/profiling/e2e/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling/jest.config.js:10\r\nx-pack/solutions/observability/plugins/profiling/tsconfig.json:2\r\nx-pack/solutions/observability/plugins/profiling_data_access/jest.config.js:12\r\nx-pack/solutions/observability/plugins/profiling_data_access/tsconfig.json:2\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"8899fb8fa2d667d3ee36a3be28fb284de5056afc"}}]}] BACKPORT--> --------- Co-authored-by: Gerard Soldevila <gerard.soldevila@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
86b3ea99d8
|
[8.x] Backport: Sustainable Kibana Architecture: Move modules owned by @elastic/response-ops (#205166)
Backport https://github.com/elastic/kibana/pull/202836 --------- Co-authored-by: Gerard Soldevila <gerard.soldevila@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
1672b335f7
|
[8.x] Sustainable Kibana Architecture: Move modules owned by @elastic/fleet (#202422) (#205145)
# Backport This will backport the following commits from `main` to `8.x`: - [Sustainable Kibana Architecture: Move modules owned by `@elastic/fleet` (#202422)](https://github.com/elastic/kibana/pull/202422) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Gerard Soldevila","email":"gerard.soldevila@elastic.co"},"sourceCommit":{"committedDate":"2024-12-24T14:32:43Z","message":"Sustainable Kibana Architecture: Move modules owned by `@elastic/fleet` (#202422)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules (plugins and\r\npackages) into a new folder structure, according to the _Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors in the error section below (if there are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint config files), and update them\r\nappropriately.\r\n> * Manually review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that\r\nany CI pipeline customizations continue to be correctly applied after\r\nthe changed path names\r\n> * Review all of the updated files, specially the `.ts` and `.js` files\r\nlisted in the sections below, as some of them contain relative paths\r\nthat have been updated.\r\n> * Think of potential impact of the move, including tooling and\r\nconfiguration files that can be pointing to the relocated modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to source code\r\n\r\n> [!NOTE]\r\n> * This PR has been auto-generated.\r\n> * Any manual contributions will be lost if the 'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews / approvals before applying manual\r\nfixes, and/or keep your changes in a .patch / git stash.\r\n> * Please use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve merge conflicts? Please follow\r\nthe steps describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n#### 2 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/custom-integrations-plugin` |\r\n`src/platform/plugins/shared/custom_integrations` |\r\n| `@kbn/fleet-plugin` | `x-pack/platform/plugins/shared/fleet` |\r\n\r\n\r\n\r\n\r\n#### 1 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/deeplinks-fleet` |\r\n`src/platform/packages/shared/deeplinks/fleet` |\r\n\r\n\r\n<details open>\r\n<summary>Script errors</summary>\r\n\r\n```\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\n```\r\n\r\n</details><details >\r\n<summary>Updated relative paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/deeplinks/fleet/jest.config.js:12\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.json:2\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/jest.config.js:12\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:7\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:20\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:26\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:29\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:32\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:35\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:38\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:41\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:9\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:22\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:26\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:29\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:28\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:6\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:8\r\nx-pack/platform/plugins/shared/fleet/cypress/tasks/login.ts:21\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:7\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:25\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:28\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:31\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:37\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:40\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:7\r\nx-pack/platform/plugins/shared/fleet/jest.config.js:10\r\nx-pack/platform/plugins/shared/fleet/jest.integration.config.js:10\r\nx-pack/platform/plugins/shared/fleet/package.json:11\r\nx-pack/platform/plugins/shared/fleet/package.json:12\r\nx-pack/platform/plugins/shared/fleet/package.json:15\r\nx-pack/platform/plugins/shared/fleet/package.json:16\r\nx-pack/platform/plugins/shared/fleet/package.json:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agent_policies/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agents/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/get_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/install_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:25\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:26\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:22\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:26\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:102\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:105\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:111\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:114\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:120\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:123\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:126\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:129\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:132\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:135\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:144\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:147\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:150\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:153\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:156\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:159\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:162\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:165\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:168\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:171\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:174\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:177\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:180\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:183\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:186\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:189\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:192\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:195\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:198\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:201\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:204\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:207\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:210\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:213\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:216\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:219\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:222\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:225\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:228\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:23\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:231\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:234\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:237\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:240\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:243\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:246\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:249\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:252\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:255\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:261\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:264\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:270\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:273\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:276\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:279\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:30\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:36\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:42\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:45\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:57\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:60\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:63\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:66\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:72\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:75\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:78\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:81\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:84\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:87\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:90\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:93\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:96\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:99\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by: pgayvallet <pierre.gayvallet@elastic.co>\r\nCo-authored-by: Nicolas Chaulet <nicolas.chaulet@elastic.co>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"fce686bc88ae4eb9606279f34ce097bd17900949","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","Team:Fleet","v9.0.0","backport:prev-minor","plugin groups"],"number":202422,"url":"https://github.com/elastic/kibana/pull/202422","mergeCommit":{"message":"Sustainable Kibana Architecture: Move modules owned by `@elastic/fleet` (#202422)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules (plugins and\r\npackages) into a new folder structure, according to the _Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors in the error section below (if there are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint config files), and update them\r\nappropriately.\r\n> * Manually review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that\r\nany CI pipeline customizations continue to be correctly applied after\r\nthe changed path names\r\n> * Review all of the updated files, specially the `.ts` and `.js` files\r\nlisted in the sections below, as some of them contain relative paths\r\nthat have been updated.\r\n> * Think of potential impact of the move, including tooling and\r\nconfiguration files that can be pointing to the relocated modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to source code\r\n\r\n> [!NOTE]\r\n> * This PR has been auto-generated.\r\n> * Any manual contributions will be lost if the 'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews / approvals before applying manual\r\nfixes, and/or keep your changes in a .patch / git stash.\r\n> * Please use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve merge conflicts? Please follow\r\nthe steps describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n#### 2 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/custom-integrations-plugin` |\r\n`src/platform/plugins/shared/custom_integrations` |\r\n| `@kbn/fleet-plugin` | `x-pack/platform/plugins/shared/fleet` |\r\n\r\n\r\n\r\n\r\n#### 1 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/deeplinks-fleet` |\r\n`src/platform/packages/shared/deeplinks/fleet` |\r\n\r\n\r\n<details open>\r\n<summary>Script errors</summary>\r\n\r\n```\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\n```\r\n\r\n</details><details >\r\n<summary>Updated relative paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/deeplinks/fleet/jest.config.js:12\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.json:2\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/jest.config.js:12\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:7\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:20\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:26\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:29\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:32\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:35\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:38\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:41\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:9\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:22\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:26\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:29\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:28\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:6\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:8\r\nx-pack/platform/plugins/shared/fleet/cypress/tasks/login.ts:21\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:7\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:25\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:28\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:31\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:37\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:40\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:7\r\nx-pack/platform/plugins/shared/fleet/jest.config.js:10\r\nx-pack/platform/plugins/shared/fleet/jest.integration.config.js:10\r\nx-pack/platform/plugins/shared/fleet/package.json:11\r\nx-pack/platform/plugins/shared/fleet/package.json:12\r\nx-pack/platform/plugins/shared/fleet/package.json:15\r\nx-pack/platform/plugins/shared/fleet/package.json:16\r\nx-pack/platform/plugins/shared/fleet/package.json:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agent_policies/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agents/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/get_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/install_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:25\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:26\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:22\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:26\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:102\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:105\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:111\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:114\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:120\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:123\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:126\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:129\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:132\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:135\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:144\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:147\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:150\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:153\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:156\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:159\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:162\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:165\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:168\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:171\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:174\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:177\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:180\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:183\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:186\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:189\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:192\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:195\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:198\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:201\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:204\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:207\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:210\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:213\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:216\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:219\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:222\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:225\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:228\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:23\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:231\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:234\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:237\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:240\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:243\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:246\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:249\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:252\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:255\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:261\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:264\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:270\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:273\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:276\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:279\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:30\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:36\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:42\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:45\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:57\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:60\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:63\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:66\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:72\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:75\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:78\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:81\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:84\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:87\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:90\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:93\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:96\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:99\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by: pgayvallet <pierre.gayvallet@elastic.co>\r\nCo-authored-by: Nicolas Chaulet <nicolas.chaulet@elastic.co>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"fce686bc88ae4eb9606279f34ce097bd17900949"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202422","number":202422,"mergeCommit":{"message":"Sustainable Kibana Architecture: Move modules owned by `@elastic/fleet` (#202422)\n\n## Summary\r\n\r\nThis PR aims at relocating some of the Kibana modules (plugins and\r\npackages) into a new folder structure, according to the _Sustainable\r\nKibana Architecture_ initiative.\r\n\r\n> [!IMPORTANT]\r\n> * We kindly ask you to:\r\n> * Manually fix the errors in the error section below (if there are\r\nany).\r\n> * Search for the `packages[\\/\\\\]` and `plugins[\\/\\\\]` patterns in the\r\nsource code (Babel and Eslint config files), and update them\r\nappropriately.\r\n> * Manually review\r\n`.buildkite/scripts/pipelines/pull_request/pipeline.ts` to ensure that\r\nany CI pipeline customizations continue to be correctly applied after\r\nthe changed path names\r\n> * Review all of the updated files, specially the `.ts` and `.js` files\r\nlisted in the sections below, as some of them contain relative paths\r\nthat have been updated.\r\n> * Think of potential impact of the move, including tooling and\r\nconfiguration files that can be pointing to the relocated modules. E.g.:\r\n> * customised eslint rules\r\n> * docs pointing to source code\r\n\r\n> [!NOTE]\r\n> * This PR has been auto-generated.\r\n> * Any manual contributions will be lost if the 'relocate' script is\r\nre-run.\r\n> * Try to obtain the missing reviews / approvals before applying manual\r\nfixes, and/or keep your changes in a .patch / git stash.\r\n> * Please use\r\n[#sustainable_kibana_architecture](https://elastic.slack.com/archives/C07TCKTA22E)\r\nSlack channel for feedback.\r\n\r\nAre you trying to rebase this PR to solve merge conflicts? Please follow\r\nthe steps describe\r\n[here](https://elastic.slack.com/archives/C07TCKTA22E/p1734019532879269?thread_ts=1734019339.935419&cid=C07TCKTA22E).\r\n\r\n#### 2 plugin(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/custom-integrations-plugin` |\r\n`src/platform/plugins/shared/custom_integrations` |\r\n| `@kbn/fleet-plugin` | `x-pack/platform/plugins/shared/fleet` |\r\n\r\n\r\n\r\n\r\n#### 1 packages(s) are going to be relocated:\r\n\r\n| Id | Target folder |\r\n| -- | ------------- |\r\n| `@kbn/deeplinks-fleet` |\r\n`src/platform/packages/shared/deeplinks/fleet` |\r\n\r\n\r\n<details open>\r\n<summary>Script errors</summary>\r\n\r\n```\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:12\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot replace multiple occurrences of \"../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:8\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\nCannot replace multiple occurrences of \"../../..\" in the same line, please fix manually:\t/Users/pgayvallet/DEV/workspaces/elastic/kibana/x-pack/platform/plugins/shared/fleet/package.json:16\r\n```\r\n\r\n</details><details >\r\n<summary>Updated relative paths</summary>\r\n\r\n```\r\nsrc/platform/packages/shared/deeplinks/fleet/jest.config.js:12\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.json:2\r\nsrc/platform/packages/shared/deeplinks/fleet/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/jest.config.js:12\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.json:7\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:2\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:20\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:26\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:29\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:32\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:35\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:38\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:41\r\nsrc/platform/plugins/shared/custom_integrations/tsconfig.type_check.json:9\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:22\r\nx-pack/platform/plugins/shared/fleet/cypress.config.js:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:26\r\nx-pack/platform/plugins/shared/fleet/cypress.config.space_awareness.ts:29\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:25\r\nx-pack/platform/plugins/shared/fleet/cypress.config.ts:28\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:122\r\nx-pack/platform/plugins/shared/fleet/cypress/README.md:128\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:6\r\nx-pack/platform/plugins/shared/fleet/cypress/reporter_config.json:8\r\nx-pack/platform/plugins/shared/fleet/cypress/tasks/login.ts:21\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.json:7\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:25\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:28\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:31\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:37\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:40\r\nx-pack/platform/plugins/shared/fleet/cypress/tsconfig.type_check.json:7\r\nx-pack/platform/plugins/shared/fleet/jest.config.js:10\r\nx-pack/platform/plugins/shared/fleet/jest.integration.config.js:10\r\nx-pack/platform/plugins/shared/fleet/package.json:11\r\nx-pack/platform/plugins/shared/fleet/package.json:12\r\nx-pack/platform/plugins/shared/fleet/package.json:15\r\nx-pack/platform/plugins/shared/fleet/package.json:16\r\nx-pack/platform/plugins/shared/fleet/package.json:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agent_policies/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/create_agents/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/get_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/install_all_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/index.js:8\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:25\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:26\r\nx-pack/platform/plugins/shared/fleet/scripts/verify_test_packages/verify_test_packages.ts:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:22\r\nx-pack/platform/plugins/shared/fleet/tsconfig.json:26\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:102\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:105\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:111\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:114\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:120\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:123\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:126\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:129\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:132\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:135\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:144\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:147\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:150\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:153\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:156\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:159\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:162\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:165\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:168\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:171\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:174\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:177\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:180\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:183\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:186\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:189\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:192\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:195\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:198\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:2\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:201\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:204\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:207\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:210\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:213\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:216\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:219\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:222\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:225\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:228\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:23\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:231\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:234\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:237\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:240\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:243\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:246\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:249\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:252\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:255\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:261\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:264\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:27\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:270\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:273\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:276\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:279\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:30\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:36\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:42\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:45\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:57\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:60\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:63\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:66\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:72\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:75\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:78\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:81\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:84\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:87\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:90\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:93\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:96\r\nx-pack/platform/plugins/shared/fleet/tsconfig.type_check.json:99\r\n```\r\n\r\n</details>\r\n\r\n---------\r\n\r\nCo-authored-by: pgayvallet <pierre.gayvallet@elastic.co>\r\nCo-authored-by: Nicolas Chaulet <nicolas.chaulet@elastic.co>\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>","sha":"fce686bc88ae4eb9606279f34ce097bd17900949"}}]}] BACKPORT--> --------- Co-authored-by: Gerard Soldevila <gerard.soldevila@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> |
||
|
02aad830a0
|
[8.x] Improves Timeline API docs content (#192744) (#204900)
# Backport This will backport the following commits from `main` to `8.x`: - [Improves Timeline API docs content (#192744)](https://github.com/elastic/kibana/pull/192744) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"natasha-moore-elastic","email":"137783811+natasha-moore-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-19T08:03:59Z","message":"Improves Timeline API docs content (#192744)\n\n## Summary\r\n\r\nResolves https://github.com/elastic/security-docs-internal/issues/35 by\r\nimproving the Timeline API docs content. Adds missing and improves\r\nexisting operation summaries and operation descriptions to adhere to our\r\n[OAS\r\nstandards]( |
||
|
013c054b18
|
[8.x] Improves Entity Analytics API content (#193404) (#204913)
# Backport This will backport the following commits from `main` to `8.x`: - [Improves Entity Analytics API content (#193404)](https://github.com/elastic/kibana/pull/193404) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"natasha-moore-elastic","email":"137783811+natasha-moore-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-20T10:26:54Z","message":"Improves Entity Analytics API content (#193404)\n\n## Summary\r\n\r\nResolves https://github.com/elastic/security-docs-internal/issues/39 by\r\nimproving the Entity Analytics API docs content. Adds missing and\r\nimproves existing operation summaries and operation descriptions to\r\nadhere to our [OAS\r\nstandards]( |
||
|
db1c118fa1
|
[8.x] [Discover] Rename Saved Search to Discover Session (#202217) (#204818)
# Backport This will backport the following commits from `main` to `8.x`: - [[Discover] Rename Saved Search to Discover Session (#202217)](https://github.com/elastic/kibana/pull/202217) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Julia Rechkunova","email":"julia.rechkunova@elastic.co"},"sourceCommit":{"committedDate":"2024-12-18T12:45:32Z","message":"[Discover] Rename Saved Search to Discover Session (#202217)\n\n- Closes https://github.com/elastic/kibana/issues/174144\r\n\r\n## Summary\r\n\r\nThis PR renames Saved Search into Discover Session in UI.\r\n\r\n- [x] Discover\r\n- [x] Saved Objects page and modal\r\n- [x] Docs\r\n- [x] Other occurrences \r\n\r\n<img width=\"810\" alt=\"Screenshot 2024-12-16 at 15 20 10\"\r\nsrc=\"https://github.com/user-attachments/assets/e39083da-f496-4ed5-bbdc-8e184897fc41\"\r\n/>\r\n<img width=\"1220\" alt=\"Screenshot 2024-12-11 at 14 40 15\"\r\nsrc=\"https://github.com/user-attachments/assets/a6dc3e29-e1a5-4304-8148-0108231cc9de\"\r\n/>\r\n<img width=\"1476\" alt=\"Screenshot 2024-12-16 at 14 57 39\"\r\nsrc=\"https://github.com/user-attachments/assets/4b34c70e-e21a-4d82-85f2-f5a3cb7a3826\"\r\n/>\r\n\r\n\r\n### Checklist\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [x] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: wajihaparvez <wajiha.parvez@elastic.co>\r\nCo-authored-by: Davis McPhee <davismcphee@hotmail.com>\r\nCo-authored-by: Julia Bardi <90178898+juliaElastic@users.noreply.github.com>","sha":"40c90550f12f99f23e6b7d545c7427e30d648dab","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","Team:Fleet","v9.0.0","Team:DataDiscovery","backport:prev-minor","ci:project-deploy-observability"],"number":202217,"url":"https://github.com/elastic/kibana/pull/202217","mergeCommit":{"message":"[Discover] Rename Saved Search to Discover Session (#202217)\n\n- Closes https://github.com/elastic/kibana/issues/174144\r\n\r\n## Summary\r\n\r\nThis PR renames Saved Search into Discover Session in UI.\r\n\r\n- [x] Discover\r\n- [x] Saved Objects page and modal\r\n- [x] Docs\r\n- [x] Other occurrences \r\n\r\n<img width=\"810\" alt=\"Screenshot 2024-12-16 at 15 20 10\"\r\nsrc=\"https://github.com/user-attachments/assets/e39083da-f496-4ed5-bbdc-8e184897fc41\"\r\n/>\r\n<img width=\"1220\" alt=\"Screenshot 2024-12-11 at 14 40 15\"\r\nsrc=\"https://github.com/user-attachments/assets/a6dc3e29-e1a5-4304-8148-0108231cc9de\"\r\n/>\r\n<img width=\"1476\" alt=\"Screenshot 2024-12-16 at 14 57 39\"\r\nsrc=\"https://github.com/user-attachments/assets/4b34c70e-e21a-4d82-85f2-f5a3cb7a3826\"\r\n/>\r\n\r\n\r\n### Checklist\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [x] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: wajihaparvez <wajiha.parvez@elastic.co>\r\nCo-authored-by: Davis McPhee <davismcphee@hotmail.com>\r\nCo-authored-by: Julia Bardi <90178898+juliaElastic@users.noreply.github.com>","sha":"40c90550f12f99f23e6b7d545c7427e30d648dab"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","labelRegex":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202217","number":202217,"mergeCommit":{"message":"[Discover] Rename Saved Search to Discover Session (#202217)\n\n- Closes https://github.com/elastic/kibana/issues/174144\r\n\r\n## Summary\r\n\r\nThis PR renames Saved Search into Discover Session in UI.\r\n\r\n- [x] Discover\r\n- [x] Saved Objects page and modal\r\n- [x] Docs\r\n- [x] Other occurrences \r\n\r\n<img width=\"810\" alt=\"Screenshot 2024-12-16 at 15 20 10\"\r\nsrc=\"https://github.com/user-attachments/assets/e39083da-f496-4ed5-bbdc-8e184897fc41\"\r\n/>\r\n<img width=\"1220\" alt=\"Screenshot 2024-12-11 at 14 40 15\"\r\nsrc=\"https://github.com/user-attachments/assets/a6dc3e29-e1a5-4304-8148-0108231cc9de\"\r\n/>\r\n<img width=\"1476\" alt=\"Screenshot 2024-12-16 at 14 57 39\"\r\nsrc=\"https://github.com/user-attachments/assets/4b34c70e-e21a-4d82-85f2-f5a3cb7a3826\"\r\n/>\r\n\r\n\r\n### Checklist\r\n\r\n- [x] Any text added follows [EUI's writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing), uses\r\nsentence case text and includes [i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n- [x]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas added for features that require explanation or tutorials\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios\r\n- [x] The PR description includes the appropriate Release Notes section,\r\nand the correct `release_note:*` label is applied per the\r\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: wajihaparvez <wajiha.parvez@elastic.co>\r\nCo-authored-by: Davis McPhee <davismcphee@hotmail.com>\r\nCo-authored-by: Julia Bardi <90178898+juliaElastic@users.noreply.github.com>","sha":"40c90550f12f99f23e6b7d545c7427e30d648dab"}}]}] BACKPORT--> |
||
|
c2f4597c37
|
[8.x] Improves Exceptions API docs content (#193040) (#204725)
# Backport This will backport the following commits from `main` to `8.x`: - [Improves Exceptions API docs content (#193040)](https://github.com/elastic/kibana/pull/193040) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"natasha-moore-elastic","email":"137783811+natasha-moore-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-19T08:13:14Z","message":"Improves Exceptions API docs content (#193040)\n\n## Summary\r\n\r\nResolves https://github.com/elastic/security-docs-internal/issues/33 by\r\nimproving the Exceptions API docs content. Adds missing and improves\r\nexisting operation summaries and operation descriptions to adhere to our\r\n[OAS\r\nstandards]( |
||
|
a9cbf2077c
|
[8.x] Improves Endpoint exceptions API content (#193172) (#204738)
# Backport This will backport the following commits from `main` to `8.x`: - [Improves Endpoint exceptions API content (#193172)](https://github.com/elastic/kibana/pull/193172) <!--- Backport version: 8.9.8 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"natasha-moore-elastic","email":"137783811+natasha-moore-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-18T09:45:04Z","message":"Improves Endpoint exceptions API content (#193172)\n\n## Summary\r\n\r\nResolves https://github.com/elastic/security-docs-internal/issues/34 by\r\nimproving the Endpoint exceptions API docs content. Adds missing and\r\nimproves existing operation summaries and operation descriptions to\r\nadhere to our [OAS\r\nstandards]( |
||
|
82ed34444a
|
[8.x] SKA: Move modules owned by @elastic/security-detection-engine (#202844) (#204703)
## Summary Backport https://github.com/elastic/kibana/pull/202844 to `8.x` branch. |