-
Notifications
You must be signed in to change notification settings - Fork 99
LCORE-2343: implement behave step definitions for unified-mode feature files #2448
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
max-svistunov
wants to merge
14
commits into
lightspeed-core:main
Choose a base branch
from
max-svistunov:lcore-2343-unified-mode-step-definitions
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
a4cddcf
LCORE-2343: add unified-mode e2e configuration fixtures
max-svistunov c2c39ce
LCORE-2343: restore legacy library-mode boot coverage with a dedicate…
max-svistunov 82260af
LCORE-2343: implement unified-mode step definitions
max-svistunov 9e5ed0f
LCORE-2343: gate unified-mode features for Prow and the providers matrix
max-svistunov 568ef60
LCORE-2343: unskip the unified-mode feature files
max-svistunov d60105f
LCORE-2343: close the health-vs-listen race in lightspeed restarts
max-svistunov 9a081ac
LCORE-2343: make the migrated e2e config readable by the container user
max-svistunov 9783e35
LCORE-2343: migrate the legacy e2e fixture to the unified rag schema
max-svistunov db64eed
LCORE-2343: assert the migrate-config 0600 mode instead of relaxing it
max-svistunov 676006b
LCORE-2343: match the synthesis log assertions to the OGX-renamed mes…
max-svistunov 924c044
LCORE-2343: name the migration boot scenarios for what they assert
max-svistunov aced8d5
LCORE-2343: drop the trailing blank line from the legacy e2e fixture
max-svistunov 4df7f21
LCORE-2343: require a synthesized path in every accepted startup-log …
max-svistunov 160db3e
LCORE-2343: bound the HTTP readiness wait with a single monotonic dea…
max-svistunov File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
47 changes: 47 additions & 0 deletions
47
tests/e2e/configuration/library-mode/lightspeed-stack-legacy.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Legacy two-file shape (R2 deprecation window): external run.yaml consumed | ||
| # via library_client_config_path; no unified synthesis input. Kept as a | ||
| # dedicated fixture because the standard library-mode baseline migrated to | ||
| # unified mode in LCORE-2342, which silently removed legacy boot coverage. | ||
| use_as_library_client: true | ||
| library_client_config_path: run.yaml | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini | ||
| rag: | ||
| byok: | ||
| stores: | ||
| - rag_id: e2e-test-docs | ||
| backend: faiss | ||
| embedding_model: sentence-transformers/all-mpnet-base-v2 | ||
| embedding_dimension: 768 | ||
| vector_db_id: ${env.FAISS_VECTOR_STORE_ID} | ||
| db_path: ${env.KV_RAG_PATH:=~/.llama/storage/rag/kv_store.db} | ||
| score_multiplier: 1.0 | ||
| retrieval: | ||
| tool: | ||
| sources: | ||
| - e2e-test-docs | ||
|
|
||
| shields: | ||
| - name: pii-redaction | ||
| provider_id: redaction | ||
| config: | ||
| rules: | ||
| - pattern: '\d+' | ||
| replacement: '[NUM]' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| # Unified-mode e2e configuration fixtures | ||
|
|
||
| Fixtures for the five `unified-mode-*.feature` files (LCORE-2341/LCORE-2343). | ||
| Same layout as the parent directory: `library-mode/` and `server-mode/` | ||
| variants differing only in the `llama_stack` block; the harness resolves | ||
| `<dir>/<mode>/<file>` via the standard `configure_service` logic. | ||
|
|
||
| All profile-based fixtures reference `run.yaml` — the repo-root copy the CI | ||
| harness materializes from `tests/e2e/configs/run-<env>.yaml` — so they stay | ||
| provider-agnostic across the providers matrix. | ||
|
|
||
| | Fixture | Purpose | | ||
| |---|---| | ||
| | `lightspeed-stack-unified-providers.yaml` | Minimal unified config driven only by top-level `inference.providers` (default baseline, R1/S5). openai-specific — used by `@openai-only` scenarios. | | ||
| | `lightspeed-stack-unified-config-only.yaml` | Unified config driven only by `llama_stack.config` (`profile: run.yaml`, R1). | | ||
| | `lightspeed-stack-unified-relative-profile.yaml` | Same shape as config-only; exists to pin R8 (relative `profile:` resolves against the config file's directory) as a distinct intent. | | ||
| | `lightspeed-stack-unified-absolute-profile.yaml` | `profile:` as a container-absolute path (differs per mode subdir). | | ||
| | `lightspeed-stack-unified-native-override-scalar.yaml` | `native_override` replaces an overlapping scalar key (R5). Synthesis-only; never booted. | | ||
| | `lightspeed-stack-unified-native-override-list.yaml` | `native_override` replaces an overlapping list wholesale (R5). Synthesis-only; never booted. | | ||
| | `lightspeed-stack-invalid-providers-and-legacy.yaml` | INVALID: `inference.providers` + `library_client_config_path` (mutual exclusion, R3). Validation-only. | | ||
| | `lightspeed-stack-invalid-config-and-legacy.yaml` | INVALID: `llama_stack.config` + `library_client_config_path` (R3). Validation-only. | | ||
| | `lightspeed-stack-invalid-version-legacy-unified-body.yaml` | INVALID: `config_format_version: legacy` on a unified-shaped body (R11, LCORE-2872). Validation-only. | | ||
| | `lightspeed-stack-legacy-for-migration.yaml` | Legacy half of "the legacy migration fixture pair"; paired with the repo-root `run.yaml`. Deliberately free of enrichment sections so migrate→synthesize round-trips losslessly (see LCORE-3370). | | ||
| | `lightspeed-stack-unified-migrated.yaml` | Generated at test time by the `--migrate-config` step; gitignored and cleaned up after each scenario. | |
25 changes: 25 additions & 0 deletions
25
...e/configuration/unified-mode/library-mode/lightspeed-stack-invalid-config-and-legacy.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Library mode - embeds the stack in-process | ||
| use_as_library_client: true | ||
| config: | ||
| profile: run.yaml | ||
| # INVALID: config block plus the legacy path (mutual exclusion, R3) | ||
| library_client_config_path: run.yaml | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini |
31 changes: 31 additions & 0 deletions
31
...onfiguration/unified-mode/library-mode/lightspeed-stack-invalid-providers-and-legacy.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Library mode - embeds the stack in-process | ||
| use_as_library_client: true | ||
| # INVALID: synthesis input plus the legacy path (mutual exclusion, R3) | ||
| library_client_config_path: run.yaml | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini | ||
| # Unified synthesis input (Decision S5): the high-level provider entry | ||
| # replaces the default baseline's openai provider by id at synthesis time. | ||
| providers: | ||
| - type: openai | ||
| id: openai | ||
| api_key_env: OPENAI_API_KEY | ||
| allowed_models: | ||
| - ${env.E2E_OPENAI_MODEL:=gpt-4o-mini} |
31 changes: 31 additions & 0 deletions
31
...ation/unified-mode/library-mode/lightspeed-stack-invalid-version-legacy-unified-body.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Library mode - embeds the stack in-process | ||
| use_as_library_client: true | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini | ||
| # Unified synthesis input (Decision S5): the high-level provider entry | ||
| # replaces the default baseline's openai provider by id at synthesis time. | ||
| providers: | ||
| - type: openai | ||
| id: openai | ||
| api_key_env: OPENAI_API_KEY | ||
| allowed_models: | ||
| - ${env.E2E_OPENAI_MODEL:=gpt-4o-mini} | ||
| # INVALID: explicit legacy marker on a unified-shaped body (R11, LCORE-2872) | ||
| config_format_version: legacy |
23 changes: 23 additions & 0 deletions
23
tests/e2e/configuration/unified-mode/library-mode/lightspeed-stack-legacy-for-migration.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Library mode - embeds the stack in-process | ||
| use_as_library_client: true | ||
| # Legacy two-file shape: external run.yaml, no synthesis input | ||
| library_client_config_path: run.yaml | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini |
24 changes: 24 additions & 0 deletions
24
...2e/configuration/unified-mode/library-mode/lightspeed-stack-unified-absolute-profile.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Library mode - embeds the stack in-process | ||
| use_as_library_client: true | ||
| config: | ||
| # Absolute path as mounted in the library-mode container | ||
| profile: /app-root/run.yaml | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini | ||
24 changes: 24 additions & 0 deletions
24
tests/e2e/configuration/unified-mode/library-mode/lightspeed-stack-unified-config-only.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Library mode - embeds the stack in-process | ||
| use_as_library_client: true | ||
| config: | ||
| # Synthesis baseline: the CI-materialized run.yaml (provider-agnostic) | ||
| profile: run.yaml | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini |
29 changes: 29 additions & 0 deletions
29
...onfiguration/unified-mode/library-mode/lightspeed-stack-unified-native-override-list.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Library mode - embeds the stack in-process | ||
| use_as_library_client: true | ||
| config: | ||
| profile: run.yaml | ||
| # R5: lists replace wholesale - the synthesized apis must equal exactly | ||
| # this list, not a merge with the baseline's (never booted - synthesis only) | ||
| native_override: | ||
| apis: | ||
| - inference | ||
| - tool_runtime | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini |
28 changes: 28 additions & 0 deletions
28
...figuration/unified-mode/library-mode/lightspeed-stack-unified-native-override-scalar.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Library mode - embeds the stack in-process | ||
| use_as_library_client: true | ||
| config: | ||
| profile: run.yaml | ||
| # R5: the raw escape hatch wins; this scalar replaces the baseline's | ||
| # safety.excluded_categories value wholesale (never booted - synthesis only) | ||
| native_override: | ||
| safety: | ||
| excluded_categories: unified-override-marker | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini |
29 changes: 29 additions & 0 deletions
29
tests/e2e/configuration/unified-mode/library-mode/lightspeed-stack-unified-providers.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Library mode - embeds the stack in-process | ||
| use_as_library_client: true | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini | ||
| # Unified synthesis input (Decision S5): the high-level provider entry | ||
| # replaces the default baseline's openai provider by id at synthesis time. | ||
| providers: | ||
| - type: openai | ||
| id: openai | ||
| api_key_env: OPENAI_API_KEY | ||
| allowed_models: | ||
| - ${env.E2E_OPENAI_MODEL:=gpt-4o-mini} |
24 changes: 24 additions & 0 deletions
24
...2e/configuration/unified-mode/library-mode/lightspeed-stack-unified-relative-profile.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Library mode - embeds the stack in-process | ||
| use_as_library_client: true | ||
| config: | ||
| # R8: relative profile resolves against this file's loaded location | ||
| profile: run.yaml | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini |
27 changes: 27 additions & 0 deletions
27
...2e/configuration/unified-mode/server-mode/lightspeed-stack-invalid-config-and-legacy.yaml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| name: Lightspeed Core Service (LCS) | ||
| service: | ||
| host: 0.0.0.0 | ||
| port: 8080 | ||
| auth_enabled: false | ||
| workers: 1 | ||
| color_log: true | ||
| access_log: true | ||
| llama_stack: | ||
| # Server mode - connects to the separate llama-stack service | ||
| use_as_library_client: false | ||
| url: http://${env.E2E_LLAMA_HOSTNAME}:8321 | ||
| api_key: xyzzy | ||
| config: | ||
| profile: run.yaml | ||
| # INVALID: config block plus the legacy path (mutual exclusion, R3) | ||
| library_client_config_path: run.yaml | ||
| user_data_collection: | ||
| feedback_enabled: true | ||
| feedback_storage: "/tmp/data/feedback" | ||
| transcripts_enabled: true | ||
| transcripts_storage: "/tmp/data/transcripts" | ||
| authentication: | ||
| module: "noop" | ||
| inference: | ||
| default_provider: openai | ||
| default_model: gpt-4o-mini |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win
Constrain unauthenticated E2E listeners to loopback.
These bootable fixtures disable authentication while Compose publishes port
8080on all host interfaces. A test worker reachable from the surrounding network could therefore expose the service without authentication. Bind the published mapping to127.0.0.1:8080:8080or enable test authentication in the Compose configurations for the listed boot fixtures. The native-override fixtures are synthesis-only and are not included.📍 Affects 2 files
tests/e2e/configuration/unified-mode/library-mode/lightspeed-stack-unified-absolute-profile.yaml#L5-L5(this comment)tests/e2e/configuration/unified-mode/library-mode/lightspeed-stack-unified-native-override-scalar.yaml#L3-L5🤖 Prompt for AI Agents
Source: Coding guidelines
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not taking this one, but not because the concern is wrong.
The all-interfaces exposure isn't introduced by these fixtures —
docker-compose.yamlalready publishes"8080:8080"on main, and the existing e2e fixtures run with authentication disabled too. These unified-mode fixtures follow that established pattern rather than departing from it, so changing the binding here would fix one corner of a repo-wide setup while leaving the rest as-is, inside a PR about behave step definitions.If the e2e harness should bind published ports to loopback, that's worth doing across
docker-compose.yamland all fixtures at once, as its own change. Happy to file it if you agree.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@max-svistunov, I agree. The unified-mode fixtures do not introduce this exposure. A partial change in this PR would leave the existing E2E harness inconsistent.Please file a follow-up issue for a repository-wide review of unauthenticated E2E port publishing, including
docker-compose.yamland the related fixture or harness configurations.✏️ Learnings added
You are interacting with an AI system.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed as LCORE-3787 — "Bind published E2E ports to loopback (or enable auth on E2E fixtures)".
It covers the whole harness rather than these fixtures: reviewing every published mapping in
docker-compose.yaml, moving what can be loopback-bound to127.0.0.1:<port>:<port>, enabling test auth or documenting rationale for anything that genuinely needs a non-loopback listener, and confirming both the GitHub Actions e2e matrix and Prow still pass afterwards (Prow reaches services via port-forward, so it needs separate verification).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@max-svistunov, thank you.LCORE-3787has the correct repository-wide scope.The issue covers the required port-mapping review, exception handling, and CI verification for both GitHub Actions and Prow. This PR can retain the existing fixture pattern until that follow-up change is complete.
🧠 Learnings used
You are interacting with an AI system.