From 84ef8f1fc99de2d26e4120e95594084ed385e165 Mon Sep 17 00:00:00 2001 From: Repinoid Date: Sat, 10 Oct 2026 17:31:02 +0300 Subject: [PATCH] docs(history): AWS-compatibility work for Terraform provider (2.20) --- HISTORY/2026-10-10-session-log.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/HISTORY/2026-10-10-session-log.md b/HISTORY/2026-10-10-session-log.md index 4e861fc..d5334ff 100644 --- a/HISTORY/2026-10-10-session-log.md +++ b/HISTORY/2026-10-10-session-log.md @@ -198,6 +198,26 @@ - probe-очередь удалена. - Регрессий нет: `list-queues`, `send-message`, `receive-message` через `https://sqs.sinefo.ru` — OK. +### 2.20. AWS-совместимость для Terraform-провайдера (цель дня уточнена владельцем) +Контекст: это **не глобальный прод с высокой нагрузкой**; цель — рабочие SQS+IoT и **Terraform-провайдер**, +чтобы юзеры Nubes подключали сервисы в своих конфигурациях. Приоритет — **надёжность и соответствие +AWS**, а не масштабирование. Поэтому HA/перф-оптимизации отложены, в фокус — совместимость. +- `95bce88` — атрибуты очереди для провайдера: `GetQueueAttributes` теперь отдаёт `FifoQueue`, + `ContentBasedDeduplication`, `Policy` и **реальные** `CreatedTimestamp`/`LastModifiedTimestamp` + (были отсутствующие/заглушка `0000000000`); в `Queue` добавлены `CreatedAt`/`LastModifiedAt`/`Policy`/ + `ContentBasedDeduplication`; разбор FIFO-атрибутов в обоих протоколах (`StringToBool`); + `Policy`/`RedriveAllowPolicy` нормализуются из строки в объект (JSON-протокол присылает строку → + раньше `SetQueueAttributes` падал с `InvalidParameterValue`); бэкфилл пустых timestamps при загрузке. +- `988a6a6` — FIFO-дедупликация по AWS: дедуп — свойство FIFO (гейт по `IsFIFO`, а не по env-флагу + `EnableDuplicates=false`, из-за которого дедуп не работал вообще); `ContentBasedDeduplication` + считает dedupId из тела (SHA-256); dedup-окно **не сбрасывается при удалении** сообщения (5 мин). +- **Проверено локально и на проде** (`aws` CLI v2, JSON-протокол): + - `GetQueueAttributes All` отдаёт полный набор (см. лог); + - FIFO: два send с одним dedupId → 1 сообщение; `ContentBasedDeduplication` (два одинаковых тела) → 1; + - receive+delete, затем повторный send с тем же dedupId → 0 (окно живо) — раньше доставлялся повторно; + - `set-queue-attributes` с `Policy` → OK, `get-queue-attributes Policy` возвращает канонический JSON. +- На ВМ задеплоено (prev-бинарник + бэкап лога сохранены), `active`, `/health` 200. + ## 3. Грабли (для повторного использования) 1. **`proxy_set_header Host $host` теряет порт** → SigV4 `SignatureDoesNotMatch`.