# Backport
This will backport the following commits from `main` to `9.0`:
- [Update TTFMP documentation for meta fields.
(#221807)](https://github.com/elastic/kibana/pull/221807)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Abdul Wahab
Zahid","email":"awahab07@yahoo.com"},"sourceCommit":{"committedDate":"2025-06-10T22:14:05Z","message":"Update
TTFMP documentation for meta fields. (#221807)\n\nEnhances the
performance metrics documentation by explaining how\nto use the
`meta.description` field for contextualizing render time\nevents and how
to track subsequent page or section loads
using\n`onPageRefreshStart`.\n\n\n- Added a section describing the
default meaning of render time and how\nto provide a custom
`description` in the `meta` field of `onPageReady`\nfor more precise
event context.\n- Documented the use of `onPageRefreshStart` to
distinguish between\ninitial loads and subsequent refreshes, clarifying
that\n`meta.isInitialLoad` is set to `false` for refreshes and `true`
by\ndefault.\n- Included code examples and sample indexed event
structures for
both\nfeatures.","sha":"ca05a06f00e013a18198cb46ce051d64f0d3f4b1","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","backport:prev-minor","v8.18.0","v9.1.0","v8.19.0"],"title":"Update
TTFMP documentation for meta
fields.","number":221807,"url":"https://github.com/elastic/kibana/pull/221807","mergeCommit":{"message":"Update
TTFMP documentation for meta fields. (#221807)\n\nEnhances the
performance metrics documentation by explaining how\nto use the
`meta.description` field for contextualizing render time\nevents and how
to track subsequent page or section loads
using\n`onPageRefreshStart`.\n\n\n- Added a section describing the
default meaning of render time and how\nto provide a custom
`description` in the `meta` field of `onPageReady`\nfor more precise
event context.\n- Documented the use of `onPageRefreshStart` to
distinguish between\ninitial loads and subsequent refreshes, clarifying
that\n`meta.isInitialLoad` is set to `false` for refreshes and `true`
by\ndefault.\n- Included code examples and sample indexed event
structures for
both\nfeatures.","sha":"ca05a06f00e013a18198cb46ce051d64f0d3f4b1"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.19"],"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/221807","number":221807,"mergeCommit":{"message":"Update
TTFMP documentation for meta fields. (#221807)\n\nEnhances the
performance metrics documentation by explaining how\nto use the
`meta.description` field for contextualizing render time\nevents and how
to track subsequent page or section loads
using\n`onPageRefreshStart`.\n\n\n- Added a section describing the
default meaning of render time and how\nto provide a custom
`description` in the `meta` field of `onPageReady`\nfor more precise
event context.\n- Documented the use of `onPageRefreshStart` to
distinguish between\ninitial loads and subsequent refreshes, clarifying
that\n`meta.isInitialLoad` is set to `false` for refreshes and `true`
by\ndefault.\n- Included code examples and sample indexed event
structures for
both\nfeatures.","sha":"ca05a06f00e013a18198cb46ce051d64f0d3f4b1"}},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Abdul Wahab Zahid <awahab07@yahoo.com>
# Backport
This will backport the following commits from `main` to `9.0`:
- [Revert "Removed switchToModelVersionAt from SO API definition
(#219029)" (#220059)](https://github.com/elastic/kibana/pull/220059)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Alejandro Fernández
Haro","email":"alejandro.haro@elastic.co"},"sourceCommit":{"committedDate":"2025-05-05T14:01:45Z","message":"Revert
\"Removed switchToModelVersionAt from SO API definition (#219029)\"
(#220059)\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"75c0f9543acc80e0d875e908f8c4570581393e20","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:prev-minor","Team:obs-ux-management","v9.1.0"],"title":"Revert
\"Removed switchToModelVersionAt from SO API definition
(#219029)\"","number":220059,"url":"https://github.com/elastic/kibana/pull/220059","mergeCommit":{"message":"Revert
\"Removed switchToModelVersionAt from SO API definition (#219029)\"
(#220059)\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"75c0f9543acc80e0d875e908f8c4570581393e20"}},"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/220059","number":220059,"mergeCommit":{"message":"Revert
\"Removed switchToModelVersionAt from SO API definition (#219029)\"
(#220059)\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"75c0f9543acc80e0d875e908f8c4570581393e20"}}]}]
BACKPORT-->
# Backport
This will backport the following commits from `main` to `9.0`:
- [Removed switchToModelVersionAt from SO API definition
(#219029)](https://github.com/elastic/kibana/pull/219029)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Christiane (Tina)
Heiligers","email":"christiane.heiligers@elastic.co"},"sourceCommit":{"committedDate":"2025-04-26T15:00:09Z","message":"Removed
switchToModelVersionAt from SO API definition (#219029)\n\n##
Summary\nPart of
https://github.com/elastic/kibana/issues/201807\n\n**Strategy**:\nThis
PR assumes that `switchToModelVersionAt` has done it’s job and all\nSO
type owners now use `modelVersions` instead of `migrations`.\nIt takes
the approach of trusting that this is fine™\n\n**Changes in this
PR:**\n- `switchToModelVersionAt` removed from all registered saved
objects, so\ntheir mapping hash had to be updated.\n- Implements
`globalSwitchToModelVersionAt` directly in `version_map`\n- Updates
logic to prioritize `modelVersions` over `migrations`
in\n`getLatestMappingsModelVersion`, that previously relied
on\n`switchToModelVersionAt` being set\n- Updates unit tests to match
the refactored logic\n- Updates snapshots\n- Adapts SO types registered
in the **cases**, **SLO** and **encrypted\nsaved objects** plugins.\n-
Updates docs\n\n**Risks**:\n- Plugin developers disregard the deprecated
status of `migrations` and\nintroduce new versions, which will not be
BWC. Saved object type hash\nchanges will notify the core team for a
code owner review. The core team\nneeds to investigate the related
changes and provide feedback.\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]\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- [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:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"19c017a111ff79155b2e7f94abe7601efd3d86c2","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","Feature:Saved
Objects","technical
debt","release_note:skip","backport:prev-minor","Team:obs-ux-management","v9.1.0"],"title":"Removed
switchToModelVersionAt from SO API
definition","number":219029,"url":"https://github.com/elastic/kibana/pull/219029","mergeCommit":{"message":"Removed
switchToModelVersionAt from SO API definition (#219029)\n\n##
Summary\nPart of
https://github.com/elastic/kibana/issues/201807\n\n**Strategy**:\nThis
PR assumes that `switchToModelVersionAt` has done it’s job and all\nSO
type owners now use `modelVersions` instead of `migrations`.\nIt takes
the approach of trusting that this is fine™\n\n**Changes in this
PR:**\n- `switchToModelVersionAt` removed from all registered saved
objects, so\ntheir mapping hash had to be updated.\n- Implements
`globalSwitchToModelVersionAt` directly in `version_map`\n- Updates
logic to prioritize `modelVersions` over `migrations`
in\n`getLatestMappingsModelVersion`, that previously relied
on\n`switchToModelVersionAt` being set\n- Updates unit tests to match
the refactored logic\n- Updates snapshots\n- Adapts SO types registered
in the **cases**, **SLO** and **encrypted\nsaved objects** plugins.\n-
Updates docs\n\n**Risks**:\n- Plugin developers disregard the deprecated
status of `migrations` and\nintroduce new versions, which will not be
BWC. Saved object type hash\nchanges will notify the core team for a
code owner review. The core team\nneeds to investigate the related
changes and provide feedback.\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]\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- [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:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"19c017a111ff79155b2e7f94abe7601efd3d86c2"}},"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/219029","number":219029,"mergeCommit":{"message":"Removed
switchToModelVersionAt from SO API definition (#219029)\n\n##
Summary\nPart of
https://github.com/elastic/kibana/issues/201807\n\n**Strategy**:\nThis
PR assumes that `switchToModelVersionAt` has done it’s job and all\nSO
type owners now use `modelVersions` instead of `migrations`.\nIt takes
the approach of trusting that this is fine™\n\n**Changes in this
PR:**\n- `switchToModelVersionAt` removed from all registered saved
objects, so\ntheir mapping hash had to be updated.\n- Implements
`globalSwitchToModelVersionAt` directly in `version_map`\n- Updates
logic to prioritize `modelVersions` over `migrations`
in\n`getLatestMappingsModelVersion`, that previously relied
on\n`switchToModelVersionAt` being set\n- Updates unit tests to match
the refactored logic\n- Updates snapshots\n- Adapts SO types registered
in the **cases**, **SLO** and **encrypted\nsaved objects** plugins.\n-
Updates docs\n\n**Risks**:\n- Plugin developers disregard the deprecated
status of `migrations` and\nintroduce new versions, which will not be
BWC. Saved object type hash\nchanges will notify the core team for a
code owner review. The core team\nneeds to investigate the related
changes and provide feedback.\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]\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- [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:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"19c017a111ff79155b2e7f94abe7601efd3d86c2"}}]}]
BACKPORT-->
---------
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
# Backport
This will backport the following commits from `main` to `9.0`:
- [[Security Assistant] Adds BuildKite pipeline for running Security
GenAI Evaluations weekly
(#215254)](https://github.com/elastic/kibana/pull/215254)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Garrett
Spong","email":"spong@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-24T17:46:57Z","message":"[Security
Assistant] Adds BuildKite pipeline for running Security GenAI
Evaluations weekly (#215254)\n\n## Summary\n\nIntroduces a new
`security_solution/gen_ai_evals.yml` BuildKite pipeline\nfor
automatically running our Assistant and Attack Discovery
evaluation\nsuites weekly.\n\n### To Run Locally:\nEnsure you are
authenticated with vault for LLM + LangSmith creds:\n\n> See
[internal\ndocs](https://github.com/elastic/infra/blob/master/docs/vault/README.md#login-with-your-okta)\nfor
setup/login instructions.\n\nFetch Connectors and LangSmith creds:\n\n>
[!NOTE]\n> In discussion with @elastic/kibana-operations it was
preferred to use\nthe ci-prod secrets vault, so we cannot self-manage
the secrets. To test\nthis locally though, you can grab the secrets and
follow the\ninstructions in this
[paste\nbin](https://p.elstc.co/paste/q7k+zYOc#PN0kasw11u2J0XWC2Ls5PMNWreKzKTpgWA1wtsPzeH+).\n\n```\ncd
x-pack/test/security_solution_api_integration\nnode
scripts/genai/vault/retrieve_secrets.js \n```\n\n\nNavigate to api
integration directory, load the env vars, and start\nserver:\n```\ncd
x-pack/test/security_solution_api_integration\nexport
KIBANA_SECURITY_TESTING_AI_CONNECTORS=$(base64 -w 0 <
scripts/genai/vault/connector_config.json) && export
KIBANA_SECURITY_TESTING_LANGSMITH_KEY=$(base64 -w 0 <
scripts/genai/vault/langsmith_key.txt)\nyarn
genai_evals:server:ess\n```\n\nThen in another terminal, load vars and
run the tests:\n```\ncd
x-pack/test/security_solution_api_integration\nexport
KIBANA_SECURITY_TESTING_AI_CONNECTORS=$(base64 -w 0 <
scripts/genai/vault/connector_config.json) && export
KIBANA_SECURITY_TESTING_LANGSMITH_KEY=$(base64 -w 0 <
scripts/genai/vault/langsmith_key.txt)\nyarn
genai_evals🏃ess\n```\n\n### To manually run on
BuildKite:\nNavigate
to\n[BuildKite](https://buildkite.com/elastic?filter=ftr-security-solution-gen-ai-evaluations)\nand
run `ftr-security-solution-gen-ai-evaluations` pipeline.\n\n### To
manually run on BuildKite for specific PR:\nIn
`.buildkite/ftr_security_stateful_configs.yml`, temporarily move
the\n`genai/evaluations/trial_license_complete_tier/configs/ess.config.ts`\nline
down to the `enabled` section. Will see if we can do this
without\nrequiring a commit. @elastic/kibana-operations is it possible
to set a\nbuildkite env var that can be read in FTR tests when a
specific GitHub\nlabel is added to the PR? I.e. can I create a
`SecurityGenAI:Run Evals`\nlabel that when added will run this suite as
part of the build?\n\n> [!NOTE]\n> Currently the connectors secrets only
include `gpt-4o` and\n`gpt-4o-mini`. Waiting on finalized list w/
credentials from @jamesspi\nand @peluja1012 and then we can have ops
update using the scripts\nincluded in this
PR.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Patryk Kopycinski
<patryk.kopycinski@elastic.co>","sha":"e57663a0cf5a1692a5be10413c1d745dd260a24f","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Security
Generative AI","Feature:Assistant
Evaluation","backport:version","v9.1.0","v8.19.0","v9.0.1","ci:security-genai-run-evals"],"title":"[Security
Assistant] Adds BuildKite pipeline for running Security GenAI
Evaluations
weekly","number":215254,"url":"https://github.com/elastic/kibana/pull/215254","mergeCommit":{"message":"[Security
Assistant] Adds BuildKite pipeline for running Security GenAI
Evaluations weekly (#215254)\n\n## Summary\n\nIntroduces a new
`security_solution/gen_ai_evals.yml` BuildKite pipeline\nfor
automatically running our Assistant and Attack Discovery
evaluation\nsuites weekly.\n\n### To Run Locally:\nEnsure you are
authenticated with vault for LLM + LangSmith creds:\n\n> See
[internal\ndocs](https://github.com/elastic/infra/blob/master/docs/vault/README.md#login-with-your-okta)\nfor
setup/login instructions.\n\nFetch Connectors and LangSmith creds:\n\n>
[!NOTE]\n> In discussion with @elastic/kibana-operations it was
preferred to use\nthe ci-prod secrets vault, so we cannot self-manage
the secrets. To test\nthis locally though, you can grab the secrets and
follow the\ninstructions in this
[paste\nbin](https://p.elstc.co/paste/q7k+zYOc#PN0kasw11u2J0XWC2Ls5PMNWreKzKTpgWA1wtsPzeH+).\n\n```\ncd
x-pack/test/security_solution_api_integration\nnode
scripts/genai/vault/retrieve_secrets.js \n```\n\n\nNavigate to api
integration directory, load the env vars, and start\nserver:\n```\ncd
x-pack/test/security_solution_api_integration\nexport
KIBANA_SECURITY_TESTING_AI_CONNECTORS=$(base64 -w 0 <
scripts/genai/vault/connector_config.json) && export
KIBANA_SECURITY_TESTING_LANGSMITH_KEY=$(base64 -w 0 <
scripts/genai/vault/langsmith_key.txt)\nyarn
genai_evals:server:ess\n```\n\nThen in another terminal, load vars and
run the tests:\n```\ncd
x-pack/test/security_solution_api_integration\nexport
KIBANA_SECURITY_TESTING_AI_CONNECTORS=$(base64 -w 0 <
scripts/genai/vault/connector_config.json) && export
KIBANA_SECURITY_TESTING_LANGSMITH_KEY=$(base64 -w 0 <
scripts/genai/vault/langsmith_key.txt)\nyarn
genai_evals🏃ess\n```\n\n### To manually run on
BuildKite:\nNavigate
to\n[BuildKite](https://buildkite.com/elastic?filter=ftr-security-solution-gen-ai-evaluations)\nand
run `ftr-security-solution-gen-ai-evaluations` pipeline.\n\n### To
manually run on BuildKite for specific PR:\nIn
`.buildkite/ftr_security_stateful_configs.yml`, temporarily move
the\n`genai/evaluations/trial_license_complete_tier/configs/ess.config.ts`\nline
down to the `enabled` section. Will see if we can do this
without\nrequiring a commit. @elastic/kibana-operations is it possible
to set a\nbuildkite env var that can be read in FTR tests when a
specific GitHub\nlabel is added to the PR? I.e. can I create a
`SecurityGenAI:Run Evals`\nlabel that when added will run this suite as
part of the build?\n\n> [!NOTE]\n> Currently the connectors secrets only
include `gpt-4o` and\n`gpt-4o-mini`. Waiting on finalized list w/
credentials from @jamesspi\nand @peluja1012 and then we can have ops
update using the scripts\nincluded in this
PR.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Patryk Kopycinski
<patryk.kopycinski@elastic.co>","sha":"e57663a0cf5a1692a5be10413c1d745dd260a24f"}},"sourceBranch":"main","suggestedTargetBranches":["9.0"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/215254","number":215254,"mergeCommit":{"message":"[Security
Assistant] Adds BuildKite pipeline for running Security GenAI
Evaluations weekly (#215254)\n\n## Summary\n\nIntroduces a new
`security_solution/gen_ai_evals.yml` BuildKite pipeline\nfor
automatically running our Assistant and Attack Discovery
evaluation\nsuites weekly.\n\n### To Run Locally:\nEnsure you are
authenticated with vault for LLM + LangSmith creds:\n\n> See
[internal\ndocs](https://github.com/elastic/infra/blob/master/docs/vault/README.md#login-with-your-okta)\nfor
setup/login instructions.\n\nFetch Connectors and LangSmith creds:\n\n>
[!NOTE]\n> In discussion with @elastic/kibana-operations it was
preferred to use\nthe ci-prod secrets vault, so we cannot self-manage
the secrets. To test\nthis locally though, you can grab the secrets and
follow the\ninstructions in this
[paste\nbin](https://p.elstc.co/paste/q7k+zYOc#PN0kasw11u2J0XWC2Ls5PMNWreKzKTpgWA1wtsPzeH+).\n\n```\ncd
x-pack/test/security_solution_api_integration\nnode
scripts/genai/vault/retrieve_secrets.js \n```\n\n\nNavigate to api
integration directory, load the env vars, and start\nserver:\n```\ncd
x-pack/test/security_solution_api_integration\nexport
KIBANA_SECURITY_TESTING_AI_CONNECTORS=$(base64 -w 0 <
scripts/genai/vault/connector_config.json) && export
KIBANA_SECURITY_TESTING_LANGSMITH_KEY=$(base64 -w 0 <
scripts/genai/vault/langsmith_key.txt)\nyarn
genai_evals:server:ess\n```\n\nThen in another terminal, load vars and
run the tests:\n```\ncd
x-pack/test/security_solution_api_integration\nexport
KIBANA_SECURITY_TESTING_AI_CONNECTORS=$(base64 -w 0 <
scripts/genai/vault/connector_config.json) && export
KIBANA_SECURITY_TESTING_LANGSMITH_KEY=$(base64 -w 0 <
scripts/genai/vault/langsmith_key.txt)\nyarn
genai_evals🏃ess\n```\n\n### To manually run on
BuildKite:\nNavigate
to\n[BuildKite](https://buildkite.com/elastic?filter=ftr-security-solution-gen-ai-evaluations)\nand
run `ftr-security-solution-gen-ai-evaluations` pipeline.\n\n### To
manually run on BuildKite for specific PR:\nIn
`.buildkite/ftr_security_stateful_configs.yml`, temporarily move
the\n`genai/evaluations/trial_license_complete_tier/configs/ess.config.ts`\nline
down to the `enabled` section. Will see if we can do this
without\nrequiring a commit. @elastic/kibana-operations is it possible
to set a\nbuildkite env var that can be read in FTR tests when a
specific GitHub\nlabel is added to the PR? I.e. can I create a
`SecurityGenAI:Run Evals`\nlabel that when added will run this suite as
part of the build?\n\n> [!NOTE]\n> Currently the connectors secrets only
include `gpt-4o` and\n`gpt-4o-mini`. Waiting on finalized list w/
credentials from @jamesspi\nand @peluja1012 and then we can have ops
update using the scripts\nincluded in this
PR.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Patryk Kopycinski
<patryk.kopycinski@elastic.co>","sha":"e57663a0cf5a1692a5be10413c1d745dd260a24f"}},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/219186","number":219186,"state":"MERGED","mergeCommit":{"sha":"4fb0f9b9918cda00ea3af865e1cd1a71bcde1946","message":"[8.19]
[Security Assistant] Adds BuildKite pipeline for running Security GenAI
Evaluations weekly (#215254) (#219186)\n\n# Backport\n\nThis will
backport the following commits from `main` to `8.19`:\n- [[Security
Assistant] Adds BuildKite pipeline for running Security\nGenAI
Evaluations
weekly\n(#215254)](https://github.com/elastic/kibana/pull/215254)\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":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
# Backport
This will backport the following commits from `main` to `9.0`:
- [[Performance] Refactor TTFMP query `from`, `to` fields
(#213911)](https://github.com/elastic/kibana/pull/213911)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Abdul Wahab
Zahid","email":"awahab07@yahoo.com"},"sourceCommit":{"committedDate":"2025-03-20T10:40:24Z","message":"[Performance]
Refactor TTFMP query `from`, `to` fields (#213911)\n\nCurrently Kibana
forwards `query_range_secs` and `query_offset_secs` to\nmark the
selected time range when reporting TTFMP event. This format\ncaused some
challenges to identify `from`, `to` date offsets
in\nvisualizations.\n\nTo simplify, the PR renames and sends the three
fields explicitly:\n- `query_from_offset_secs` offset to `0` (now), with
-ve for past and\n+ve for future dates\n- `query_to_offset_secs` offset
to `0` (now), with -ve for past and +ve\nfor future dates\n-
`query_range_secs` same as previously sent\n\n_This approach is followed
after a discussion, and based on
the\n[gist](https://gist.github.com/andrewvc/1f04a57a336d768e4ec5ff2eff06ba54)\nexcerpt:_\n\n```\nEarliest
date -> QueryFrom\nNewest date -> QueryTo\nDuration ->
QueryRange\n```\n\n### Indexing\nThese fields then should be mapped in
the EBT indexer to ingest in the\ntop level of the document, eventually
removing the need to create\nruntime fields in data views for
visualizations.\n\nAlso, runtime fields in data views should be updated
to reflect this\nchange. For backward compatibility, the runtime fields
can cater both\nthe old and new field names conditionally.\n\n###
Testing\n- Ensure that the TTFMP events are correctly reporting the date
ranges.\n\n###
Example\n\n","sha":"e6e78ac6d83fe9c4a83785c717fb1b7f3fedbf0e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","v9.1.0","v8.19.0"],"title":"[Performance] Refactor TTFMP query
`from`, `to`
fields","number":213911,"url":"https://github.com/elastic/kibana/pull/213911","mergeCommit":{"message":"[Performance]
Refactor TTFMP query `from`, `to` fields (#213911)\n\nCurrently Kibana
forwards `query_range_secs` and `query_offset_secs` to\nmark the
selected time range when reporting TTFMP event. This format\ncaused some
challenges to identify `from`, `to` date offsets
in\nvisualizations.\n\nTo simplify, the PR renames and sends the three
fields explicitly:\n- `query_from_offset_secs` offset to `0` (now), with
-ve for past and\n+ve for future dates\n- `query_to_offset_secs` offset
to `0` (now), with -ve for past and +ve\nfor future dates\n-
`query_range_secs` same as previously sent\n\n_This approach is followed
after a discussion, and based on
the\n[gist](https://gist.github.com/andrewvc/1f04a57a336d768e4ec5ff2eff06ba54)\nexcerpt:_\n\n```\nEarliest
date -> QueryFrom\nNewest date -> QueryTo\nDuration ->
QueryRange\n```\n\n### Indexing\nThese fields then should be mapped in
the EBT indexer to ingest in the\ntop level of the document, eventually
removing the need to create\nruntime fields in data views for
visualizations.\n\nAlso, runtime fields in data views should be updated
to reflect this\nchange. For backward compatibility, the runtime fields
can cater both\nthe old and new field names conditionally.\n\n###
Testing\n- Ensure that the TTFMP events are correctly reporting the date
ranges.\n\n###
Example\n\n","sha":"e6e78ac6d83fe9c4a83785c717fb1b7f3fedbf0e"}},"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/213911","number":213911,"mergeCommit":{"message":"[Performance]
Refactor TTFMP query `from`, `to` fields (#213911)\n\nCurrently Kibana
forwards `query_range_secs` and `query_offset_secs` to\nmark the
selected time range when reporting TTFMP event. This format\ncaused some
challenges to identify `from`, `to` date offsets
in\nvisualizations.\n\nTo simplify, the PR renames and sends the three
fields explicitly:\n- `query_from_offset_secs` offset to `0` (now), with
-ve for past and\n+ve for future dates\n- `query_to_offset_secs` offset
to `0` (now), with -ve for past and +ve\nfor future dates\n-
`query_range_secs` same as previously sent\n\n_This approach is followed
after a discussion, and based on
the\n[gist](https://gist.github.com/andrewvc/1f04a57a336d768e4ec5ff2eff06ba54)\nexcerpt:_\n\n```\nEarliest
date -> QueryFrom\nNewest date -> QueryTo\nDuration ->
QueryRange\n```\n\n### Indexing\nThese fields then should be mapped in
the EBT indexer to ingest in the\ntop level of the document, eventually
removing the need to create\nruntime fields in data views for
visualizations.\n\nAlso, runtime fields in data views should be updated
to reflect this\nchange. For backward compatibility, the runtime fields
can cater both\nthe old and new field names conditionally.\n\n###
Testing\n- Ensure that the TTFMP events are correctly reporting the date
ranges.\n\n###
Example\n\n","sha":"e6e78ac6d83fe9c4a83785c717fb1b7f3fedbf0e"}},{"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>
# Backport
This is not a complete backport, some build operations have been
disabled because `9.0` will not have a Cloud FIPS release. We are
backporting it to keep the build processes in sync between `8.x`, `9.0`
and `main`. See 093a6b127f
This will backport the following commits from `main` to `9.0`:
- [[FIPS][Cloud][Build] Add FIPS cloud image. Convert base image to
Wolfi. (#213163)](https://github.com/elastic/kibana/pull/213163)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Brad
White","email":"Ikuni17@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-03-27T15:01:08Z","message":"[FIPS][Cloud][Build]
Add FIPS cloud image. Convert base image to Wolfi. (#213163)\n\n##
Summary\n\n- Closes elastic/kibana-operations#245\n- Convert FIPS base
image from UBI to `chainguard-base-fips`\n- Add FIPS base image updates
to Renovate\n- Adjust naming scheme for FIPS image from
`kibana-ubi-fips` to\n`kibana-fips`\n- Adds new image flavor
`kibana-cloud-fips`\n- Adds support for `ci:build-cloud-fips-image`
label\n- Move Cloud image building to its own step instead of being part
of\n`Build Kibana Distribution` step so it will be triggered when the
build\nis reused and the `build` step is
skipped.","sha":"8601ec3072173ed6745fe892000cb4d1ab7fa89b","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Operations","release_note:skip","v9.0.0","ci:build-cloud-image","ci:build-docker-fips","backport:version","v9.1.0","v8.19.0","ci:build-cloud-fips-image"],"title":"[FIPS][Cloud][Build]
Add FIPS cloud image. Convert base image to
Wolfi.","number":213163,"url":"https://github.com/elastic/kibana/pull/213163","mergeCommit":{"message":"[FIPS][Cloud][Build]
Add FIPS cloud image. Convert base image to Wolfi. (#213163)\n\n##
Summary\n\n- Closes elastic/kibana-operations#245\n- Convert FIPS base
image from UBI to `chainguard-base-fips`\n- Add FIPS base image updates
to Renovate\n- Adjust naming scheme for FIPS image from
`kibana-ubi-fips` to\n`kibana-fips`\n- Adds new image flavor
`kibana-cloud-fips`\n- Adds support for `ci:build-cloud-fips-image`
label\n- Move Cloud image building to its own step instead of being part
of\n`Build Kibana Distribution` step so it will be triggered when the
build\nis reused and the `build` step is
skipped.","sha":"8601ec3072173ed6745fe892000cb4d1ab7fa89b"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.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/213163","number":213163,"mergeCommit":{"message":"[FIPS][Cloud][Build]
Add FIPS cloud image. Convert base image to Wolfi. (#213163)\n\n##
Summary\n\n- Closes elastic/kibana-operations#245\n- Convert FIPS base
image from UBI to `chainguard-base-fips`\n- Add FIPS base image updates
to Renovate\n- Adjust naming scheme for FIPS image from
`kibana-ubi-fips` to\n`kibana-fips`\n- Adds new image flavor
`kibana-cloud-fips`\n- Adds support for `ci:build-cloud-fips-image`
label\n- Move Cloud image building to its own step instead of being part
of\n`Build Kibana Distribution` step so it will be triggered when the
build\nis reused and the `build` step is
skipped.","sha":"8601ec3072173ed6745fe892000cb4d1ab7fa89b"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
# Backport
This will backport the following commits from `main` to `9.0`:
- [[Dev Docs] Add VS Code configurations to Dev Docs Debugging Tutorial
(#212807)](https://github.com/elastic/kibana/pull/212807)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Nick
Peihl","email":"nick.peihl@elastic.co"},"sourceCommit":{"committedDate":"2025-03-06T15:14:19Z","message":"[Dev
Docs] Add VS Code configurations to Dev Docs Debugging Tutorial
(#212807)\n\n## Summary\n\nAdds to the Dev Docs Debugging tutorial
suggested configurations for VS\nCode users for debugging Kibana server
code, Jest unit tests, and\nfunctional tests.\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] 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/src/platform/packages/shared/kbn-i18n/README.md)\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)","sha":"d2412a5f98f341cf59e02e7340d718493d0492e7","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Docs","release_note:skip","DevDocs","backport:prev-minor","v9.1.0"],"title":"[Dev
Docs] Add VS Code configurations to Dev Docs Debugging
Tutorial","number":212807,"url":"https://github.com/elastic/kibana/pull/212807","mergeCommit":{"message":"[Dev
Docs] Add VS Code configurations to Dev Docs Debugging Tutorial
(#212807)\n\n## Summary\n\nAdds to the Dev Docs Debugging tutorial
suggested configurations for VS\nCode users for debugging Kibana server
code, Jest unit tests, and\nfunctional tests.\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] 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/src/platform/packages/shared/kbn-i18n/README.md)\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)","sha":"d2412a5f98f341cf59e02e7340d718493d0492e7"}},"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/212807","number":212807,"mergeCommit":{"message":"[Dev
Docs] Add VS Code configurations to Dev Docs Debugging Tutorial
(#212807)\n\n## Summary\n\nAdds to the Dev Docs Debugging tutorial
suggested configurations for VS\nCode users for debugging Kibana server
code, Jest unit tests, and\nfunctional tests.\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] 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/src/platform/packages/shared/kbn-i18n/README.md)\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)","sha":"d2412a5f98f341cf59e02e7340d718493d0492e7"}},{"url":"https://github.com/elastic/kibana/pull/213410","number":213410,"branch":"8.16","state":"OPEN"},{"url":"https://github.com/elastic/kibana/pull/213411","number":213411,"branch":"8.17","state":"OPEN"},{"url":"https://github.com/elastic/kibana/pull/213412","number":213412,"branch":"8.18","state":"OPEN"},{"url":"https://github.com/elastic/kibana/pull/213413","number":213413,"branch":"8.x","state":"OPEN"}]}]
BACKPORT-->
Co-authored-by: Nick Peihl <nick.peihl@elastic.co>
# Backport
This will backport the following commits from `main` to `9.0`:
- [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":["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/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-->
## Summary
Adding documentation to help teams diagnose FIPS pipeline errors in
test.
Linked to FIPS compliant OpenSSL/Node setup docs
---------
Co-authored-by: Jeramy Soucy <jeramy.soucy@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Relates to https://github.com/elastic/kibana/issues/181995
This PR updates the examples to include availability information and
another description.
Co-authored-by: Jean-Louis Leysens <jeanlouis.leysens@elastic.co>
Saved objects declared as `hidden` can only be accessed with a client
that explicitly includes hidden types.
### Checklist
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
---------
Co-authored-by: Alejandro Fernández Haro <afharo@gmail.com>
* Remove duplicated “File service” entry from nav
* Move Screenshotting to main Tutorials section in nav
* Add “Updating Puppeteer and Chromium” to nav as a sub-item of
screenshotting
* Move files for Screenshotting/Chromium out of the SharedUX space to
`dev_docs/tutorials/screenshotting`
## Summary
It’s common request for Dev teams to run specific journeys on a PR to
compare performance metrics against the `main` branch. These requests
usually focus on a particular area, such as the Dashboard or Discover
app.
To streamline the process, this PR groups relevant journeys into
categories that can be triggered through an environment variable. For
example, setting `JOURNEYS_GROUP=dashboard` will execute only the three
dashboard-specific journeys, which are (usually) sufficient for
evaluating the performance impact of code changes within the Dashboard
app.
Current Process for Triggering Performance Builds:
- Create a new kibana-single-user-performance
[build](https://buildkite.com/elastic/kibana-single-user-performance#new)
- Provide the following arguments:
Branch: `refs/pull/<PR_number>/head`
Under Options, set the environment variable:
`JOURNEYS_GROUP=<group_name>`
Currently supported journey groups:
- kibanaStartAndLoad
- crud
- dashboard
- discover
- maps
- ml
[Build example
](https://buildkite.com/elastic/kibana-single-user-performance/builds/14427)
Each group focuses on a specific set of journeys tied to its respective
area in Kibana, allowing for more targeted performance testing. Since
running group takes ~5-10 min on bare metal worker, it should not delay
the regular (every 3h) runs against `main` branch
test locally with `node scripts/run_performance.js --group <group_name>`
## Summary
Added documentation explaining how SO migrations on serverless work
## Preview
<img width="741" alt="Screenshot 2024-03-22 at 16 15 13"
src="2217c01f-8447-4f22-a782-a07ff221aa42">
## Summary
Moving synthtrace clients init inside kbn-journeys:
esArchiver does not always solve the issue with data generation. We
already have afew journeys using Synthtrace instead and expect more to
come.
In order to simplify the process of creating new journeys, this PR moves
Synthtrace client initialisation into kbn-journey package and exposes a
way to define client type, generator function & its input arguments:
```
import { Journey, SynthtraceOptions } from '@kbn/journeys';
import { subj } from '@kbn/test-subj-selector';
import { generateApmData } from '../synthtrace_data/apm_data';
export const journey = new Journey({
synthtrace: {
type: 'apm',
generator: generateApmData,
options: {
from: new Date(Date.now() - 1000 * 60 * 15),
to: new Date(Date.now() + 1000 * 60 * 15),
},
},
})
```
PR also needs review from teams who use Synthtrace to understand if the implementation is matching expectations.
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
The source code classifier we currently have was incorrectly classifying
e2e journey files as `non-package` instead of `tests or mocks` as it was
not using the name standards we used for FTR files.
We could have created a `functional-tests` package for the performance
folder (which is what we want to do in the future) but because we don't
have the feature to create ownerless packages it would not be easy to
find a given owner for that folder.
As such I'm just opting for a second solution which is applying the same
name standards to this journeys folder as we have for FTR and changing a
little the classifier to recognise it.
This should fix the problem found at
https://github.com/elastic/kibana/pull/178017.
Co-authored-by: Alex Szabo <alex.szabo@elastic.co>
## Summary
Closes elastic/kibana-operations/issues/24
This adds a second flavor of UBI image (`kibana-ubi-fips`) which has a
FIPS compliant version of OpenSSL compiled and linked to Node. Using the
label `ci:build-docker-fips` will create the image in CI and push to the
registry.
The FIPS image start the Kibana NodeJS process using the FIPS compliant
OpenSSL version. Kibana will start in this state but crash during
runtime because there are many code changes required for it to be FIPS
compliant, including `node_module` usage. I attempted numerous ways to
load other OpenSSL providers alongside the FIPS provider, but it always
led to Kibana crashing on invalid algorithm usage.
---------
Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
I had to change `waitForRender` since `page.waitForFunction` tries to
run a script on page and it is not working due to CSP settings on Cloud.
Instead of injecting a script, we use a classical API to find
elements/attributes in the DOM.
Since `PUT /internal/core/_settings` is merged in 8.11.0, journeys run
on Cloud with on-fly labels update is supported starting deployments
8.11.0+. I added error message for 404 code just in case someone runs it
on earlier version.
`many_fields_discover` journey was update since on Cloud the data view
used by scenario is not selected by default.
How it works:
Create a deployment with QAF and re-configure it for journey run:
```
export EC_DEPLOYMENT_NAME=my-run-8.11
qaf elastic-cloud deployments create --stack-version 8.11.0-SNAPSHOT --environment staging --region gcp-us-central1
qaf elastic-cloud deployments configure-for-performance-journeys
```
Run any journey, e.g. many_fields_discover
```
TEST_CLOUD=1 TEST_ES_URL=https://username:pswd@es_url:443 TEST_KIBANA_URL=https://username:pswd@kibana-ur_url node scripts/functional_test_runner --config x-pack/performance/journeys/many_fields_discover.ts
```
You should see a log about labels being updated:
```
Updating telemetry & APM labels: {"testJobId":"local-a3272047-6724-44d1-9a61-5c79781b06a1","testBuildId":"local-d8edbace-f441-4ba9-ac83-5909be3acf2a","journeyName":"many_fields_discover","ftrConfig":"x-pack/performance/journeys/many_fields_discover.ts"}
```
And then able to find APM logs for the journey in
[Ops](https://kibana-ops-e2e-perf.kb.us-central1.gcp.cloud.es.io:9243/app/apm/services?comparisonEnabled=true&environment=ENVIRONMENT_ALL&kuery=labels.testJobId%20%3A%20%22local-d79a878c-cc7a-423b-b884-c9b6b1a8d781%22&latencyAggregationType=avg&offset=1d&rangeFrom=now-24h%2Fh&rangeTo=now&serviceGroup=&transactionType=request)
cluster
## Summary
Expands on the HTTP versioning tutorial with more information about
`internal` vs `public` endpoints.
## Screenshots
<img width="875" alt="Screenshot 2023-06-01 at 15 52 18"
src="f8f790a0-31ec-4123-89db-b1f01aa17845">
<img width="923" alt="Screenshot 2023-06-01 at 15 52 33"
src="f97ad89b-face-4176-a814-8e17ecd3d2a5">
* Add deferred migrations parameter.
* Update outdated documents query to take into account deferred migrations.
* Update outdated documents query to take into account the core migration version.
* Update read operations in the saved objects repository to perform deferred migrations.
## Summary
This PR adds changes and instructions how to run existing performance
journeys against ESS instances.
As previously discussed with @pheyos , there are few manual steps to be
done before running the actual journey:
1. Create cloud deployment and re-configure it the way APM traces are
reported the monitoring cluster
2. Check out the branch matching deployment version (main ->
8.9.0-SNAPSHOT), create user with `superuser` role (we don't test
functional features, only performance metrics)
Then you can run the journey like a regular cloud test suite:
```
export TEST_KIBANA_URL=https://<username>:<password>@<kibana_url>
export TEST_ES_URL=https://<username>:<password>@j<elasticsearch_url>:<port>
export TEST_CLOUD=1
node scripts/functional_test_runner.js --config x-pack/performance/journeys/$YOUR_JOURNEY_NAME.ts
```
<img width="1357" alt="image"
src="https://user-images.githubusercontent.com/10977896/236499836-2738fecb-a5a9-4e58-a10b-915b962af037.png">
---------
Co-authored-by: Jon <jon@budzenski.me>
## Summary
This contribution adds a new tutorial for how plugin developers must
approach developing and maintaining versionable HTTP APIs.
## How to review
1. Pull down the changes
2. Run `./scripts/dev_docs.sh`
3. Open http://localhost:3000 in your browser
4. Go to "Versioning HTTP APIs" in the side nav
## Summary
Adds a dev docs guide for the core-approved versioning strategy. This
strategy is subject to some iteration but is based on the work we did
for the Saved Objects Management plugin in
https://github.com/elastic/kibana/pull/149495.
Closes https://github.com/elastic/kibana/issues/149929
## How to test
1. Run `./scripts/dev_docs.sh`
2. Navigate to "Versioning interfaces" in the side nav menu
---------
Co-authored-by: Luke Elmers <lukeelmers@gmail.com>