Skip to content

[8.19] [scout] support custom servers configuration (#244306)#246131

Merged
dmlemeshko merged 3 commits intoelastic:8.19from
dmlemeshko:backport/8.19/pr-244306
Dec 12, 2025
Merged

[8.19] [scout] support custom servers configuration (#244306)#246131
dmlemeshko merged 3 commits intoelastic:8.19from
dmlemeshko:backport/8.19/pr-244306

Conversation

@dmlemeshko
Copy link
Copy Markdown
Contributor

Backport

This will backport the following commits from main to 8.19:

Questions ?

Please refer to the Backport tool documentation

## 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 dmlemeshko added the backport This PR is a backport of another PR label Dec 12, 2025
@dmlemeshko dmlemeshko enabled auto-merge (squash) December 12, 2025 10:31
@elasticmachine
Copy link
Copy Markdown
Contributor

Pinging @elastic/obs-ux-management-team (Team:obs-ux-management)

@dmlemeshko dmlemeshko requested a review from csr December 12, 2025 10:53
@dmlemeshko dmlemeshko merged commit 85a436e into elastic:8.19 Dec 12, 2025
12 checks passed
@elasticmachine
Copy link
Copy Markdown
Contributor

💚 Build Succeeded

Metrics [docs]

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
kbnUiSharedDeps-srcJs 3.7MB 3.7MB -129.0B

History

@dmlemeshko dmlemeshko deleted the backport/8.19/pr-244306 branch December 19, 2025 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a backport of another PR Team:obs-ux-management

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants