# Backport
This will backport the following commits from `main` to `8.16`:
- [Disable `allowAbsoluteUrls` for axios
(#215138)](https://github.com/elastic/kibana/pull/215138)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Alex
Szabo","email":"alex.szabo@elastic.co"},"sourceCommit":{"committedDate":"2025-03-25T08:52:36Z","message":"Disable
`allowAbsoluteUrls` for axios (#215138)\n\n## Summary\nAfter
https://github.com/elastic/kibana/pull/214843, `axios` client\nusages
need to set a flag to prevent the vulnerable behavior.\n\nTo reviewers:
if you think it's a mistake, and you created a client to\nrequest for
absolute URLs, consider unsetting the `baseURL` to\ncommunicate
intent.","sha":"e40b17aa22ec1a2fbc56ae8651e12f658099ec14","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Operations","Team:QA","Team:Security","release_note:skip","backport:all-open","Team:obs-ux-logs","Team:obs-ux-infra_services","v9.1.0"],"title":"Disable
`allowAbsoluteUrls` for
axios","number":215138,"url":"https://github.com/elastic/kibana/pull/215138","mergeCommit":{"message":"Disable
`allowAbsoluteUrls` for axios (#215138)\n\n## Summary\nAfter
https://github.com/elastic/kibana/pull/214843, `axios` client\nusages
need to set a flag to prevent the vulnerable behavior.\n\nTo reviewers:
if you think it's a mistake, and you created a client to\nrequest for
absolute URLs, consider unsetting the `baseURL` to\ncommunicate
intent.","sha":"e40b17aa22ec1a2fbc56ae8651e12f658099ec14"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/215138","number":215138,"mergeCommit":{"message":"Disable
`allowAbsoluteUrls` for axios (#215138)\n\n## Summary\nAfter
https://github.com/elastic/kibana/pull/214843, `axios` client\nusages
need to set a flag to prevent the vulnerable behavior.\n\nTo reviewers:
if you think it's a mistake, and you created a client to\nrequest for
absolute URLs, consider unsetting the `baseURL` to\ncommunicate
intent.","sha":"e40b17aa22ec1a2fbc56ae8651e12f658099ec14"}}]}]
BACKPORT-->
---------
Co-authored-by: Alex Szabo <alex.szabo@elastic.co>
# Backport
This will backport the following commits from `main` to `8.16`:
- [[ResponseOps][Actions] Allow to delete connectors with unsupported
connector type using the API
(#208033)](https://github.com/elastic/kibana/pull/208033)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT
[{"author":{"name":"Antonio","email":"antonio.coelho@elastic.co"},"sourceCommit":{"committedDate":"2025-01-29T00:37:12Z","message":"[ResponseOps][Actions]
Allow to delete connectors with unsupported connector type using the API
(#208033)\n\nCloses #207188\r\n\r\n## Summary\r\n\r\nThis is a freak
scenario that is hard to reproduce. That is why I did\r\nnot add a test
in\r\n`x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/delete.ts`.\r\nWe
cannot create a connector with an unregistered type so there is
no\r\nway to test deletion in the functional tests.\r\n\r\nI added a
unit test and there are steps below to test manually too.\r\n\r\n### How
to reproduce\r\n\r\n1. Create a connector, let's say `Pagerduty`.\r\n2.
Stop Kibana.\r\n3. Change the connector type id
in\r\n`stack_connectors/server/connector_types/pagerduty/index.ts`\r\n -
`'.pagerduty'` -> `'.pagerduty-foobar'`.\r\n- This will mean that when
you restart Kibana a new connector ID will be\r\nregistered and the
existing connector you created will be invalid/not\r\nsupported.\r\n4.
Restart Kibana.\r\n5. Try to delete the connector.\r\n\r\nIf this PR
works, you can delete the connector, and an error should be\r\nlogged in
the Kibana console.\r\n\r\nOn main the deletion would have
failed.","sha":"e5d38af58bbd6bd62c2869516c383383245a3d0d","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","Team:ResponseOps","v9.0.0","Feature:Actions/ConnectorsManagement","backport:prev-major"],"title":"[ResponseOps][Actions]
Allow to delete connectors with unsupported connector type using the
API","number":208033,"url":"https://github.com/elastic/kibana/pull/208033","mergeCommit":{"message":"[ResponseOps][Actions]
Allow to delete connectors with unsupported connector type using the API
(#208033)\n\nCloses #207188\r\n\r\n## Summary\r\n\r\nThis is a freak
scenario that is hard to reproduce. That is why I did\r\nnot add a test
in\r\n`x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/delete.ts`.\r\nWe
cannot create a connector with an unregistered type so there is
no\r\nway to test deletion in the functional tests.\r\n\r\nI added a
unit test and there are steps below to test manually too.\r\n\r\n### How
to reproduce\r\n\r\n1. Create a connector, let's say `Pagerduty`.\r\n2.
Stop Kibana.\r\n3. Change the connector type id
in\r\n`stack_connectors/server/connector_types/pagerduty/index.ts`\r\n -
`'.pagerduty'` -> `'.pagerduty-foobar'`.\r\n- This will mean that when
you restart Kibana a new connector ID will be\r\nregistered and the
existing connector you created will be invalid/not\r\nsupported.\r\n4.
Restart Kibana.\r\n5. Try to delete the connector.\r\n\r\nIf this PR
works, you can delete the connector, and an error should be\r\nlogged in
the Kibana console.\r\n\r\nOn main the deletion would have
failed.","sha":"e5d38af58bbd6bd62c2869516c383383245a3d0d"}},"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/208033","number":208033,"mergeCommit":{"message":"[ResponseOps][Actions]
Allow to delete connectors with unsupported connector type using the API
(#208033)\n\nCloses #207188\r\n\r\n## Summary\r\n\r\nThis is a freak
scenario that is hard to reproduce. That is why I did\r\nnot add a test
in\r\n`x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/delete.ts`.\r\nWe
cannot create a connector with an unregistered type so there is
no\r\nway to test deletion in the functional tests.\r\n\r\nI added a
unit test and there are steps below to test manually too.\r\n\r\n### How
to reproduce\r\n\r\n1. Create a connector, let's say `Pagerduty`.\r\n2.
Stop Kibana.\r\n3. Change the connector type id
in\r\n`stack_connectors/server/connector_types/pagerduty/index.ts`\r\n -
`'.pagerduty'` -> `'.pagerduty-foobar'`.\r\n- This will mean that when
you restart Kibana a new connector ID will be\r\nregistered and the
existing connector you created will be invalid/not\r\nsupported.\r\n4.
Restart Kibana.\r\n5. Try to delete the connector.\r\n\r\nIf this PR
works, you can delete the connector, and an error should be\r\nlogged in
the Kibana console.\r\n\r\nOn main the deletion would have
failed.","sha":"e5d38af58bbd6bd62c2869516c383383245a3d0d"}}]}]
BACKPORT-->
Co-authored-by: Antonio <antonio.coelho@elastic.co>
# Backport
This will backport the following commits from `main` to `8.16`:
- [[ResponseOps] Prepare the connector `create` HTTP API for
versioning (#194879)](https://github.com/elastic/kibana/pull/194879)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Alexi
Doak","email":"109488926+doakalexi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-10-23T14:55:49Z","message":"[ResponseOps]
Prepare the connector `create` HTTP API for versioning
(#194879)\n\nTowards
https://github.com/elastic/response-ops-team/issues/125\r\n\r\n##
Summary\r\n\r\nPreparing the `POST
${BASE_ACTION_API_PATH}/connector/{id?}` HTTP API\r\nfor
versioning","sha":"5adb0ea5d2c526aa4382677a508e1be0058bf890","branchLabelMapping":{"^v9.0.0$":"main","^v8.17.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor","v8.16.0"],"title":"[ResponseOps]
Prepare the connector `create` HTTP API for
versioning","number":194879,"url":"https://github.com/elastic/kibana/pull/194879","mergeCommit":{"message":"[ResponseOps]
Prepare the connector `create` HTTP API for versioning
(#194879)\n\nTowards
https://github.com/elastic/response-ops-team/issues/125\r\n\r\n##
Summary\r\n\r\nPreparing the `POST
${BASE_ACTION_API_PATH}/connector/{id?}` HTTP API\r\nfor
versioning","sha":"5adb0ea5d2c526aa4382677a508e1be0058bf890"}},"sourceBranch":"main","suggestedTargetBranches":["8.16"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/194879","number":194879,"mergeCommit":{"message":"[ResponseOps]
Prepare the connector `create` HTTP API for versioning
(#194879)\n\nTowards
https://github.com/elastic/response-ops-team/issues/125\r\n\r\n##
Summary\r\n\r\nPreparing the `POST
${BASE_ACTION_API_PATH}/connector/{id?}` HTTP API\r\nfor
versioning","sha":"5adb0ea5d2c526aa4382677a508e1be0058bf890"}},{"branch":"8.16","label":"v8.16.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Alexi Doak <109488926+doakalexi@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[ResponseOps] Prepare the connector `execute` HTTP API for
versioning (#194481)](https://github.com/elastic/kibana/pull/194481)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Alexi
Doak","email":"109488926+doakalexi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-10-16T14:25:41Z","message":"[ResponseOps]
Prepare the connector `execute` HTTP API for versioning
(#194481)\n\nTowards
https://github.com/elastic/response-ops-team/issues/125\r\n\r\n##
Summary\r\n\r\nPreparing the `POST
${BASE_ACTION_API_PATH}/connector/{id}/_execute`\r\nHTTP API for
versioning\r\n\r\n---------\r\n\r\nCo-authored-by: Ying Mao
<ying.mao@elastic.co>","sha":"241a05aa68cbaa737f5ccd92c1e6f91252a3cc9b","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor","v8.16.0"],"title":"[ResponseOps]
Prepare the connector `execute` HTTP API for
versioning","number":194481,"url":"https://github.com/elastic/kibana/pull/194481","mergeCommit":{"message":"[ResponseOps]
Prepare the connector `execute` HTTP API for versioning
(#194481)\n\nTowards
https://github.com/elastic/response-ops-team/issues/125\r\n\r\n##
Summary\r\n\r\nPreparing the `POST
${BASE_ACTION_API_PATH}/connector/{id}/_execute`\r\nHTTP API for
versioning\r\n\r\n---------\r\n\r\nCo-authored-by: Ying Mao
<ying.mao@elastic.co>","sha":"241a05aa68cbaa737f5ccd92c1e6f91252a3cc9b"}},"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/194481","number":194481,"mergeCommit":{"message":"[ResponseOps]
Prepare the connector `execute` HTTP API for versioning
(#194481)\n\nTowards
https://github.com/elastic/response-ops-team/issues/125\r\n\r\n##
Summary\r\n\r\nPreparing the `POST
${BASE_ACTION_API_PATH}/connector/{id}/_execute`\r\nHTTP API for
versioning\r\n\r\n---------\r\n\r\nCo-authored-by: Ying Mao
<ying.mao@elastic.co>","sha":"241a05aa68cbaa737f5ccd92c1e6f91252a3cc9b"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Alexi Doak <109488926+doakalexi@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [Adding model versions for all remaining so types without model
versions (#195500)](https://github.com/elastic/kibana/pull/195500)
<!--- Backport version: 8.9.8 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Ying
Mao","email":"ying.mao@elastic.co"},"sourceCommit":{"committedDate":"2024-10-15T22:22:46Z","message":"Adding
model versions for all remaining so types without model versions
(#195500)\n\nResolves
https://github.com/elastic/kibana/issues/184618\r\n\r\n##
Summary\r\n\r\nAdds v1 schemas for all remaining Response Ops owned
saved object types:\r\n* `connector_token`\r\n*
`api_key_pending_invalidation`\r\n* `maintenance-window`\r\n*
`rules-settings`\r\n\r\n## To Verify\r\n\r\n1. Run ES and Kibana on
`main` and create saved objects for each of the\r\nabove types:\r\na.
Create an OAuth ServiceNow ITOM connector to create
a\r\n`connector_token` saved object\r\nb. Create a rule, let it run, and
then delete the rule. This will create\r\nan
`api_key_pending_invalidation` SO and 2 `rules-settings` SOs\r\n c.
Create some maintenance windows, both with and without filters\r\n2.
Keep ES running and switch to this branch and restart Kibana.
Then\r\nverify you can read and modify the existing SOs with no
errors\r\na. Test the ServiceNow ITOM connector, which should read
the\r\n`connector_token` SO\r\nb. Modify the rules settings and then run
a rule to ensure they're\r\nloaded with no errors\r\n c. Load the
maintenance window UI and edit a MW\r\n\r\nCo-authored-by: Elastic
Machine
<elasticmachine@users.noreply.github.com>","sha":"d9cd17bdbd47d66968bd5fda6fb32a08134fbc2d","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:Alerting","release_note:skip","Feature:Actions","Team:ResponseOps","v9.0.0","backport:prev-minor","v8.16.0"],"number":195500,"url":"https://github.com/elastic/kibana/pull/195500","mergeCommit":{"message":"Adding
model versions for all remaining so types without model versions
(#195500)\n\nResolves
https://github.com/elastic/kibana/issues/184618\r\n\r\n##
Summary\r\n\r\nAdds v1 schemas for all remaining Response Ops owned
saved object types:\r\n* `connector_token`\r\n*
`api_key_pending_invalidation`\r\n* `maintenance-window`\r\n*
`rules-settings`\r\n\r\n## To Verify\r\n\r\n1. Run ES and Kibana on
`main` and create saved objects for each of the\r\nabove types:\r\na.
Create an OAuth ServiceNow ITOM connector to create
a\r\n`connector_token` saved object\r\nb. Create a rule, let it run, and
then delete the rule. This will create\r\nan
`api_key_pending_invalidation` SO and 2 `rules-settings` SOs\r\n c.
Create some maintenance windows, both with and without filters\r\n2.
Keep ES running and switch to this branch and restart Kibana.
Then\r\nverify you can read and modify the existing SOs with no
errors\r\na. Test the ServiceNow ITOM connector, which should read
the\r\n`connector_token` SO\r\nb. Modify the rules settings and then run
a rule to ensure they're\r\nloaded with no errors\r\n c. Load the
maintenance window UI and edit a MW\r\n\r\nCo-authored-by: Elastic
Machine
<elasticmachine@users.noreply.github.com>","sha":"d9cd17bdbd47d66968bd5fda6fb32a08134fbc2d"}},"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/195500","number":195500,"mergeCommit":{"message":"Adding
model versions for all remaining so types without model versions
(#195500)\n\nResolves
https://github.com/elastic/kibana/issues/184618\r\n\r\n##
Summary\r\n\r\nAdds v1 schemas for all remaining Response Ops owned
saved object types:\r\n* `connector_token`\r\n*
`api_key_pending_invalidation`\r\n* `maintenance-window`\r\n*
`rules-settings`\r\n\r\n## To Verify\r\n\r\n1. Run ES and Kibana on
`main` and create saved objects for each of the\r\nabove types:\r\na.
Create an OAuth ServiceNow ITOM connector to create
a\r\n`connector_token` saved object\r\nb. Create a rule, let it run, and
then delete the rule. This will create\r\nan
`api_key_pending_invalidation` SO and 2 `rules-settings` SOs\r\n c.
Create some maintenance windows, both with and without filters\r\n2.
Keep ES running and switch to this branch and restart Kibana.
Then\r\nverify you can read and modify the existing SOs with no
errors\r\na. Test the ServiceNow ITOM connector, which should read
the\r\n`connector_token` SO\r\nb. Modify the rules settings and then run
a rule to ensure they're\r\nloaded with no errors\r\n c. Load the
maintenance window UI and edit a MW\r\n\r\nCo-authored-by: Elastic
Machine
<elasticmachine@users.noreply.github.com>","sha":"d9cd17bdbd47d66968bd5fda6fb32a08134fbc2d"}},{"branch":"8.x","label":"v8.16.0","labelRegex":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
# Backport
This will backport the following commits from `main` to `8.x`:
- [[Connectors][GenAI] Inference Service Kibana connector
(#189027)](https://github.com/elastic/kibana/pull/189027)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Yuliia
Naumenko","email":"jo.naumenko@gmail.com"},"sourceCommit":{"committedDate":"2024-10-13T20:39:09Z","message":"[Connectors][GenAI]
Inference Service Kibana connector (#189027)\n\n## Summary\r\nResolves
https://github.com/elastic/kibana/issues/188043\r\n\r\nThis PR adds new
connector which is define integration with Elastic\r\nInference Endpoint
via
[Inference\r\nAPIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/inference-apis.html)\r\nThe
lifecycle of the Inference Endpoint are managed by the
connector\r\nregistered handlers:\r\n\r\n- `preSaveHook`
-\r\n[create](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-inference-api.html)\r\nnew
Inference Endpoint in the connector create mode (`isEdit ===
false`)\r\nand\r\n[delete](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-inference-api.html)+[create](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-inference-api.html)\r\nin
the connector edit mode (`isEdit === true`)\r\n- `postSaveHook` - check
if the connector SO was created/updated and if\r\nnot removes Inference
Endpoint from preSaveHook\r\n- `postDeleteHook`
-\r\n[delete](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-inference-api.html)\r\nInference
Endpoint if connector was deleted.\r\n\r\nIn the Kibana Stack Management
Connectors, its represented with the new\r\ncard (Technical preview
badge):\r\n\r\n<img width=\"1261\" alt=\"Screenshot 2024-09-27 at 2 11
12 PM\"\r\nsrc=\"https://github.com/user-attachments/assets/dcbcce1f-06e7-4d08-8b77-0ba4105354f8\">\r\n\r\nTo
simplify the future integration with AI Assistants, the
Connector\r\nconsists from the two main UI parts: provider selector and
required\r\nprovider settings, which will be always displayed\r\n<img
width=\"862\" alt=\"Screenshot 2024-10-07 at 7 59
09 AM\"\r\nsrc=\"https://github.com/user-attachments/assets/87bae493-c642-479e-b28f-6150354608dd\">\r\n\r\nand
Additional options, which contains optional provider settings
and\r\nTask Type configuration:\r\n\r\n<img width=\"861\"
alt=\"Screenshot 2024-10-07 at 8 00
15 AM\"\r\nsrc=\"https://github.com/user-attachments/assets/2341c034-6198-4731-8ce7-e22e6c6fb20f\">\r\n\r\n\r\nsubActions
corresponds to the different taskTypes Inference API\r\nsupports. Each
of the task type has its own Inference Perform params.\r\nCurrently
added:\r\n\r\n- completion & completionStream\r\n- rerank\r\n-
text_embedding\r\n- sparse_embedding\r\n\r\nFollow up work:\r\n\r\n1.
Collapse/expand Additional options, when the connector
flyout/modal\r\nhas AI Assistant as a context (path through the
extending context\r\nimplementation on the connector framework
level)\r\n2. Add support for additional params for Completion subAction
to be able\r\nto path functions\r\n3. Add support for tokens usage
Dashboard, when inference API will\r\ninclude the used tokens count in
the response\r\n4. Add functionality and UX for migration from existing
specific AI\r\nconnectors to the Inference connector with proper
provider and\r\ncompletion task\r\n5. Integrate Connector with the AI
Assistants\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
István Zoltán Szabó <istvan.szabo@elastic.co>\r\nCo-authored-by: Liam
Thompson
<32779855+leemthompo@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"288d41d61ec2389b2e8856da75fd0f3107f9c484","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","release_note:feature","Feature:Actions/ConnectorTypes","8.16
candidate","v8.16.0","backport:version"],"title":"[Connectors][GenAI]
Inference Service Kibana
connector","number":189027,"url":"https://github.com/elastic/kibana/pull/189027","mergeCommit":{"message":"[Connectors][GenAI]
Inference Service Kibana connector (#189027)\n\n## Summary\r\nResolves
https://github.com/elastic/kibana/issues/188043\r\n\r\nThis PR adds new
connector which is define integration with Elastic\r\nInference Endpoint
via
[Inference\r\nAPIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/inference-apis.html)\r\nThe
lifecycle of the Inference Endpoint are managed by the
connector\r\nregistered handlers:\r\n\r\n- `preSaveHook`
-\r\n[create](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-inference-api.html)\r\nnew
Inference Endpoint in the connector create mode (`isEdit ===
false`)\r\nand\r\n[delete](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-inference-api.html)+[create](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-inference-api.html)\r\nin
the connector edit mode (`isEdit === true`)\r\n- `postSaveHook` - check
if the connector SO was created/updated and if\r\nnot removes Inference
Endpoint from preSaveHook\r\n- `postDeleteHook`
-\r\n[delete](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-inference-api.html)\r\nInference
Endpoint if connector was deleted.\r\n\r\nIn the Kibana Stack Management
Connectors, its represented with the new\r\ncard (Technical preview
badge):\r\n\r\n<img width=\"1261\" alt=\"Screenshot 2024-09-27 at 2 11
12 PM\"\r\nsrc=\"https://github.com/user-attachments/assets/dcbcce1f-06e7-4d08-8b77-0ba4105354f8\">\r\n\r\nTo
simplify the future integration with AI Assistants, the
Connector\r\nconsists from the two main UI parts: provider selector and
required\r\nprovider settings, which will be always displayed\r\n<img
width=\"862\" alt=\"Screenshot 2024-10-07 at 7 59
09 AM\"\r\nsrc=\"https://github.com/user-attachments/assets/87bae493-c642-479e-b28f-6150354608dd\">\r\n\r\nand
Additional options, which contains optional provider settings
and\r\nTask Type configuration:\r\n\r\n<img width=\"861\"
alt=\"Screenshot 2024-10-07 at 8 00
15 AM\"\r\nsrc=\"https://github.com/user-attachments/assets/2341c034-6198-4731-8ce7-e22e6c6fb20f\">\r\n\r\n\r\nsubActions
corresponds to the different taskTypes Inference API\r\nsupports. Each
of the task type has its own Inference Perform params.\r\nCurrently
added:\r\n\r\n- completion & completionStream\r\n- rerank\r\n-
text_embedding\r\n- sparse_embedding\r\n\r\nFollow up work:\r\n\r\n1.
Collapse/expand Additional options, when the connector
flyout/modal\r\nhas AI Assistant as a context (path through the
extending context\r\nimplementation on the connector framework
level)\r\n2. Add support for additional params for Completion subAction
to be able\r\nto path functions\r\n3. Add support for tokens usage
Dashboard, when inference API will\r\ninclude the used tokens count in
the response\r\n4. Add functionality and UX for migration from existing
specific AI\r\nconnectors to the Inference connector with proper
provider and\r\ncompletion task\r\n5. Integrate Connector with the AI
Assistants\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
István Zoltán Szabó <istvan.szabo@elastic.co>\r\nCo-authored-by: Liam
Thompson
<32779855+leemthompo@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"288d41d61ec2389b2e8856da75fd0f3107f9c484"}},"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/189027","number":189027,"mergeCommit":{"message":"[Connectors][GenAI]
Inference Service Kibana connector (#189027)\n\n## Summary\r\nResolves
https://github.com/elastic/kibana/issues/188043\r\n\r\nThis PR adds new
connector which is define integration with Elastic\r\nInference Endpoint
via
[Inference\r\nAPIs](https://www.elastic.co/guide/en/elasticsearch/reference/current/inference-apis.html)\r\nThe
lifecycle of the Inference Endpoint are managed by the
connector\r\nregistered handlers:\r\n\r\n- `preSaveHook`
-\r\n[create](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-inference-api.html)\r\nnew
Inference Endpoint in the connector create mode (`isEdit ===
false`)\r\nand\r\n[delete](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-inference-api.html)+[create](https://www.elastic.co/guide/en/elasticsearch/reference/current/put-inference-api.html)\r\nin
the connector edit mode (`isEdit === true`)\r\n- `postSaveHook` - check
if the connector SO was created/updated and if\r\nnot removes Inference
Endpoint from preSaveHook\r\n- `postDeleteHook`
-\r\n[delete](https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-inference-api.html)\r\nInference
Endpoint if connector was deleted.\r\n\r\nIn the Kibana Stack Management
Connectors, its represented with the new\r\ncard (Technical preview
badge):\r\n\r\n<img width=\"1261\" alt=\"Screenshot 2024-09-27 at 2 11
12 PM\"\r\nsrc=\"https://github.com/user-attachments/assets/dcbcce1f-06e7-4d08-8b77-0ba4105354f8\">\r\n\r\nTo
simplify the future integration with AI Assistants, the
Connector\r\nconsists from the two main UI parts: provider selector and
required\r\nprovider settings, which will be always displayed\r\n<img
width=\"862\" alt=\"Screenshot 2024-10-07 at 7 59
09 AM\"\r\nsrc=\"https://github.com/user-attachments/assets/87bae493-c642-479e-b28f-6150354608dd\">\r\n\r\nand
Additional options, which contains optional provider settings
and\r\nTask Type configuration:\r\n\r\n<img width=\"861\"
alt=\"Screenshot 2024-10-07 at 8 00
15 AM\"\r\nsrc=\"https://github.com/user-attachments/assets/2341c034-6198-4731-8ce7-e22e6c6fb20f\">\r\n\r\n\r\nsubActions
corresponds to the different taskTypes Inference API\r\nsupports. Each
of the task type has its own Inference Perform params.\r\nCurrently
added:\r\n\r\n- completion & completionStream\r\n- rerank\r\n-
text_embedding\r\n- sparse_embedding\r\n\r\nFollow up work:\r\n\r\n1.
Collapse/expand Additional options, when the connector
flyout/modal\r\nhas AI Assistant as a context (path through the
extending context\r\nimplementation on the connector framework
level)\r\n2. Add support for additional params for Completion subAction
to be able\r\nto path functions\r\n3. Add support for tokens usage
Dashboard, when inference API will\r\ninclude the used tokens count in
the response\r\n4. Add functionality and UX for migration from existing
specific AI\r\nconnectors to the Inference connector with proper
provider and\r\ncompletion task\r\n5. Integrate Connector with the AI
Assistants\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
István Zoltán Szabó <istvan.szabo@elastic.co>\r\nCo-authored-by: Liam
Thompson
<32779855+leemthompo@users.noreply.github.com>\r\nCo-authored-by: Steph
Milovic
<stephanie.milovic@elastic.co>","sha":"288d41d61ec2389b2e8856da75fd0f3107f9c484"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Yuliia Naumenko <jo.naumenko@gmail.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[Epic] AI Insights + Assistant - Add "Other" option to the
existing OpenAI Connector dropdown list (#8936)
(#194831)](https://github.com/elastic/kibana/pull/194831)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Ievgen
Sorokopud","email":"ievgen.sorokopud@elastic.co"},"sourceCommit":{"committedDate":"2024-10-09T22:07:31Z","message":"[Epic]
AI Insights + Assistant - Add \"Other\" option to the existing OpenAI
Connector dropdown list (#8936)
(#194831)","sha":"83a701e837a7a84a86dcc8d359154f900f69676a","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["v9.0.0","release_note:feature","Feature:Security
Assistant","Team:Security Generative
AI","v8.16.0","backport:version"],"title":"[Epic] AI Insights +
Assistant - Add \"Other\" option to the existing OpenAI Connector
dropdown list
(#8936)","number":194831,"url":"https://github.com/elastic/kibana/pull/194831","mergeCommit":{"message":"[Epic]
AI Insights + Assistant - Add \"Other\" option to the existing OpenAI
Connector dropdown list (#8936)
(#194831)","sha":"83a701e837a7a84a86dcc8d359154f900f69676a"}},"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/194831","number":194831,"mergeCommit":{"message":"[Epic]
AI Insights + Assistant - Add \"Other\" option to the existing OpenAI
Connector dropdown list (#8936)
(#194831)","sha":"83a701e837a7a84a86dcc8d359154f900f69676a"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Ievgen Sorokopud <ievgen.sorokopud@elastic.co>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[ResponseOps] add pre-create, pre-update, and post-delete hooks for
connectors (#194081)](https://github.com/elastic/kibana/pull/194081)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Patrick
Mueller","email":"patrick.mueller@elastic.co"},"sourceCommit":{"committedDate":"2024-10-09T21:52:09Z","message":"[ResponseOps]
add pre-create, pre-update, and post-delete hooks for connectors
(#194081)\n\nAllows connector types to add functions to be called when
connectors are created, updated, and deleted.\r\n\r\nExtracted from
https://github.com/elastic/kibana/pull/189027, commit
c97afebbe1462eb3eb2b0fb89d0ce9126ff118db\r\n\r\nCo-authored-by: Yuliia
Naumenko
<jo.naumenko@gmail.com>","sha":"57096d1f4fbcb4fc0135505b6c6100566ff08cc9","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Feature:Actions","Team:ResponseOps","v9.0.0","backport:prev-minor","v8.16.0"],"title":"[ResponseOps]
add pre-create, pre-update, and post-delete hooks for
connectors","number":194081,"url":"https://github.com/elastic/kibana/pull/194081","mergeCommit":{"message":"[ResponseOps]
add pre-create, pre-update, and post-delete hooks for connectors
(#194081)\n\nAllows connector types to add functions to be called when
connectors are created, updated, and deleted.\r\n\r\nExtracted from
https://github.com/elastic/kibana/pull/189027, commit
c97afebbe1462eb3eb2b0fb89d0ce9126ff118db\r\n\r\nCo-authored-by: Yuliia
Naumenko
<jo.naumenko@gmail.com>","sha":"57096d1f4fbcb4fc0135505b6c6100566ff08cc9"}},"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/194081","number":194081,"mergeCommit":{"message":"[ResponseOps]
add pre-create, pre-update, and post-delete hooks for connectors
(#194081)\n\nAllows connector types to add functions to be called when
connectors are created, updated, and deleted.\r\n\r\nExtracted from
https://github.com/elastic/kibana/pull/189027, commit
c97afebbe1462eb3eb2b0fb89d0ce9126ff118db\r\n\r\nCo-authored-by: Yuliia
Naumenko
<jo.naumenko@gmail.com>","sha":"57096d1f4fbcb4fc0135505b6c6100566ff08cc9"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Patrick Mueller <patrick.mueller@elastic.co>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[Response Ops][Alerting] Refactor `ExecutionHandler` stage
2 (#193807)](https://github.com/elastic/kibana/pull/193807)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Ying
Mao","email":"ying.mao@elastic.co"},"sourceCommit":{"committedDate":"2024-10-09T21:01:16Z","message":"[Response
Ops][Alerting] Refactor `ExecutionHandler` stage 2 (#193807)\n\nResolves
https://github.com/elastic/kibana/issues/186534\r\n\r\n##
Summary\r\n\r\nThis PR splits the for-loop in the `ActionScheduler.run`
function into\r\nthe appropriate scheduler classes. Previously, each
scheduler had a\r\n`generateExecutables` function that would return an
array of executables\r\nand the `ActionScheduler` would loop through the
array and convert the\r\nexecutable to a scheduleable action depending
on whether it was a\r\nper-alert action, summary action or system
action. This refactor renames\r\n`generateExecutables` into
`getActionsToSchedule` and moves the logic to\r\nconvert the executables
into a schedulable action into the appropriate\r\nscheduler
class.\r\n\r\n## To Verify\r\n\r\nCreate some rules with per-alert and
summary and system actions and\r\nverify they are triggered as
expected.\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"9221ab19e86ca7d3215205110fc709f7ba4739af","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:Alerting","release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor","v8.16.0"],"title":"[Response
Ops][Alerting] Refactor `ExecutionHandler` stage
2","number":193807,"url":"https://github.com/elastic/kibana/pull/193807","mergeCommit":{"message":"[Response
Ops][Alerting] Refactor `ExecutionHandler` stage 2 (#193807)\n\nResolves
https://github.com/elastic/kibana/issues/186534\r\n\r\n##
Summary\r\n\r\nThis PR splits the for-loop in the `ActionScheduler.run`
function into\r\nthe appropriate scheduler classes. Previously, each
scheduler had a\r\n`generateExecutables` function that would return an
array of executables\r\nand the `ActionScheduler` would loop through the
array and convert the\r\nexecutable to a scheduleable action depending
on whether it was a\r\nper-alert action, summary action or system
action. This refactor renames\r\n`generateExecutables` into
`getActionsToSchedule` and moves the logic to\r\nconvert the executables
into a schedulable action into the appropriate\r\nscheduler
class.\r\n\r\n## To Verify\r\n\r\nCreate some rules with per-alert and
summary and system actions and\r\nverify they are triggered as
expected.\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"9221ab19e86ca7d3215205110fc709f7ba4739af"}},"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/193807","number":193807,"mergeCommit":{"message":"[Response
Ops][Alerting] Refactor `ExecutionHandler` stage 2 (#193807)\n\nResolves
https://github.com/elastic/kibana/issues/186534\r\n\r\n##
Summary\r\n\r\nThis PR splits the for-loop in the `ActionScheduler.run`
function into\r\nthe appropriate scheduler classes. Previously, each
scheduler had a\r\n`generateExecutables` function that would return an
array of executables\r\nand the `ActionScheduler` would loop through the
array and convert the\r\nexecutable to a scheduleable action depending
on whether it was a\r\nper-alert action, summary action or system
action. This refactor renames\r\n`generateExecutables` into
`getActionsToSchedule` and moves the logic to\r\nconvert the executables
into a schedulable action into the appropriate\r\nscheduler
class.\r\n\r\n## To Verify\r\n\r\nCreate some rules with per-alert and
summary and system actions and\r\nverify they are triggered as
expected.\r\n\r\n---------\r\n\r\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"9221ab19e86ca7d3215205110fc709f7ba4739af"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Ying Mao <ying.mao@elastic.co>
# Backport
This will backport the following commits from `main` to `8.x`:
- [Change ca certificate path config key.
(#195233)](https://github.com/elastic/kibana/pull/195233)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Ersin
Erdal","email":"92688503+ersin-erdal@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-10-08T16:12:09Z","message":"Change
ca certificate path config key. (#195233)\n\ntowards:
https://github.com/elastic/response-ops-team/issues/209\r\n\r\nThis PR
changes ca path key in the config
.","sha":"e1cf8d5e825a984779013b2cc3a4baf42c726a0c","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor"],"title":"Change
ca certificate path config
key.","number":195233,"url":"https://github.com/elastic/kibana/pull/195233","mergeCommit":{"message":"Change
ca certificate path config key. (#195233)\n\ntowards:
https://github.com/elastic/response-ops-team/issues/209\r\n\r\nThis PR
changes ca path key in the config
.","sha":"e1cf8d5e825a984779013b2cc3a4baf42c726a0c"}},"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/195233","number":195233,"mergeCommit":{"message":"Change
ca certificate path config key. (#195233)\n\ntowards:
https://github.com/elastic/response-ops-team/issues/209\r\n\r\nThis PR
changes ca path key in the config
.","sha":"e1cf8d5e825a984779013b2cc3a4baf42c726a0c"}}]}] BACKPORT-->
Co-authored-by: Ersin Erdal <92688503+ersin-erdal@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[Gemini Connector] Bump Default model to
`gemini-1.5-pro-002`
(#195320)](https://github.com/elastic/kibana/pull/195320)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Steph
Milovic","email":"stephanie.milovic@elastic.co"},"sourceCommit":{"committedDate":"2024-10-08T14:52:51Z","message":"[Gemini
Connector] Bump Default model to `gemini-1.5-pro-002`
(#195320)","sha":"2873cbca2008b68486bb8439a3035f759be0ebce","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","backport:prev-minor","Team:Security
Generative AI","v8.16.0"],"title":"[Gemini Connector] Bump Default model
to
`gemini-1.5-pro-002`","number":195320,"url":"https://github.com/elastic/kibana/pull/195320","mergeCommit":{"message":"[Gemini
Connector] Bump Default model to `gemini-1.5-pro-002`
(#195320)","sha":"2873cbca2008b68486bb8439a3035f759be0ebce"}},"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/195320","number":195320,"mergeCommit":{"message":"[Gemini
Connector] Bump Default model to `gemini-1.5-pro-002`
(#195320)","sha":"2873cbca2008b68486bb8439a3035f759be0ebce"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Steph Milovic <stephanie.milovic@elastic.co>
# Backport
This will backport the following commits from `main` to `8.x`:
- [Prepare the connector HTTP APIs for versioning - Connector Update
(#194547)](https://github.com/elastic/kibana/pull/194547)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Ersin
Erdal","email":"92688503+ersin-erdal@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-10-07T10:39:40Z","message":"Prepare
the connector HTTP APIs for versioning - Connector Update
(#194547)\n\nTowards:
https://github.com/elastic/response-ops-team/issues/125\r\n\r\nPrepares
connector update API for versioning.\r\n\r\n## To verify:\r\nCreate some
rules and try to update them via
UI","sha":"0adba9f7214a77db23c4aafdfd2b623f20ca0dc2","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor"],"title":"Prepare
the connector HTTP APIs for versioning - Connector
Update","number":194547,"url":"https://github.com/elastic/kibana/pull/194547","mergeCommit":{"message":"Prepare
the connector HTTP APIs for versioning - Connector Update
(#194547)\n\nTowards:
https://github.com/elastic/response-ops-team/issues/125\r\n\r\nPrepares
connector update API for versioning.\r\n\r\n## To verify:\r\nCreate some
rules and try to update them via
UI","sha":"0adba9f7214a77db23c4aafdfd2b623f20ca0dc2"}},"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/194547","number":194547,"mergeCommit":{"message":"Prepare
the connector HTTP APIs for versioning - Connector Update
(#194547)\n\nTowards:
https://github.com/elastic/response-ops-team/issues/125\r\n\r\nPrepares
connector update API for versioning.\r\n\r\n## To verify:\r\nCreate some
rules and try to update them via
UI","sha":"0adba9f7214a77db23c4aafdfd2b623f20ca0dc2"}}]}] BACKPORT-->
Co-authored-by: Ersin Erdal <92688503+ersin-erdal@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[ResponseOps] Prepare the connector `delete` HTTP API for
versioning (#194227)](https://github.com/elastic/kibana/pull/194227)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Alexi
Doak","email":"109488926+doakalexi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-10-01T19:28:57Z","message":"[ResponseOps]
Prepare the connector `delete` HTTP API for versioning
(#194227)\n\nTowards
https://github.com/elastic/response-ops-team/issues/125\r\n\r\n##
Summary\r\n\r\nPreparing the `DELETE
${BASE_ACTION_API_PATH}/connector/{id}` HTTP API\r\nfor
versioning","sha":"b5e941344f9a198f15da4dff5170fb82869ef527","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor","v8.16.0"],"title":"[ResponseOps]
Prepare the connector `delete` HTTP API for
versioning","number":194227,"url":"https://github.com/elastic/kibana/pull/194227","mergeCommit":{"message":"[ResponseOps]
Prepare the connector `delete` HTTP API for versioning
(#194227)\n\nTowards
https://github.com/elastic/response-ops-team/issues/125\r\n\r\n##
Summary\r\n\r\nPreparing the `DELETE
${BASE_ACTION_API_PATH}/connector/{id}` HTTP API\r\nfor
versioning","sha":"b5e941344f9a198f15da4dff5170fb82869ef527"}},"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/194227","number":194227,"mergeCommit":{"message":"[ResponseOps]
Prepare the connector `delete` HTTP API for versioning
(#194227)\n\nTowards
https://github.com/elastic/response-ops-team/issues/125\r\n\r\n##
Summary\r\n\r\nPreparing the `DELETE
${BASE_ACTION_API_PATH}/connector/{id}` HTTP API\r\nfor
versioning","sha":"b5e941344f9a198f15da4dff5170fb82869ef527"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Alexi Doak <109488926+doakalexi@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [Add CA certificate path to actions config
(#194528)](https://github.com/elastic/kibana/pull/194528)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Ersin
Erdal","email":"92688503+ersin-erdal@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-10-01T12:04:10Z","message":"Add
CA certificate path to actions config (#194528)\n\nThis PR adds
usage-api CA certificate path to actions plugin's config.\r\nSo we can
add it to serverless config in
gitops.","sha":"ed9f9883d83afe971147d664b3344dc7256e4e9d","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor"],"title":"Add
CA certificate path to actions
config","number":194528,"url":"https://github.com/elastic/kibana/pull/194528","mergeCommit":{"message":"Add
CA certificate path to actions config (#194528)\n\nThis PR adds
usage-api CA certificate path to actions plugin's config.\r\nSo we can
add it to serverless config in
gitops.","sha":"ed9f9883d83afe971147d664b3344dc7256e4e9d"}},"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/194528","number":194528,"mergeCommit":{"message":"Add
CA certificate path to actions config (#194528)\n\nThis PR adds
usage-api CA certificate path to actions plugin's config.\r\nSo we can
add it to serverless config in
gitops.","sha":"ed9f9883d83afe971147d664b3344dc7256e4e9d"}}]}]
BACKPORT-->
Co-authored-by: Ersin Erdal <92688503+ersin-erdal@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[ResponseOps][Connectors] add the "service message" to the
message generated for errors
(#194213)](https://github.com/elastic/kibana/pull/194213)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Alexi
Doak","email":"109488926+doakalexi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-30T17:43:02Z","message":"[ResponseOps][Connectors]
add the \"service message\" to the message generated for errors
(#194213)\n\nResolves
https://github.com/elastic/kibana/issues/187288\r\n\r\n##
Summary\r\n\r\nWhen a connector fails we log the error message. In this
PR I updated\r\nthe log message to include the error message followed by
the\r\nserviceMessage if it's populated. This change will help provide
more\r\ndetailed info in the log messages when a connector
fails.\r\n\r\n\r\n### Checklist\r\n\r\n- [ ] [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### To
verify\r\n\r\n- Create a connector and update the executor code to make
it fail\r\n- Create rule with your connector\r\n- Verify that the log
message includes more details about the error\r\ninstead of something
like the following example for email connectors:\r\n`Action '[email
connector name]' failed: error sending
email\"`","sha":"7730eaba8d631c56df92e206aafd82084e4351cc","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor","v8.16.0"],"title":"[ResponseOps][Connectors]
add the \"service message\" to the message generated for
errors","number":194213,"url":"https://github.com/elastic/kibana/pull/194213","mergeCommit":{"message":"[ResponseOps][Connectors]
add the \"service message\" to the message generated for errors
(#194213)\n\nResolves
https://github.com/elastic/kibana/issues/187288\r\n\r\n##
Summary\r\n\r\nWhen a connector fails we log the error message. In this
PR I updated\r\nthe log message to include the error message followed by
the\r\nserviceMessage if it's populated. This change will help provide
more\r\ndetailed info in the log messages when a connector
fails.\r\n\r\n\r\n### Checklist\r\n\r\n- [ ] [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### To
verify\r\n\r\n- Create a connector and update the executor code to make
it fail\r\n- Create rule with your connector\r\n- Verify that the log
message includes more details about the error\r\ninstead of something
like the following example for email connectors:\r\n`Action '[email
connector name]' failed: error sending
email\"`","sha":"7730eaba8d631c56df92e206aafd82084e4351cc"}},"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/194213","number":194213,"mergeCommit":{"message":"[ResponseOps][Connectors]
add the \"service message\" to the message generated for errors
(#194213)\n\nResolves
https://github.com/elastic/kibana/issues/187288\r\n\r\n##
Summary\r\n\r\nWhen a connector fails we log the error message. In this
PR I updated\r\nthe log message to include the error message followed by
the\r\nserviceMessage if it's populated. This change will help provide
more\r\ndetailed info in the log messages when a connector
fails.\r\n\r\n\r\n### Checklist\r\n\r\n- [ ] [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### To
verify\r\n\r\n- Create a connector and update the executor code to make
it fail\r\n- Create rule with your connector\r\n- Verify that the log
message includes more details about the error\r\ninstead of something
like the following example for email connectors:\r\n`Action '[email
connector name]' failed: error sending
email\"`","sha":"7730eaba8d631c56df92e206aafd82084e4351cc"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Alexi Doak <109488926+doakalexi@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[RsponseOps][Alerting] Explicitly set access to all API routes of
actions, connectors, rules, alerts, and cases plugins
(#193520)](https://github.com/elastic/kibana/pull/193520)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Janki
Salvi","email":"117571355+js-jankisalvi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-26T10:00:08Z","message":"[RsponseOps][Alerting]
Explicitly set access to all API routes of actions, connectors, rules,
alerts, and cases plugins (#193520)\n\n## Summary\r\nResolves
https://github.com/elastic/kibana/issues/192956\r\nThis PR adds \r\n-
`access: internal` option to internal routes \r\n- `access: public`
option to public routes \r\n\r\nIt which will help restrict access of
internal routes and allow users to\r\naccess all public
routes.\r\n\r\nThis PR updates api routes of following
`x-pack/plugins`\r\n- actions\r\n- alerting\r\n- cases\r\n-
rule_registry\r\n- stack_connectors\r\n-
triggers_actions_ui","sha":"9c7864309ce1c5a3d085151e3b67d1635bc558c8","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor","v8.16.0"],"title":"[RsponseOps][Alerting]
Explicitly set access to all API routes of actions, connectors, rules,
alerts, and cases
plugins","number":193520,"url":"https://github.com/elastic/kibana/pull/193520","mergeCommit":{"message":"[RsponseOps][Alerting]
Explicitly set access to all API routes of actions, connectors, rules,
alerts, and cases plugins (#193520)\n\n## Summary\r\nResolves
https://github.com/elastic/kibana/issues/192956\r\nThis PR adds \r\n-
`access: internal` option to internal routes \r\n- `access: public`
option to public routes \r\n\r\nIt which will help restrict access of
internal routes and allow users to\r\naccess all public
routes.\r\n\r\nThis PR updates api routes of following
`x-pack/plugins`\r\n- actions\r\n- alerting\r\n- cases\r\n-
rule_registry\r\n- stack_connectors\r\n-
triggers_actions_ui","sha":"9c7864309ce1c5a3d085151e3b67d1635bc558c8"}},"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/193520","number":193520,"mergeCommit":{"message":"[RsponseOps][Alerting]
Explicitly set access to all API routes of actions, connectors, rules,
alerts, and cases plugins (#193520)\n\n## Summary\r\nResolves
https://github.com/elastic/kibana/issues/192956\r\nThis PR adds \r\n-
`access: internal` option to internal routes \r\n- `access: public`
option to public routes \r\n\r\nIt which will help restrict access of
internal routes and allow users to\r\naccess all public
routes.\r\n\r\nThis PR updates api routes of following
`x-pack/plugins`\r\n- actions\r\n- alerting\r\n- cases\r\n-
rule_registry\r\n- stack_connectors\r\n-
triggers_actions_ui","sha":"9c7864309ce1c5a3d085151e3b67d1635bc558c8"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Janki Salvi <117571355+js-jankisalvi@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[DOCS][ResponseOps][Connectors] Add support of additional fields for
ServiceNow ITSM and SecOps
(#191779)](https://github.com/elastic/kibana/pull/191779)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Lisa
Cawley","email":"lcawley@elastic.co"},"sourceCommit":{"committedDate":"2024-09-25T15:59:24Z","message":"[DOCS][ResponseOps][Connectors]
Add support of additional fields for ServiceNow ITSM and SecOps
(#191779)","sha":"6c291b8af211ac319adb31937eca2015c7c67d7b","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","docs","Feature:Actions/ConnectorTypes","v8.16.0","backport:version","v8.15.3"],"title":"[DOCS][ResponseOps][Connectors]
Add support of additional fields for ServiceNow ITSM and
SecOps","number":191779,"url":"https://github.com/elastic/kibana/pull/191779","mergeCommit":{"message":"[DOCS][ResponseOps][Connectors]
Add support of additional fields for ServiceNow ITSM and SecOps
(#191779)","sha":"6c291b8af211ac319adb31937eca2015c7c67d7b"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.15"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/191779","number":191779,"mergeCommit":{"message":"[DOCS][ResponseOps][Connectors]
Add support of additional fields for ServiceNow ITSM and SecOps
(#191779)","sha":"6c291b8af211ac319adb31937eca2015c7c67d7b"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.15","label":"v8.15.3","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Lisa Cawley <lcawley@elastic.co>
# Backport
This will backport the following commits from `main` to `8.x`:
- [Added scope field to features config.
(#191634)](https://github.com/elastic/kibana/pull/191634)
<!--- Backport version: 8.9.8 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Elena
Shostak","email":"165678770+elena-shostak@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-13T00:22:20Z","message":"Added
scope field to features config. (#191634)\n\n## Summary\r\nKibana needs
to more tightly control the set of visible features within\r\na space,
in order to support the new solution-based navigation.\r\nAdded `scope`
field to the features configuration. This enhancement is\r\nintended to
prevent new features from appearing in Space
Visibility\r\nToggles.\r\n\r\n\r\n### Checklist\r\n\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\r\n\r\n__Fixes:
https://github.com/elastic/kibana/issues/191299__\r\n\r\n## Release
Note\r\n\r\nAdded `scope` field to the features configuration. This
enhancement is\r\nintended to prevent new features from appearing in
Space Visibility\r\nToggles.\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"a71c9ba38ab4b88288313b91bd1b699777b3aab1","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","chore","Team:Security","Feature:Security/Spaces","backport:skip","Team:Fleet","v9.0.0","Team:Obs
AI
Assistant","ci:project-deploy-observability","Team:obs-ux-infra_services","Team:obs-ux-management","apm:review"],"number":191634,"url":"https://github.com/elastic/kibana/pull/191634","mergeCommit":{"message":"Added
scope field to features config. (#191634)\n\n## Summary\r\nKibana needs
to more tightly control the set of visible features within\r\na space,
in order to support the new solution-based navigation.\r\nAdded `scope`
field to the features configuration. This enhancement is\r\nintended to
prevent new features from appearing in Space
Visibility\r\nToggles.\r\n\r\n\r\n### Checklist\r\n\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\r\n\r\n__Fixes:
https://github.com/elastic/kibana/issues/191299__\r\n\r\n## Release
Note\r\n\r\nAdded `scope` field to the features configuration. This
enhancement is\r\nintended to prevent new features from appearing in
Space Visibility\r\nToggles.\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"a71c9ba38ab4b88288313b91bd1b699777b3aab1"}},"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/191634","number":191634,"mergeCommit":{"message":"Added
scope field to features config. (#191634)\n\n## Summary\r\nKibana needs
to more tightly control the set of visible features within\r\na space,
in order to support the new solution-based navigation.\r\nAdded `scope`
field to the features configuration. This enhancement is\r\nintended to
prevent new features from appearing in Space
Visibility\r\nToggles.\r\n\r\n\r\n### Checklist\r\n\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\r\n\r\n__Fixes:
https://github.com/elastic/kibana/issues/191299__\r\n\r\n## Release
Note\r\n\r\nAdded `scope` field to the features configuration. This
enhancement is\r\nintended to prevent new features from appearing in
Space Visibility\r\nToggles.\r\n\r\n---------\r\n\r\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"a71c9ba38ab4b88288313b91bd1b699777b3aab1"}}]}]
BACKPORT-->
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[ResponseOps] Connector OAS for framework fields
(#192767)](https://github.com/elastic/kibana/pull/192767)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Alexi
Doak","email":"109488926+doakalexi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-18T18:53:36Z","message":"[ResponseOps]
Connector OAS for framework fields (#192767)\n\nResolves
https://github.com/elastic/kibana/issues/192778\r\n\r\n##
Summary\r\n\r\nThis PR updates the following `response` schemas as well
as the legacy\r\nroute schemas for connector APIs to generate OAS
documentation:\r\n- `POST /api/actions/connector/{id?}`\r\n- `GET
/api/actions/connector/{id}`\r\n- `POST
/api/actions/connector/{id}/_execute`\r\n- `PUT
/api/actions/connector/{id}`\r\n\r\nThe `request` schemas were updated
in
this\r\n[PR](https://github.com/elastic/kibana/pull/191678).\r\n\r\n\r\n###
To verify\r\n\r\n1. Start ES\r\n2. Add `server.oas.enabled: true` to
`kibana.dev.yml`\r\n3. Start Kibana `yarn start --no-base-path`\r\n4.
`curl -s
-uelastic:changeme\r\nhttp://localhost:5601/api/oas\\?pathStartsWith\\=/api/actions/
| jq`\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Lisa Cawley
<lcawley@elastic.co>","sha":"3c01b13f90d6c8b6c144e0c4ead771008d499d99","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor","v8.16.0"],"title":"[ResponseOps]
Connector OAS for framework
fields","number":192767,"url":"https://github.com/elastic/kibana/pull/192767","mergeCommit":{"message":"[ResponseOps]
Connector OAS for framework fields (#192767)\n\nResolves
https://github.com/elastic/kibana/issues/192778\r\n\r\n##
Summary\r\n\r\nThis PR updates the following `response` schemas as well
as the legacy\r\nroute schemas for connector APIs to generate OAS
documentation:\r\n- `POST /api/actions/connector/{id?}`\r\n- `GET
/api/actions/connector/{id}`\r\n- `POST
/api/actions/connector/{id}/_execute`\r\n- `PUT
/api/actions/connector/{id}`\r\n\r\nThe `request` schemas were updated
in
this\r\n[PR](https://github.com/elastic/kibana/pull/191678).\r\n\r\n\r\n###
To verify\r\n\r\n1. Start ES\r\n2. Add `server.oas.enabled: true` to
`kibana.dev.yml`\r\n3. Start Kibana `yarn start --no-base-path`\r\n4.
`curl -s
-uelastic:changeme\r\nhttp://localhost:5601/api/oas\\?pathStartsWith\\=/api/actions/
| jq`\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Lisa Cawley
<lcawley@elastic.co>","sha":"3c01b13f90d6c8b6c144e0c4ead771008d499d99"}},"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/192767","number":192767,"mergeCommit":{"message":"[ResponseOps]
Connector OAS for framework fields (#192767)\n\nResolves
https://github.com/elastic/kibana/issues/192778\r\n\r\n##
Summary\r\n\r\nThis PR updates the following `response` schemas as well
as the legacy\r\nroute schemas for connector APIs to generate OAS
documentation:\r\n- `POST /api/actions/connector/{id?}`\r\n- `GET
/api/actions/connector/{id}`\r\n- `POST
/api/actions/connector/{id}/_execute`\r\n- `PUT
/api/actions/connector/{id}`\r\n\r\nThe `request` schemas were updated
in
this\r\n[PR](https://github.com/elastic/kibana/pull/191678).\r\n\r\n\r\n###
To verify\r\n\r\n1. Start ES\r\n2. Add `server.oas.enabled: true` to
`kibana.dev.yml`\r\n3. Start Kibana `yarn start --no-base-path`\r\n4.
`curl -s
-uelastic:changeme\r\nhttp://localhost:5601/api/oas\\?pathStartsWith\\=/api/actions/
| jq`\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by:
Lisa Cawley
<lcawley@elastic.co>","sha":"3c01b13f90d6c8b6c144e0c4ead771008d499d99"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Alexi Doak <109488926+doakalexi@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [[ResponseOps] Add user-error tags to action logs
(#193066)](https://github.com/elastic/kibana/pull/193066)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Alexi
Doak","email":"109488926+doakalexi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-09-17T17:31:11Z","message":"[ResponseOps]
Add user-error tags to action logs (#193066)\n\nResolves
https://github.com/elastic/kibana/issues/192715\r\n\r\n##
Summary\r\n\r\nAdds user-error and framework-error tags to the action
error logs\r\n\r\n\r\n### Checklist\r\n\r\n- [ ] [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","sha":"e47eff12204885a2c280d07e42fb8a96fa61c778","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:prev-minor","v8.16.0"],"title":"[ResponseOps]
Add user-error tags to action
logs","number":193066,"url":"https://github.com/elastic/kibana/pull/193066","mergeCommit":{"message":"[ResponseOps]
Add user-error tags to action logs (#193066)\n\nResolves
https://github.com/elastic/kibana/issues/192715\r\n\r\n##
Summary\r\n\r\nAdds user-error and framework-error tags to the action
error logs\r\n\r\n\r\n### Checklist\r\n\r\n- [ ] [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","sha":"e47eff12204885a2c280d07e42fb8a96fa61c778"}},"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/193066","number":193066,"mergeCommit":{"message":"[ResponseOps]
Add user-error tags to action logs (#193066)\n\nResolves
https://github.com/elastic/kibana/issues/192715\r\n\r\n##
Summary\r\n\r\nAdds user-error and framework-error tags to the action
error logs\r\n\r\n\r\n### Checklist\r\n\r\n- [ ] [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","sha":"e47eff12204885a2c280d07e42fb8a96fa61c778"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Alexi Doak <109488926+doakalexi@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `8.x`:
- [OpenAI: Ignore chunks with an empty `choices` list (bis)
(#192961)](https://github.com/elastic/kibana/pull/192961)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Pierre
Gayvallet","email":"pierre.gayvallet@elastic.co"},"sourceCommit":{"committedDate":"2024-09-16T09:06:54Z","message":"OpenAI:
Ignore chunks with an empty `choices` list (bis) (#192961)\n\n##
Summary\r\n\r\nFollow-up of
https://github.com/elastic/kibana/pull/192951 to address\r\nthe missing
bits (given I don't know how to
grep)","sha":"08b682fbd5f78ac82b42ddc7109e79f89e4ed961","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","backport:prev-minor","Team:Obs
AI Assistant","ci:project-deploy-observability","v8.16.0","Team:AI
Infra"],"title":"OpenAI: Ignore chunks with an empty `choices` list
(bis)","number":192961,"url":"https://github.com/elastic/kibana/pull/192961","mergeCommit":{"message":"OpenAI:
Ignore chunks with an empty `choices` list (bis) (#192961)\n\n##
Summary\r\n\r\nFollow-up of
https://github.com/elastic/kibana/pull/192951 to address\r\nthe missing
bits (given I don't know how to
grep)","sha":"08b682fbd5f78ac82b42ddc7109e79f89e4ed961"}},"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/192961","number":192961,"mergeCommit":{"message":"OpenAI:
Ignore chunks with an empty `choices` list (bis) (#192961)\n\n##
Summary\r\n\r\nFollow-up of
https://github.com/elastic/kibana/pull/192951 to address\r\nthe missing
bits (given I don't know how to
grep)","sha":"08b682fbd5f78ac82b42ddc7109e79f89e4ed961"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Pierre Gayvallet <pierre.gayvallet@elastic.co>
# Backport
This will backport the following commits from `main` to `8.x`:
- [OpenAI: Ignore chunks with an empty `choices` list
(#192951)](https://github.com/elastic/kibana/pull/192951)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Pierre
Gayvallet","email":"pierre.gayvallet@elastic.co"},"sourceCommit":{"committedDate":"2024-09-15T18:28:44Z","message":"OpenAI:
Ignore chunks with an empty `choices` list (#192951)\n\n##
Summary\r\n\r\nOpenAI added usage stats to their APIs
recently:\r\nhttps://community.openai.com/t/usage-stats-now-available-when-using-streaming-with-the-chat-completions-api-or-completions-api/738156\r\n\r\nHowever,
it's somewhat non BWC:\r\n\r\n> Note that this usage-specific chunk will
have choices: [], so if you\r\nturn this feature on, you may need to
update any code that accesses\r\n\r\n(Héhéhé)\r\n\r\nLeveraging this
feature is for another day. This PR is just about\r\navoiding the whole
thing to
explode.","sha":"8bffd618059aacc30d6190a0d143d8b0c7217faf","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","backport:prev-minor","Team:Obs
AI Assistant","ci:project-deploy-observability","v8.16.0","Team:AI
Infra"],"title":"OpenAI: Ignore chunks with an empty `choices`
list","number":192951,"url":"https://github.com/elastic/kibana/pull/192951","mergeCommit":{"message":"OpenAI:
Ignore chunks with an empty `choices` list (#192951)\n\n##
Summary\r\n\r\nOpenAI added usage stats to their APIs
recently:\r\nhttps://community.openai.com/t/usage-stats-now-available-when-using-streaming-with-the-chat-completions-api-or-completions-api/738156\r\n\r\nHowever,
it's somewhat non BWC:\r\n\r\n> Note that this usage-specific chunk will
have choices: [], so if you\r\nturn this feature on, you may need to
update any code that accesses\r\n\r\n(Héhéhé)\r\n\r\nLeveraging this
feature is for another day. This PR is just about\r\navoiding the whole
thing to
explode.","sha":"8bffd618059aacc30d6190a0d143d8b0c7217faf"}},"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/192951","number":192951,"mergeCommit":{"message":"OpenAI:
Ignore chunks with an empty `choices` list (#192951)\n\n##
Summary\r\n\r\nOpenAI added usage stats to their APIs
recently:\r\nhttps://community.openai.com/t/usage-stats-now-available-when-using-streaming-with-the-chat-completions-api-or-completions-api/738156\r\n\r\nHowever,
it's somewhat non BWC:\r\n\r\n> Note that this usage-specific chunk will
have choices: [], so if you\r\nturn this feature on, you may need to
update any code that accesses\r\n\r\n(Héhéhé)\r\n\r\nLeveraging this
feature is for another day. This PR is just about\r\navoiding the whole
thing to
explode.","sha":"8bffd618059aacc30d6190a0d143d8b0c7217faf"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Pierre Gayvallet <pierre.gayvallet@elastic.co>
Resolves: #189690
This PR skips only the malformed actions rather than throwing error
which blocks execution of the valid actions as well.
### To verify:
- Create a pre-configured connectors with below config in the
kibana.dev.yml.
Notice that slackWebhook doesn't have any `secrets` config.
```
xpack.actions.preconfigured:
preconfigured-server-log:
name: preconfigured-server-log
actionTypeId: .server-log
slackWebhook:
name: preconfigured-slack-webhook
actionTypeId: .slack
```
- Create a rule (e.g. always firing) with 2 actions, one
with`preconfigured-server-log` and one with `slackWebhook`
- Let the rule run and observe the actions on your terminal.
- There should be an error from the slackWebhook whereas the
`.server-log` action still works as expected.
## Summary
Add the `bedrock` (well, bedrock-claude) model adapter for the inference
plugin. Also had to perform minor changes on the associated connector to
add support for new capabilities.
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Add the `gemini` model adapter for the `inference` plugin. Had to
perform minor changes on the associated connector
Also update the codeowner files to add the `@elastic/appex-ai-infra`
team as (one of the) owner of the genAI connectors
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Towards: https://github.com/elastic/response-ops-team/issues/209
This PR collects body-bytes from the requests made by the connectors to
the 3rd parties and saves them in the event-log.
There is a new metric collector: `ConnectorMetricsCollector`
Action TaskRunner, creates a new instance of it on each action execution
and passes it to the actionType.executor.
Then the actionType.executor passes it to the request function provided
by the actions plugin.
Request function passes the response (or the error) from axios to
`addRequestBodyBytes` method of the `ConnectorMetricsCollector`.
Since axios always returns `request.headers['Content-Length']` either in
success result or error, metric collector uses its value to get the
request body bytes.
In case there is no `Content-Length` header, `addRequestBodyBytes`
method fallbacks to the body object that we pass as the second param. So
It calculates the body bytes by using `Buffer.byteLength(body,
'utf8');`, which is also used by axios to populate
`request.headers['Content-Length']`
For the connectors or the subActions that we don't use the request
function or axios:
addRequestBodyBytes method is called just before making the request only
with the body param in order to force it to use the fallback.
Note: If there are more than one requests in an execution, the bytes are
summed.
## To verify:
Create a rule with a connector that you would like to test.
Let the rule run and check the event-log of your connector, request body
bytes should be saved in:
`kibana.action.execution.metrics.request_body_bytes`
Alternatively:
You can create a connector and run it on its test tab.
You can use the below query to check the event-log:
```
{
"query": {
"bool": {
"must": [
{ "match": { "event.provider":"actions"}},
{ "match": { "kibana.action.type_id":"{**your-action-type-id**}"}}
],
"filter": [
{ "term": { "event.action": "execute" }}
]
}
},
"size" : 100
}
```
In this PR, I'm registering the action task types with a `cost` of
`Tiny` given they are not CPU or memory intensive to run.
---------
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
## Summary
This PR has breadth, but not depth. This adds 3 new `eslint` rules. The
first two protect against the use of code generated from strings (`eval`
and friends), which will not work client-side due to our CSP, and is not
something we wish to support server-side. The last rule aims to prevent
a subtle class of bugs, and to defend against a subset of prototype
pollution exploits:
- `no-new-func` to be compliant with our CSP, and to prevent code
execution from strings server-side:
https://eslint.org/docs/latest/rules/no-new-func
- `no-implied-eval` to be compliant with our CSP, and to prevent code
execution from strings server-side:
https://eslint.org/docs/latest/rules/no-implied-eval. Note that this
function implies that it prevents no-new-func, but I don't see [test
cases](https://github.com/eslint/eslint/blob/main/tests/lib/rules/no-implied-eval.js)
covering this behavior, so I think we should play it safe and enable
both rules.
- `no-prototype-builtins` to prevent accessing shadowed properties:
https://eslint.org/docs/latest/rules/no-prototype-builtins
In order to be compliant with `no-prototype-builtins`, I've migrated all
usages and variants of `Object.hasOwnProperty` to use the newer
[`Object.hasOwn`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwn).
## Summary
### Security Solution impacts
PR updates the SentinelOne response actions to:
- use `sentinel_one.[data_type].agent.id` field to identify the host ID
- With this change, our uses are no longer restricted to creating SIEM
alerts only from the `logs-sentinel_one.alert*` index
- Indexes that currently include the `*.agent.id` field:
- `logs-sentinel_one.alert*`
- `logs-sentinel_one.threat*`
- `logs-sentinel_one.activity*`
- `logs-sentinel_one.agent*`
- ❗ IMPORTANT ❗ :
- Environments with a SIEM rule that looks for
`observable.serial_number` field _(the field used prior to this PR to
identify the agent id in the SentinelOne document)_ should update the
rule to use one of the new fields (see screen capture below)
- The following impacts were identified during testing for existing
deployments that may already be using the SentinelOne bi-directional
response actions (currently in Tech. Preview):
1. User will no longer be able to download the output from a previous
`get-file` command (this was just release 2 weeks ago to serverless).
2. After an upgrade, if a user opens the console and clicks on the
"Response actions history" button to display the host's response
actions, they will **not** see the response actions in the list that
were submitted prior to the upgrade. Those, however, will still be
displayed in the (global) Response Actions History Log page.
- Dev script was updated to create a SIEM rule that looks at both
`*.alert*` and `*.threat*` indexes
- Fixed the output for `processes` for SentinelOne to NOT display a Zip
file passcode for the download (not needed)
- Fixed bug that prevented the Host's OS platform icon (linux, windows,
macos) from being displayed in the console.
### Connector impacts
- SentinelOne connector sub-actions were updated to take in `agentId` as
an argument instead of `agentUUID`
## Summary
Adopted `BedrockChat` from `@langchain/community` package that adds
support for tools calling
https://js.langchain.com/v0.2/docs/integrations/chat/bedrock/
Adopted `ChatGoogleGenerativeAI ` from `@langchain/google-genai` package
that adds support for tools calling
https://js.langchain.com/v0.2/docs/integrations/chat/google_generativeai
Hidden behind FF:
`--xpack.securitySolution.enableExperimental=[assistantBedrockChat]`
As of this PR `integration_assistant` is still going to use
`ActionsClientSimpleChatModel`. After the FF will be enabled by default
we will switch `integration_assistant` to use new chat model.
Thank you @stephmilovic a ton 🙇
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Steph Milovic <stephanie.milovic@elastic.co>
Co-authored-by: Garrett Spong <spong@users.noreply.github.com>
## Summary
#### Security Solution
- adds logic to the SentinelOne response actions client to check on the
status of `kill-process` actions in SentinelOne and writes response
document to ES if complete
#### Stack Connector changes to SentinelOne Connector
- Added new sub-action: `downloadRemoteScriptResults()`: returns a
`Stream` allowing the download of a SentinelOne task execution results
## Summary
Fix https://github.com/elastic/kibana/issues/65999
Change the `features` plugin's contract type names to follow our naming
convensions and to avoid needing to rename them during imports
(and yeah, I'm triggering a review from 30 teams again for a type
rename, just for the fun of it)
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
#### Security Solution changes:
- Adds new feature flag for `kill-process` operation against SentinelOne
hosts
- Adds support for `kill-process` to the existing api for `agent_type`
of `sentinel_one`
#### Stack Connectors changes:
The following changes were done to the SentinelOne connector:
- Added additional query param to the `getRemoteScripts()` sub-action