Skip to content

[scout] support custom servers configuration#244306

Merged
dmlemeshko merged 28 commits intoelastic:mainfrom
dmlemeshko:scout/support-custom-servers-configuration
Dec 8, 2025
Merged

[scout] support custom servers configuration#244306
dmlemeshko merged 28 commits intoelastic:mainfrom
dmlemeshko:scout/support-custom-servers-configuration

Conversation

@dmlemeshko
Copy link
Copy Markdown
Contributor

@dmlemeshko dmlemeshko commented Nov 26, 2025

Summary

part of https://github.com/elastic/appex-qa-team/issues/562

This PR adds support for custom server configurations by creating a scout directory with the name matching the directory with configuration files under kbn-scout/src/servers/configs/custom.

Usage

  1. Define custom configurations under kbn-scout/src/servers/configs/custom by creating a new directory e.g. uiam_local and adding configs for modes it should support (e.g. es.serverless.config, check kbn-scout/src/servers/configs/default for naming ):
   // custom/uiam_local/serverless/es.serverless.config.ts
   import type { ScoutServerConfig } from '../../../types';
   import { defaultConfig } from '../../default/serverless/serverless.base.config';
   
   export const servers: ScoutServerConfig = {
     ...defaultConfig,
     // Your custom configuration
   };
  1. Create a new test directory under <plugin|package>/test/scout_<dir_name_with_custom_configs>:
    x-pack/platform/plugins/shared/security/test/scout_uiam_local
  2. Keep the <ui|api>tests & playwright.config.ts design as in the regular scout dir, use the same tags in spec files.
  3. Run your tests as usual:
node scripts/scout run-tests --serverless=es  --config x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts

// to only start the server using configs from custom directory
node scripts/scout start-server --serverless=es  --config-dir uiam_local

Important

  • Tests defined in scout_<config_dir_name> directory are not included in the main scout builder CI step, but rather in its own for custom configs (to be added as a follow-up)
  • They do not benefit from smart test balancing due to custom server setup.
  • The tests won't be run in Cloud due to custom servers setup requirement, keep it in mind and mitigate the risks

@dmlemeshko dmlemeshko self-assigned this Nov 26, 2025
@dmlemeshko dmlemeshko added release_note:skip Skip the PR/issue when compiling release notes backport:version Backport to applied version labels test:scout labels Nov 26, 2025
@dmlemeshko dmlemeshko marked this pull request as ready for review November 26, 2025 14:49
@dmlemeshko dmlemeshko requested a review from a team as a code owner November 26, 2025 14:49
@dmlemeshko dmlemeshko requested review from a team as code owners November 28, 2025 15:19
@dmlemeshko dmlemeshko requested review from joeypoon and pzl November 28, 2025 15:19
Copy link
Copy Markdown
Contributor

@awahab07 awahab07 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

obs-onboarding changes LGTM. Just addition of announceOnMount prop for EuiCallOut.

@kibanamachine
Copy link
Copy Markdown
Contributor

Starting backport for target branches: 8.19, 9.1, 9.2

https://github.com/elastic/kibana/actions/runs/20034825761

@kibanamachine
Copy link
Copy Markdown
Contributor

💔 All backports failed

Status Branch Result
8.19 Backport failed because of merge conflicts
9.1 Backport failed because of merge conflicts

