From 183ea5a0d7cfc25380f70677b19439bc428b2277 Mon Sep 17 00:00:00 2001 From: vitya Date: Fri, 14 Aug 2026 14:04:17 +0300 Subject: [PATCH] =?UTF-8?q?task=20DONE:=20snolla-mailer-per-recipient-send?= =?UTF-8?q?=20=E2=80=94=20=D1=82=D0=B8=D1=80=D0=B0=D0=B6=20=D0=BD=D0=B0=20?= =?UTF-8?q?mailer=200.9.0=20+=20=D1=84=D0=B8=D0=BA=D1=81=20mailSettings.fr?= =?UTF-8?q?om=20env-=D1=81=D0=B0=D0=B9=D1=82=D0=BE=D0=B2;=20composes=20?= =?UTF-8?q?=D0=B0=D0=BA=D1=82=D1=83=D0=B0=D0=BB=D0=B8=D0=B7=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D1=8B=20(8=20=D1=81=D0=B0=D0=B9=D1=82?= =?UTF-8?q?=D0=BE=D0=B2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tasks/snolla-mailer-per-recipient-send.md | 9 +++++---- host-stacks/vds-kzntsv/emspb.compose.yml | 2 +- host-stacks/vds-kzntsv/kupimknigi.compose.yml | 2 +- host-stacks/vds-kzntsv/labtools-pro.compose.yml | 2 +- host-stacks/vds-kzntsv/labtools.compose.yml | 2 +- host-stacks/vds-kzntsv/maljarka.compose.yml | 2 +- host-stacks/vds-kzntsv/on-snolla.compose.yml | 2 +- host-stacks/vds-kzntsv/pilonuxt.compose.yml | 2 +- host-stacks/vds-kzntsv/tandemmebel.compose.yml | 2 +- 9 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.tasks/snolla-mailer-per-recipient-send.md b/.tasks/snolla-mailer-per-recipient-send.md index 6c5c0fb..a54b450 100644 --- a/.tasks/snolla-mailer-per-recipient-send.md +++ b/.tasks/snolla-mailer-per-recipient-send.md @@ -20,11 +20,12 @@ Mailer (@snollajs/mailer / forms-api, `emailSender.js`): отправлять п ## Координация -- **2026-08-14**: snolla опубликовал `@snolla/mailer@0.9.0` (коммит bb8599d, тесты 6/6). **Деплой ЗАБЛОКИРОВАН**: потребители не перевыпущены — `forms-api@0.1.0` пинит mailer `^0.8.3`, `@snolla/web@0.43.2` — точно `0.8.3` → 0.9.0 не резолвится. data 0.15.1 в verdaccio есть (не блокер). Запрошены бампы: `forms-api@0.2.0` (^0.9.0) + `web@0.44.x` (0.9.0) — письмо `2026-08-14T10-21-09Z-admin.md`. После бампов → деплой наш. -- После релиза (admin): деплой тиража (pilonuxt 16 + env 17–23) → контрольный заказ с 2 админами → 2 письма в ящиках (vitya + info@pilorama98.ru). FormRecipients НЕ трогаем. +- **2026-08-14**: snolla опубликовал `@snolla/mailer@0.9.0` (bb8599d) + бампы `forms-api@0.2.0` (^0.9.0) + `web@0.44.0` (^0.9.0). **Деплой ВЫПОЛНЕН**: pilonuxt `8b7e8c4` (forms-api 0.2.0), env-сайты web@0.44.0 (`83513ef/0cd20fc/698d5f5/3f6f0c4/ccd620c/a649bcf/4aaa175`); data дедюпнут до единого 0.15.1. **Попутный фикс**: у env-сайтов в `production.json` был запечён `mailSettings.from=noreply@snolla.com` → 550 not-owned (kupimknigi подтвердил) → from заменён на e-16513832@yandex.ru во всех 7 + пересборка. **Приёмка**: pilorama98 #2498 — 3 письма (2 админа + клиент), 0 ошибок; kupimknigi #516 — 2 отдельных письма (bookvam + vitya), 0 ошибок. mailer 0.9.0 подтверждён во всех 8 контейнерах. DONE. +- После релиза (admin): деплой тиража (pilonuxt 16 + env 17–23) → контрольный заказ с 2 админами → 2 письма в ящиках (vitya + info@pilorama98.ru). FormRecipients НЕ трогаем. — выполнено 2026-08-14. - До фикса: письма админам по формам с 2+ получателями могут падать (554) — известное состояние, vitya в курсе. ## Acceptance -- [ ] Форма с 2+ админами → по одному письму на каждого, все уходят (без 554). -- [ ] После деплоя контрольный заказ: vitya + менеджер оба получили письмо. +- [x] Форма с 2+ админами → по одному письму на каждого, все уходят (без 554/550) — pilorama98 #2498 + kupimknigi #516 подтверждены. +- [x] После деплоя контрольный заказ: vitya + менеджер оба получили письмо (messageId в логах). +- [x] 2026-08-14: DONE. diff --git a/host-stacks/vds-kzntsv/emspb.compose.yml b/host-stacks/vds-kzntsv/emspb.compose.yml index 3031aed..c292da4 100644 --- a/host-stacks/vds-kzntsv/emspb.compose.yml +++ b/host-stacks/vds-kzntsv/emspb.compose.yml @@ -25,7 +25,7 @@ services: emspb: container_name: emspb - image: registry.kzntsv.site/emspb:5afd8a1 # git-sha victor/emspb.ru master (snolla 0.43.2 v3 aws-sdk v2→v3, cutover 2026-07-30; prev 95a5c42=0.42.1 v2=rollback; b6e361a=0.28.4) + image: registry.kzntsv.site/emspb:0cd20fc # git-sha victor/emspb.ru master (snolla 0.43.2 v3 aws-sdk v2→v3, cutover 2026-07-30; prev 95a5c42=0.42.1 v2=rollback; b6e361a=0.28.4) restart: unless-stopped mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). environment: diff --git a/host-stacks/vds-kzntsv/kupimknigi.compose.yml b/host-stacks/vds-kzntsv/kupimknigi.compose.yml index b3b18e2..f57e647 100644 --- a/host-stacks/vds-kzntsv/kupimknigi.compose.yml +++ b/host-stacks/vds-kzntsv/kupimknigi.compose.yml @@ -28,7 +28,7 @@ services: kupimknigi: container_name: kupimknigi - image: registry.kzntsv.site/kupimknigi:5364353 # git-sha victor/kupimknigi.spb.ru (snolla 0.43.2 v3 / aws-sdk v3 + @smithy resolutions; was 9608ff6 v2 = rollback) + image: registry.kzntsv.site/kupimknigi:ccd620c # git-sha victor/kupimknigi.spb.ru (snolla 0.43.2 v3 / aws-sdk v3 + @smithy resolutions; was 9608ff6 v2 = rollback) restart: unless-stopped mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). environment: diff --git a/host-stacks/vds-kzntsv/labtools-pro.compose.yml b/host-stacks/vds-kzntsv/labtools-pro.compose.yml index 2571474..1a12a90 100644 --- a/host-stacks/vds-kzntsv/labtools-pro.compose.yml +++ b/host-stacks/vds-kzntsv/labtools-pro.compose.yml @@ -27,7 +27,7 @@ services: labtools-pro: container_name: labtools-pro - image: registry.kzntsv.site/labtools-pro:a106622 # git-sha victor/labtools.pro master (snolla 0.43.2 v3 aws-sdk v2→v3, bump 2026-07-30; prev 0610432=0.42.1=rollback) + image: registry.kzntsv.site/labtools-pro:3f6f0c4 # git-sha victor/labtools.pro master (snolla 0.43.2 v3 aws-sdk v2→v3, bump 2026-07-30; prev 0610432=0.42.1=rollback) restart: unless-stopped mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). environment: diff --git a/host-stacks/vds-kzntsv/labtools.compose.yml b/host-stacks/vds-kzntsv/labtools.compose.yml index c21b835..dfee5b7 100644 --- a/host-stacks/vds-kzntsv/labtools.compose.yml +++ b/host-stacks/vds-kzntsv/labtools.compose.yml @@ -24,7 +24,7 @@ services: labtools: container_name: labtools - image: registry.kzntsv.site/labtools:cad2b36 # git-sha victor/labtools.ru master (@snolla/snolla → @snolla/web 0.43.2; bump 2026-08-05; prev cec15a2) + image: registry.kzntsv.site/labtools:698d5f5 # git-sha victor/labtools.ru master (@snolla/snolla → @snolla/web 0.43.2; bump 2026-08-05; prev cec15a2) restart: unless-stopped mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). environment: diff --git a/host-stacks/vds-kzntsv/maljarka.compose.yml b/host-stacks/vds-kzntsv/maljarka.compose.yml index 6df6fa2..888c331 100644 --- a/host-stacks/vds-kzntsv/maljarka.compose.yml +++ b/host-stacks/vds-kzntsv/maljarka.compose.yml @@ -29,7 +29,7 @@ services: maljarka: container_name: maljarka - image: registry.kzntsv.site/maljarka:7f03d67 # git-sha victor/maljarka.tandemmebel.ru master 7f03d67 (snolla 0.43.2 / aws-sdk v3 — первый deploy 2026-07-31, 7-й сайт тиража; реконструкция Reversal-лендинга из MoreThenCms DB). rollback-теги: ведутся с этого deploy. + image: registry.kzntsv.site/maljarka:4aaa175 # git-sha victor/maljarka.tandemmebel.ru master 7f03d67 (snolla 0.43.2 / aws-sdk v3 — первый deploy 2026-07-31, 7-й сайт тиража; реконструкция Reversal-лендинга из MoreThenCms DB). rollback-теги: ведутся с этого deploy. restart: unless-stopped mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). environment: diff --git a/host-stacks/vds-kzntsv/on-snolla.compose.yml b/host-stacks/vds-kzntsv/on-snolla.compose.yml index 76d7d70..99512cc 100644 --- a/host-stacks/vds-kzntsv/on-snolla.compose.yml +++ b/host-stacks/vds-kzntsv/on-snolla.compose.yml @@ -34,7 +34,7 @@ services: on-snolla: container_name: on-snolla - image: registry.kzntsv.site/on-snolla:eb8c143 # git-sha on.snolla.com master eb8c143 (snolla 0.43.2 aws-sdk v3 + @smithy resolutions 5.3.11, s3.endpoint -> minio.vds.kzntsv.site). v3 cutover 2026-07-30 (cм. .wiki/concepts/minio-split-cutover-runbook §B3-v3). rollback-тег в registry: 07db7e3 (pred. snolla 0.42.1 v2, жив — был live 2026-07-30 до v3). pred-rollback: 473923e494db (endpoint minio.kzntsv.site/books-vds). + image: registry.kzntsv.site/on-snolla:a649bcf # git-sha on.snolla.com master eb8c143 (snolla 0.43.2 aws-sdk v3 + @smithy resolutions 5.3.11, s3.endpoint -> minio.vds.kzntsv.site). v3 cutover 2026-07-30 (cм. .wiki/concepts/minio-split-cutover-runbook §B3-v3). rollback-тег в registry: 07db7e3 (pred. snolla 0.42.1 v2, жив — был live 2026-07-30 до v3). pred-rollback: 473923e494db (endpoint minio.kzntsv.site/books-vds). restart: unless-stopped mem_limit: 512m # guardrail: snolla baseline ~100-200M; OOM -> restart. standalone-compose -> mem_limit (НЕ deploy.resources, swarm-only). environment: diff --git a/host-stacks/vds-kzntsv/pilonuxt.compose.yml b/host-stacks/vds-kzntsv/pilonuxt.compose.yml index 139ab2a..937065b 100644 --- a/host-stacks/vds-kzntsv/pilonuxt.compose.yml +++ b/host-stacks/vds-kzntsv/pilonuxt.compose.yml @@ -26,7 +26,7 @@ services: pilonuxt: container_name: pilonuxt - image: registry.kzntsv.site/pilonuxt:954e29e # git-sha 954e29e (2026-08-14: SMTP e-16513832@yandex.ru app-password — Yandex disabled protocol access on noreply@snolla.com; was 515ab99) + image: registry.kzntsv.site/pilonuxt:8b7e8c4 # git-sha 954e29e (2026-08-14: SMTP e-16513832@yandex.ru app-password — Yandex disabled protocol access on noreply@snolla.com; was 515ab99) restart: unless-stopped environment: NODE_ENV: production diff --git a/host-stacks/vds-kzntsv/tandemmebel.compose.yml b/host-stacks/vds-kzntsv/tandemmebel.compose.yml index b1af7e3..8be0789 100644 --- a/host-stacks/vds-kzntsv/tandemmebel.compose.yml +++ b/host-stacks/vds-kzntsv/tandemmebel.compose.yml @@ -36,7 +36,7 @@ services: tandemmebel: container_name: tandemmebel - image: registry.kzntsv.site/tandemmebel:9d51c09 # git-sha victor/tandemmebel.ru master 9d51c09 (snolla 0.43.2 / aws-sdk v3 — v3 cutover 2026-07-30, 6-й сайт тиража; resolutions @aws-sdk/client-s3 3.1005.0 + @smithy chain 5.3.11; заодно нёс на live s3.endpoint fix f4ddce6 → minio.vds.kzntsv.site). rollback-теги 8df10ee (0.42.1 v2, template-only share-buttons) + 0cd9351 (0.42.1) + ed96b18 (0.42.0) в registry. + image: registry.kzntsv.site/tandemmebel:83513ef # git-sha victor/tandemmebel.ru master 9d51c09 (snolla 0.43.2 / aws-sdk v3 — v3 cutover 2026-07-30, 6-й сайт тиража; resolutions @aws-sdk/client-s3 3.1005.0 + @smithy chain 5.3.11; заодно нёс на live s3.endpoint fix f4ddce6 → minio.vds.kzntsv.site). rollback-теги 8df10ee (0.42.1 v2, template-only share-buttons) + 0cd9351 (0.42.1) + ed96b18 (0.42.0) в registry. restart: unless-stopped mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). environment: