From 440e60cd255c0ca9d823a39ded86af525d14c6fd Mon Sep 17 00:00:00 2001 From: DanliaQwerty20 Date: Tue, 15 Sep 2026 22:31:08 +0300 Subject: [PATCH] fix: map Docker host in Linux acceptance runs --- README.md | 3 ++- scripts/check.ps1 | 2 +- scripts/run-calendar.ps1 | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 33ccfab..5793ccf 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,8 @@ task test:e2e Runner сам получает короткоживущий JWT у локального Keycloak. В CI вместо тестового логина и пароля можно передать готовый `ACTION_TOKEN`. Скрипт принимает только локальные HTTP-адреса. Проверочный API `fake-calendar` доступен только в тестовом режиме и требует отдельный `X-Test-Key`; секреты не -хранятся в Git. +хранятся в Git. Для одинакового запуска в Docker Desktop и Linux runner имя +`host.docker.internal` явно связывается со стандартным Docker `host-gateway`. Путь начинается с публичной границы `Channel Gateway`, затем проходит через Agent Runtime, Action Service, Temporal и Calendar MCP. Один JWT передаётся по этому пути; каждый защищённый сервис diff --git a/scripts/check.ps1 b/scripts/check.ps1 index 203e7e1..617af0b 100644 --- a/scripts/check.ps1 +++ b/scripts/check.ps1 @@ -19,7 +19,7 @@ foreach ($oldName in @("utterance", "tenant_id", "actor_id", "available_connecto if ($calendarScript -match "/api/v1/proposals") { throw "Acceptance-test must start through Channel Gateway." } $runner = Get-Content scripts/run-calendar.ps1 -Raw -foreach ($required in @("ACTION_TOKEN", "KEYCLOAK_URL", "OIDC_REALM", "OIDC_CLIENT_ID", "TEST_USERNAME", "TEST_PASSWORD", "protocol/openid-connect/token")) { +foreach ($required in @("ACTION_TOKEN", "KEYCLOAK_URL", "OIDC_REALM", "OIDC_CLIENT_ID", "TEST_USERNAME", "TEST_PASSWORD", "protocol/openid-connect/token", "--add-host", "host.docker.internal:host-gateway")) { if ($runner -notmatch [regex]::Escape($required)) { throw "Calendar runner does not support $required." } } diff --git a/scripts/run-calendar.ps1 b/scripts/run-calendar.ps1 index 2da75ac..7190eaa 100644 --- a/scripts/run-calendar.ps1 +++ b/scripts/run-calendar.ps1 @@ -56,6 +56,7 @@ $calendarTestKey = Get-Setting "CALENDAR_TEST_API_KEY" -Secret $k6Image = Get-Setting "K6_IMAGE" & docker run --rm ` + --add-host "host.docker.internal:host-gateway" ` --volume "${PWD}/tests:/tests:ro" ` --env "CHANNEL_URL=$ChannelUrl" ` --env "ACTION_URL=$ActionUrl" `