You might need to backport the following PRs to 9.1:
- Add support for essentials and ease tiers in Scout (#244553)
9.2 Backport failed because of merge conflicts

Manual backport

To create the backport manually run:

node scripts/backport --pr 244306

Questions ?

Please refer to the Backport tool documentation

1 similar comment
@kibanamachine
Copy link
Copy Markdown
Contributor

💔 All backports failed

Status Branch Result
8.19 Backport failed because of merge conflicts
9.1 Backport failed because of merge conflicts

You might need to backport the following PRs to 9.1:
- Add support for essentials and ease tiers in Scout (#244553)
9.2 Backport failed because of merge conflicts

Manual backport

To create the backport manually run:

node scripts/backport --pr 244306

Questions ?

Please refer to the Backport tool documentation

mbondyra added a commit to mbondyra/kibana that referenced this pull request Dec 8, 2025
* commit '6647f813c9fa03ac0378e3d4756246e8dc4b4c76': (33 commits)
  [Detection Engine] Extracts Rules/Alerts/Exceptions permission to new Rules feature privileges (elastic#239634)
  [Agent Builder] Add Intro Tour (elastic#245551)
  Add datastream lifecycle support to indices metadata (elastic#245548)
  [Serverless] Update preconfigured connectors (elastic#245445)
  [Metrics][Discover] Discover to prefer line chars for time series data (elastic#244595)
  Update dependency @elastic/ebt to ^1.4.1 (main) (elastic#241629)
  [One Workflow] fix: request bodies with oneof schemas (`kibana.SetAlertsStatus`, etc) (elastic#245344)
  Update dependency ai to v5 (elastic#244675)
  Fix Discover trace waterfall behavior with duplicate spans (elastic#244984)
  [FSH] Migrated fs usage to kbn/fs for sample ingest (elastic#244163)
  Streamlang: Unskip type coercion test (elastic#245519)
  [Response Ops][Reporting] Fixing error in calculating delay value between retries (elastic#245431)
  Add TopNavMenuBeta to navigation plugin (elastic#243578)
  [scout] support custom servers configuration (elastic#244306)
  [Fleet] Run agentless background sync without dry run (elastic#245286)
  Fix Change Password Flaky Test (elastic#245443)
  Add new gap fill status for rules (elastic#242595)
  [Kibana Search] Move SLOs higher up in search results (elastic#245518)
  feat(slo): introduce find SLO instances internal route (elastic#245333)
  [FSH] Dropped unnecessary `fs` persistence for synthetics project code (elastic#244338)
  ...
@kibanamachine kibanamachine added the backport missing Added to PRs automatically when the are determined to be missing a backport. label Dec 9, 2025
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 244306 locally
cc: @dmlemeshko

1 similar comment
@kibanamachine
Copy link
Copy Markdown
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create automatically backports add a backport:* label or prevent reminders by adding the backport:skip label.
You can also create backports manually by running node scripts/backport --pr 244306 locally
cc: @dmlemeshko

@dmlemeshko
Copy link
Copy Markdown
Contributor Author

💚 All backports created successfully

Status Branch Result
9.2

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

dmlemeshko added a commit to dmlemeshko/kibana that referenced this pull request Dec 10, 2025
## Summary

part of elastic/appex-qa-team#562

This PR adds support for custom server configurations by creating a
scout directory with the name matching the directory with configuration
files under `kbn-scout/src/servers/configs/custom`.

### Usage

1. Define custom configurations under
`kbn-scout/src/servers/configs/custom` by creating a new directory e.g.
`uiam_local` and adding configs for modes it should support (e.g.
`es.serverless.config`, **check kbn-scout/src/servers/configs/default
for naming** ):
```ts
   // custom/uiam_local/serverless/es.serverless.config.ts
   import type { ScoutServerConfig } from '../../../types';
   import { defaultConfig } from '../../default/serverless/serverless.base.config';

   export const servers: ScoutServerConfig = {
     ...defaultConfig,
     // Your custom configuration
   };
```

2. Create a new test directory under
<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:
`x-pack/platform/plugins/shared/security/test/scout_uiam_local`
3. Keep the `<ui|api>tests` & `playwright.config.ts` design as in the
regular `scout` dir, use the same tags in spec files.
4. Run your tests as usual:

```bash
node scripts/scout run-tests --serverless=es  --config x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts

// to only start the server using configs from custom directory
node scripts/scout start-server --serverless=es  --config-dir uiam_local
```

### Important
- Tests defined in `scout_<config_dir_name>` directory are not included
in the main scout builder CI step, but rather in its own for custom
configs (to be added as a follow-up)
- They do not benefit from smart test balancing due to custom server
setup.
- **The tests won't be run in Cloud** due to custom servers setup
requirement, keep it in mind and mitigate the risks

(cherry picked from commit 0b42c31)

# Conflicts:
#	src/platform/packages/shared/kbn-scout/src/servers/configs/config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/stateful/base.config.ts
dmlemeshko added a commit that referenced this pull request Dec 11, 2025
# Backport

This will backport the following commits from `main` to `9.2`:
- [[scout] support custom servers configuration
(#244306)](#244306)

<!--- Backport version: 10.2.0 -->

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

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2025-12-08T15:25:50Z","message":"[scout]
support custom servers configuration (#244306)\n\n## Summary\n\npart of
https://github.com/elastic/appex-qa-team/issues/562\n\nThis PR adds
support for custom server configurations by creating a\nscout directory
with the name matching the directory with configuration\nfiles under
`kbn-scout/src/servers/configs/custom`.\n\n\n### Usage\n\n\n1. Define
custom configurations under\n`kbn-scout/src/servers/configs/custom` by
creating a new directory e.g.\n`uiam_local` and adding configs for modes
it should support (e.g.\n`es.serverless.config`, **check
kbn-scout/src/servers/configs/default\nfor naming** ):\n```ts\n //
custom/uiam_local/serverless/es.serverless.config.ts\n import type {
ScoutServerConfig } from '../../../types';\n import { defaultConfig }
from '../../default/serverless/serverless.base.config';\n \n export
const servers: ScoutServerConfig = {\n ...defaultConfig,\n // Your
custom configuration\n };\n```\n\n2. Create a new test directory
under\n<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:\n`x-pack/platform/plugins/shared/security/test/scout_uiam_local`\n3.
Keep the `<ui|api>tests` & `playwright.config.ts` design as in
the\nregular `scout` dir, use the same tags in spec files.\n4. Run your
tests as usual:\n\n```bash\nnode scripts/scout run-tests --serverless=es
--config
x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts\n\n//
to only start the server using configs from custom directory\nnode
scripts/scout start-server --serverless=es --config-dir
uiam_local\n```\n\n### Important\n- Tests defined in
`scout_<config_dir_name>` directory are not included\nin the main scout
builder CI step, but rather in its own for custom\nconfigs (to be added
as a follow-up)\n- They do not benefit from smart test balancing due to
custom server\nsetup.\n- **The tests won't be run in Cloud** due to
custom servers setup\nrequirement, keep it in mind and mitigate the
risks","sha":"0b42c313bb20fb502573065537199f976381bb73","branchLabelMapping":{"^v9.3.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","backport:all-open","test:scout","v9.3.0","Team:obs-ux-management"],"title":"[scout]
support custom servers
configuration","number":244306,"url":"https://github.com/elastic/kibana/pull/244306","mergeCommit":{"message":"[scout]
support custom servers configuration (#244306)\n\n## Summary\n\npart of
https://github.com/elastic/appex-qa-team/issues/562\n\nThis PR adds
support for custom server configurations by creating a\nscout directory
with the name matching the directory with configuration\nfiles under
`kbn-scout/src/servers/configs/custom`.\n\n\n### Usage\n\n\n1. Define
custom configurations under\n`kbn-scout/src/servers/configs/custom` by
creating a new directory e.g.\n`uiam_local` and adding configs for modes
it should support (e.g.\n`es.serverless.config`, **check
kbn-scout/src/servers/configs/default\nfor naming** ):\n```ts\n //
custom/uiam_local/serverless/es.serverless.config.ts\n import type {
ScoutServerConfig } from '../../../types';\n import { defaultConfig }
from '../../default/serverless/serverless.base.config';\n \n export
const servers: ScoutServerConfig = {\n ...defaultConfig,\n // Your
custom configuration\n };\n```\n\n2. Create a new test directory
under\n<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:\n`x-pack/platform/plugins/shared/security/test/scout_uiam_local`\n3.
Keep the `<ui|api>tests` & `playwright.config.ts` design as in
the\nregular `scout` dir, use the same tags in spec files.\n4. Run your
tests as usual:\n\n```bash\nnode scripts/scout run-tests --serverless=es
--config
x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts\n\n//
to only start the server using configs from custom directory\nnode
scripts/scout start-server --serverless=es --config-dir
uiam_local\n```\n\n### Important\n- Tests defined in
`scout_<config_dir_name>` directory are not included\nin the main scout
builder CI step, but rather in its own for custom\nconfigs (to be added
as a follow-up)\n- They do not benefit from smart test balancing due to
custom server\nsetup.\n- **The tests won't be run in Cloud** due to
custom servers setup\nrequirement, keep it in mind and mitigate the
risks","sha":"0b42c313bb20fb502573065537199f976381bb73"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.3.0","branchLabelMappingKey":"^v9.3.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/244306","number":244306,"mergeCommit":{"message":"[scout]
support custom servers configuration (#244306)\n\n## Summary\n\npart of
https://github.com/elastic/appex-qa-team/issues/562\n\nThis PR adds
support for custom server configurations by creating a\nscout directory
with the name matching the directory with configuration\nfiles under
`kbn-scout/src/servers/configs/custom`.\n\n\n### Usage\n\n\n1. Define
custom configurations under\n`kbn-scout/src/servers/configs/custom` by
creating a new directory e.g.\n`uiam_local` and adding configs for modes
it should support (e.g.\n`es.serverless.config`, **check
kbn-scout/src/servers/configs/default\nfor naming** ):\n```ts\n //
custom/uiam_local/serverless/es.serverless.config.ts\n import type {
ScoutServerConfig } from '../../../types';\n import { defaultConfig }
from '../../default/serverless/serverless.base.config';\n \n export
const servers: ScoutServerConfig = {\n ...defaultConfig,\n // Your
custom configuration\n };\n```\n\n2. Create a new test directory
under\n<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:\n`x-pack/platform/plugins/shared/security/test/scout_uiam_local`\n3.
Keep the `<ui|api>tests` & `playwright.config.ts` design as in
the\nregular `scout` dir, use the same tags in spec files.\n4. Run your
tests as usual:\n\n```bash\nnode scripts/scout run-tests --serverless=es
--config
x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts\n\n//
to only start the server using configs from custom directory\nnode
scripts/scout start-server --serverless=es --config-dir
uiam_local\n```\n\n### Important\n- Tests defined in
`scout_<config_dir_name>` directory are not included\nin the main scout
builder CI step, but rather in its own for custom\nconfigs (to be added
as a follow-up)\n- They do not benefit from smart test balancing due to
custom server\nsetup.\n- **The tests won't be run in Cloud** due to
custom servers setup\nrequirement, keep it in mind and mitigate the
risks","sha":"0b42c313bb20fb502573065537199f976381bb73"}}]}] BACKPORT-->
@kibanamachine kibanamachine added v9.2.3 and removed backport missing Added to PRs automatically when the are determined to be missing a backport. labels Dec 11, 2025
@dmlemeshko
Copy link
Copy Markdown
Contributor Author

💚 All backports created successfully

Status Branch Result
9.1

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

dmlemeshko added a commit to dmlemeshko/kibana that referenced this pull request Dec 11, 2025
## Summary

part of elastic/appex-qa-team#562

This PR adds support for custom server configurations by creating a
scout directory with the name matching the directory with configuration
files under `kbn-scout/src/servers/configs/custom`.

### Usage

1. Define custom configurations under
`kbn-scout/src/servers/configs/custom` by creating a new directory e.g.
`uiam_local` and adding configs for modes it should support (e.g.
`es.serverless.config`, **check kbn-scout/src/servers/configs/default
for naming** ):
```ts
   // custom/uiam_local/serverless/es.serverless.config.ts
   import type { ScoutServerConfig } from '../../../types';
   import { defaultConfig } from '../../default/serverless/serverless.base.config';

   export const servers: ScoutServerConfig = {
     ...defaultConfig,
     // Your custom configuration
   };
```

2. Create a new test directory under
<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:
`x-pack/platform/plugins/shared/security/test/scout_uiam_local`
3. Keep the `<ui|api>tests` & `playwright.config.ts` design as in the
regular `scout` dir, use the same tags in spec files.
4. Run your tests as usual:

```bash
node scripts/scout run-tests --serverless=es  --config x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts

// to only start the server using configs from custom directory
node scripts/scout start-server --serverless=es  --config-dir uiam_local
```

### Important
- Tests defined in `scout_<config_dir_name>` directory are not included
in the main scout builder CI step, but rather in its own for custom
configs (to be added as a follow-up)
- They do not benefit from smart test balancing due to custom server
setup.
- **The tests won't be run in Cloud** due to custom servers setup
requirement, keep it in mind and mitigate the risks

(cherry picked from commit 0b42c31)

# Conflicts:
#	src/platform/packages/shared/kbn-scout/src/cli/config_discovery.test.ts
#	src/platform/packages/shared/kbn-scout/src/cli/config_discovery.ts
#	src/platform/packages/shared/kbn-scout/src/config/utils/get_config_file.ts
#	src/platform/packages/shared/kbn-scout/src/playwright/runner/flags.ts
#	src/platform/packages/shared/kbn-scout/src/playwright/runner/run_tests.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/es.serverless.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/oblt.serverless.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/oblt_logs_essentials.serverless.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/security.serverless.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/serverless.base.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/stateful/base.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/stateful/stateful.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/loader/read_config_file.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/utils/load_servers_config.test.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/utils/load_servers_config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/utils/save_scout_test_config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/flags.ts
#	src/platform/packages/shared/kbn-scout/src/servers/run_kibana_server.ts
#	src/platform/packages/shared/kbn-scout/src/servers/start_servers.ts
#	x-pack/solutions/observability/plugins/slo/test/scout/ui/tests/slos_overview.spec.ts
dmlemeshko added a commit that referenced this pull request Dec 11, 2025
# Backport

This will backport the following commits from `main` to `9.1`:
- [[scout] support custom servers configuration
(#244306)](#244306)

<!--- Backport version: 10.2.0 -->

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

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2025-12-08T15:25:50Z","message":"[scout]
support custom servers configuration (#244306)\n\n## Summary\n\npart of
https://github.com/elastic/appex-qa-team/issues/562\n\nThis PR adds
support for custom server configurations by creating a\nscout directory
with the name matching the directory with configuration\nfiles under
`kbn-scout/src/servers/configs/custom`.\n\n\n### Usage\n\n\n1. Define
custom configurations under\n`kbn-scout/src/servers/configs/custom` by
creating a new directory e.g.\n`uiam_local` and adding configs for modes
it should support (e.g.\n`es.serverless.config`, **check
kbn-scout/src/servers/configs/default\nfor naming** ):\n```ts\n //
custom/uiam_local/serverless/es.serverless.config.ts\n import type {
ScoutServerConfig } from '../../../types';\n import { defaultConfig }
from '../../default/serverless/serverless.base.config';\n \n export
const servers: ScoutServerConfig = {\n ...defaultConfig,\n // Your
custom configuration\n };\n```\n\n2. Create a new test directory
under\n<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:\n`x-pack/platform/plugins/shared/security/test/scout_uiam_local`\n3.
Keep the `<ui|api>tests` & `playwright.config.ts` design as in
the\nregular `scout` dir, use the same tags in spec files.\n4. Run your
tests as usual:\n\n```bash\nnode scripts/scout run-tests --serverless=es
--config
x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts\n\n//
to only start the server using configs from custom directory\nnode
scripts/scout start-server --serverless=es --config-dir
uiam_local\n```\n\n### Important\n- Tests defined in
`scout_<config_dir_name>` directory are not included\nin the main scout
builder CI step, but rather in its own for custom\nconfigs (to be added
as a follow-up)\n- They do not benefit from smart test balancing due to
custom server\nsetup.\n- **The tests won't be run in Cloud** due to
custom servers setup\nrequirement, keep it in mind and mitigate the
risks","sha":"0b42c313bb20fb502573065537199f976381bb73","branchLabelMapping":{"^v9.3.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport
missing","backport:all-open","test:scout","v9.3.0","Team:obs-ux-management"],"title":"[scout]
support custom servers
configuration","number":244306,"url":"https://github.com/elastic/kibana/pull/244306","mergeCommit":{"message":"[scout]
support custom servers configuration (#244306)\n\n## Summary\n\npart of
https://github.com/elastic/appex-qa-team/issues/562\n\nThis PR adds
support for custom server configurations by creating a\nscout directory
with the name matching the directory with configuration\nfiles under
`kbn-scout/src/servers/configs/custom`.\n\n\n### Usage\n\n\n1. Define
custom configurations under\n`kbn-scout/src/servers/configs/custom` by
creating a new directory e.g.\n`uiam_local` and adding configs for modes
it should support (e.g.\n`es.serverless.config`, **check
kbn-scout/src/servers/configs/default\nfor naming** ):\n```ts\n //
custom/uiam_local/serverless/es.serverless.config.ts\n import type {
ScoutServerConfig } from '../../../types';\n import { defaultConfig }
from '../../default/serverless/serverless.base.config';\n \n export
const servers: ScoutServerConfig = {\n ...defaultConfig,\n // Your
custom configuration\n };\n```\n\n2. Create a new test directory
under\n<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:\n`x-pack/platform/plugins/shared/security/test/scout_uiam_local`\n3.
Keep the `<ui|api>tests` & `playwright.config.ts` design as in
the\nregular `scout` dir, use the same tags in spec files.\n4. Run your
tests as usual:\n\n```bash\nnode scripts/scout run-tests --serverless=es
--config
x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts\n\n//
to only start the server using configs from custom directory\nnode
scripts/scout start-server --serverless=es --config-dir
uiam_local\n```\n\n### Important\n- Tests defined in
`scout_<config_dir_name>` directory are not included\nin the main scout
builder CI step, but rather in its own for custom\nconfigs (to be added
as a follow-up)\n- They do not benefit from smart test balancing due to
custom server\nsetup.\n- **The tests won't be run in Cloud** due to
custom servers setup\nrequirement, keep it in mind and mitigate the
risks","sha":"0b42c313bb20fb502573065537199f976381bb73"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.3.0","branchLabelMappingKey":"^v9.3.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/244306","number":244306,"mergeCommit":{"message":"[scout]
support custom servers configuration (#244306)\n\n## Summary\n\npart of
https://github.com/elastic/appex-qa-team/issues/562\n\nThis PR adds
support for custom server configurations by creating a\nscout directory
with the name matching the directory with configuration\nfiles under
`kbn-scout/src/servers/configs/custom`.\n\n\n### Usage\n\n\n1. Define
custom configurations under\n`kbn-scout/src/servers/configs/custom` by
creating a new directory e.g.\n`uiam_local` and adding configs for modes
it should support (e.g.\n`es.serverless.config`, **check
kbn-scout/src/servers/configs/default\nfor naming** ):\n```ts\n //
custom/uiam_local/serverless/es.serverless.config.ts\n import type {
ScoutServerConfig } from '../../../types';\n import { defaultConfig }
from '../../default/serverless/serverless.base.config';\n \n export
const servers: ScoutServerConfig = {\n ...defaultConfig,\n // Your
custom configuration\n };\n```\n\n2. Create a new test directory
under\n<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:\n`x-pack/platform/plugins/shared/security/test/scout_uiam_local`\n3.
Keep the `<ui|api>tests` & `playwright.config.ts` design as in
the\nregular `scout` dir, use the same tags in spec files.\n4. Run your
tests as usual:\n\n```bash\nnode scripts/scout run-tests --serverless=es
--config
x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts\n\n//
to only start the server using configs from custom directory\nnode
scripts/scout start-server --serverless=es --config-dir
uiam_local\n```\n\n### Important\n- Tests defined in
`scout_<config_dir_name>` directory are not included\nin the main scout
builder CI step, but rather in its own for custom\nconfigs (to be added
as a follow-up)\n- They do not benefit from smart test balancing due to
custom server\nsetup.\n- **The tests won't be run in Cloud** due to
custom servers setup\nrequirement, keep it in mind and mitigate the
risks","sha":"0b42c313bb20fb502573065537199f976381bb73"}},{"url":"https://github.com/elastic/kibana/pull/245930","number":245930,"branch":"9.2","state":"OPEN"}]}]
BACKPORT-->
dmlemeshko added a commit to dmlemeshko/kibana that referenced this pull request Dec 12, 2025
## Summary

part of elastic/appex-qa-team#562

This PR adds support for custom server configurations by creating a
scout directory with the name matching the directory with configuration
files under `kbn-scout/src/servers/configs/custom`.

### Usage

1. Define custom configurations under
`kbn-scout/src/servers/configs/custom` by creating a new directory e.g.
`uiam_local` and adding configs for modes it should support (e.g.
`es.serverless.config`, **check kbn-scout/src/servers/configs/default
for naming** ):
```ts
   // custom/uiam_local/serverless/es.serverless.config.ts
   import type { ScoutServerConfig } from '../../../types';
   import { defaultConfig } from '../../default/serverless/serverless.base.config';

   export const servers: ScoutServerConfig = {
     ...defaultConfig,
     // Your custom configuration
   };
```

2. Create a new test directory under
<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:
`x-pack/platform/plugins/shared/security/test/scout_uiam_local`
3. Keep the `<ui|api>tests` & `playwright.config.ts` design as in the
regular `scout` dir, use the same tags in spec files.
4. Run your tests as usual:

```bash
node scripts/scout run-tests --serverless=es  --config x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts

// to only start the server using configs from custom directory
node scripts/scout start-server --serverless=es  --config-dir uiam_local
```

### Important
- Tests defined in `scout_<config_dir_name>` directory are not included
in the main scout builder CI step, but rather in its own for custom
configs (to be added as a follow-up)
- They do not benefit from smart test balancing due to custom server
setup.
- **The tests won't be run in Cloud** due to custom servers setup
requirement, keep it in mind and mitigate the risks

(cherry picked from commit 0b42c31)

# Conflicts:
#	src/platform/packages/shared/kbn-scout/src/cli/config_discovery.test.ts
#	src/platform/packages/shared/kbn-scout/src/cli/config_discovery.ts
#	src/platform/packages/shared/kbn-scout/src/config/utils/get_config_file.ts
#	src/platform/packages/shared/kbn-scout/src/playwright/runner/flags.ts
#	src/platform/packages/shared/kbn-scout/src/playwright/runner/run_tests.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/es.serverless.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/oblt.serverless.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/oblt_logs_essentials.serverless.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/security.serverless.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/security_ease.serverless.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/security_essentials.serverless.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/serverless/serverless.base.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/stateful/base.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/default/stateful/stateful.config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/loader/read_config_file.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/utils/load_servers_config.test.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/utils/load_servers_config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/configs/utils/save_scout_test_config.ts
#	src/platform/packages/shared/kbn-scout/src/servers/flags.ts
#	src/platform/packages/shared/kbn-scout/src/servers/run_kibana_server.ts
#	src/platform/packages/shared/kbn-scout/src/servers/start_servers.ts
#	x-pack/solutions/observability/plugins/slo/test/scout/ui/tests/slos_overview.spec.ts
@dmlemeshko
Copy link
Copy Markdown
Contributor Author

💚 All backports created successfully

Status Branch Result
8.19

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

dmlemeshko added a commit that referenced this pull request Dec 12, 2025
# Backport

This will backport the following commits from `main` to `8.19`:
- [[scout] support custom servers configuration
(#244306)](#244306)

<!--- Backport version: 10.2.0 -->

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

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2025-12-08T15:25:50Z","message":"[scout]
support custom servers configuration (#244306)\n\n## Summary\n\npart of
https://github.com/elastic/appex-qa-team/issues/562\n\nThis PR adds
support for custom server configurations by creating a\nscout directory
with the name matching the directory with configuration\nfiles under
`kbn-scout/src/servers/configs/custom`.\n\n\n### Usage\n\n\n1. Define
custom configurations under\n`kbn-scout/src/servers/configs/custom` by
creating a new directory e.g.\n`uiam_local` and adding configs for modes
it should support (e.g.\n`es.serverless.config`, **check
kbn-scout/src/servers/configs/default\nfor naming** ):\n```ts\n //
custom/uiam_local/serverless/es.serverless.config.ts\n import type {
ScoutServerConfig } from '../../../types';\n import { defaultConfig }
from '../../default/serverless/serverless.base.config';\n \n export
const servers: ScoutServerConfig = {\n ...defaultConfig,\n // Your
custom configuration\n };\n```\n\n2. Create a new test directory
under\n<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:\n`x-pack/platform/plugins/shared/security/test/scout_uiam_local`\n3.
Keep the `<ui|api>tests` & `playwright.config.ts` design as in
the\nregular `scout` dir, use the same tags in spec files.\n4. Run your
tests as usual:\n\n```bash\nnode scripts/scout run-tests --serverless=es
--config
x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts\n\n//
to only start the server using configs from custom directory\nnode
scripts/scout start-server --serverless=es --config-dir
uiam_local\n```\n\n### Important\n- Tests defined in
`scout_<config_dir_name>` directory are not included\nin the main scout
builder CI step, but rather in its own for custom\nconfigs (to be added
as a follow-up)\n- They do not benefit from smart test balancing due to
custom server\nsetup.\n- **The tests won't be run in Cloud** due to
custom servers setup\nrequirement, keep it in mind and mitigate the
risks","sha":"0b42c313bb20fb502573065537199f976381bb73","branchLabelMapping":{"^v9.3.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:all-open","test:scout","v9.3.0","Team:obs-ux-management","v9.2.3","v9.1.9"],"title":"[scout]
support custom servers
configuration","number":244306,"url":"https://github.com/elastic/kibana/pull/244306","mergeCommit":{"message":"[scout]
support custom servers configuration (#244306)\n\n## Summary\n\npart of
https://github.com/elastic/appex-qa-team/issues/562\n\nThis PR adds
support for custom server configurations by creating a\nscout directory
with the name matching the directory with configuration\nfiles under
`kbn-scout/src/servers/configs/custom`.\n\n\n### Usage\n\n\n1. Define
custom configurations under\n`kbn-scout/src/servers/configs/custom` by
creating a new directory e.g.\n`uiam_local` and adding configs for modes
it should support (e.g.\n`es.serverless.config`, **check
kbn-scout/src/servers/configs/default\nfor naming** ):\n```ts\n //
custom/uiam_local/serverless/es.serverless.config.ts\n import type {
ScoutServerConfig } from '../../../types';\n import { defaultConfig }
from '../../default/serverless/serverless.base.config';\n \n export
const servers: ScoutServerConfig = {\n ...defaultConfig,\n // Your
custom configuration\n };\n```\n\n2. Create a new test directory
under\n<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:\n`x-pack/platform/plugins/shared/security/test/scout_uiam_local`\n3.
Keep the `<ui|api>tests` & `playwright.config.ts` design as in
the\nregular `scout` dir, use the same tags in spec files.\n4. Run your
tests as usual:\n\n```bash\nnode scripts/scout run-tests --serverless=es
--config
x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts\n\n//
to only start the server using configs from custom directory\nnode
scripts/scout start-server --serverless=es --config-dir
uiam_local\n```\n\n### Important\n- Tests defined in
`scout_<config_dir_name>` directory are not included\nin the main scout
builder CI step, but rather in its own for custom\nconfigs (to be added
as a follow-up)\n- They do not benefit from smart test balancing due to
custom server\nsetup.\n- **The tests won't be run in Cloud** due to
custom servers setup\nrequirement, keep it in mind and mitigate the
risks","sha":"0b42c313bb20fb502573065537199f976381bb73"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.3.0","branchLabelMappingKey":"^v9.3.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/244306","number":244306,"mergeCommit":{"message":"[scout]
support custom servers configuration (#244306)\n\n## Summary\n\npart of
https://github.com/elastic/appex-qa-team/issues/562\n\nThis PR adds
support for custom server configurations by creating a\nscout directory
with the name matching the directory with configuration\nfiles under
`kbn-scout/src/servers/configs/custom`.\n\n\n### Usage\n\n\n1. Define
custom configurations under\n`kbn-scout/src/servers/configs/custom` by
creating a new directory e.g.\n`uiam_local` and adding configs for modes
it should support (e.g.\n`es.serverless.config`, **check
kbn-scout/src/servers/configs/default\nfor naming** ):\n```ts\n //
custom/uiam_local/serverless/es.serverless.config.ts\n import type {
ScoutServerConfig } from '../../../types';\n import { defaultConfig }
from '../../default/serverless/serverless.base.config';\n \n export
const servers: ScoutServerConfig = {\n ...defaultConfig,\n // Your
custom configuration\n };\n```\n\n2. Create a new test directory
under\n<plugin|package>/test/scout_`<dir_name_with_custom_configs>`:\n`x-pack/platform/plugins/shared/security/test/scout_uiam_local`\n3.
Keep the `<ui|api>tests` & `playwright.config.ts` design as in
the\nregular `scout` dir, use the same tags in spec files.\n4. Run your
tests as usual:\n\n```bash\nnode scripts/scout run-tests --serverless=es
--config
x-pack/platform/plugins/shared/security/test/scout_uiam_local/ui/playwright.config.ts\n\n//
to only start the server using configs from custom directory\nnode
scripts/scout start-server --serverless=es --config-dir
uiam_local\n```\n\n### Important\n- Tests defined in
`scout_<config_dir_name>` directory are not included\nin the main scout
builder CI step, but rather in its own for custom\nconfigs (to be added
as a follow-up)\n- They do not benefit from smart test balancing due to
custom server\nsetup.\n- **The tests won't be run in Cloud** due to
custom servers setup\nrequirement, keep it in mind and mitigate the
risks","sha":"0b42c313bb20fb502573065537199f976381bb73"}},{"branch":"9.2","label":"v9.2.3","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/245930","number":245930,"state":"MERGED","mergeCommit":{"sha":"a9ed3093530e0328760a1d9d09a684af27a2e7e6","message":"[9.2]
[scout] support custom servers configuration (#244306) (#245930)\n\n#
Backport\n\nThis will backport the following commits from `main` to
`9.2`:\n- [[scout] support custom servers
configuration\n(#244306)](https://github.com/elastic/kibana/pull/244306)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n"}},{"branch":"9.1","label":"v9.1.9","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/245996","number":245996,"state":"MERGED","mergeCommit":{"sha":"ff8fffff27fc7874524e22ff36c486c2612238a1","message":"[9.1]
[scout] support custom servers configuration (#244306) (#245996)\n\n#
Backport\n\nThis will backport the following commits from `main` to
`9.1`:\n- [[scout] support custom servers
configuration\n(#244306)](https://github.com/elastic/kibana/pull/244306)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n"}}]}]
BACKPORT-->
@dmlemeshko dmlemeshko deleted the scout/support-custom-servers-configuration branch December 19, 2025 07:37
azasypkin added a commit that referenced this pull request Jan 5, 2026
## Summary

Add basic UIAM Scout API tests:
* ✅ It should be possible to login via UIAM flow
* ✅ It should be possible to invalidate UIAM session token
* ✅ It should be possible to refresh UIAM session token

~~__Blocked By:__ #244306 and
#243752

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
CAWilson94 pushed a commit to CAWilson94/kibana that referenced this pull request Jan 6, 2026
## Summary

Add basic UIAM Scout API tests:
* ✅ It should be possible to login via UIAM flow
* ✅ It should be possible to invalidate UIAM session token
* ✅ It should be possible to refresh UIAM session token

~~__Blocked By:__ elastic#244306 and
elastic#243752

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
dej611 pushed a commit to dej611/kibana that referenced this pull request Jan 8, 2026
## Summary

Add basic UIAM Scout API tests:
* ✅ It should be possible to login via UIAM flow
* ✅ It should be possible to invalidate UIAM session token
* ✅ It should be possible to refresh UIAM session token

~~__Blocked By:__ elastic#244306 and
elastic#243752

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
devamanv pushed a commit to devamanv/kibana that referenced this pull request Jan 12, 2026
## Summary

Add basic UIAM Scout API tests:
* ✅ It should be possible to login via UIAM flow
* ✅ It should be possible to invalidate UIAM session token
* ✅ It should be possible to refresh UIAM session token

~~__Blocked By:__ elastic#244306 and
elastic#243752

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:all-open Backport to all branches that could still receive a release release_note:skip Skip the PR/issue when compiling release notes Team:obs-ux-management test:scout v8.19.9 v9.1.9 v9.2.3 v9.3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants