doc: QueueUrl исправлен (ExternalURLBase) + ошибки по пути; дефект снят
This commit is contained in:
@@ -87,9 +87,21 @@ grep "seed: создан тенант" ~/sqs-test/sqs.log | tail -1
|
||||
curl -sS https://sqs.sinefo.ru/health
|
||||
```
|
||||
|
||||
## 7. Известный дефект
|
||||
## 7. QueueUrl — ИСПРАВЛЕНО (2026-10-10)
|
||||
|
||||
`QueueUrl` в ответах = `http://region.host:port/<tenantID>/<queue>` (плейсхолдеры — нет `goaws.yaml`).
|
||||
Причина: `app/gosqs/tenant_helpers.go:29-37` (схема `http://`, формат `{region}.{host}:{port}`;
|
||||
Host/Port/Region только из `app/conf/goaws.yaml`, env-переменных нет). Клиенты с `endpoint_url`
|
||||
не страдают (используют путь), клиенты без него — сломаны.
|
||||
**Было:** `QueueUrl` = `http://region.host:port/<tenantID>/<queue>` (плейсхолдеры — на ВМ нет `goaws.yaml`).
|
||||
|
||||
**Стало:** база URL задаётся через `ExternalURLBase` (config `goaws.yaml` **или** env
|
||||
`SHARED_SQS_EXTERNAL_URL_BASE`). На ВМ запускается с `SHARED_SQS_EXTERNAL_URL_BASE=https://sqs.sinefo.ru` →
|
||||
`QueueUrl` = `https://sqs.sinefo.ru/<tenantID>/<queue>` (проверено снаружи).
|
||||
|
||||
Изменения (коммиты `469132b`, `ca0372b`):
|
||||
- `app/models/configuration.go` — поле `Environment.ExternalURLBase`;
|
||||
- `app/gosqs/tenant_helpers.go` — `tenantQueueURL` учитывает `ExternalURLBase`; добавлена
|
||||
экспортированная `TenantQueueURL`;
|
||||
- `app/conf/config.go` — env-override `SHARED_SQS_EXTERNAL_URL_BASE` в `applyEnvironmentDefaults`
|
||||
(срабатывает и при отсутствии `goaws.yaml` — важная тонкость: `LoadYamlConfig` делает ранний
|
||||
`return` без конфига, поэтому override там не срабатывал);
|
||||
- `app/cmd/seed.go` — демо-очереди формируют URL через `gosqs.TenantQueueURL` (убрано
|
||||
дублирование логики — оно и было причиной, что фикс «не применялся»);
|
||||
- тест `app/gosqs/tenant_helpers_test.go`.
|
||||
|
||||
Reference in New Issue
Block a user