task DONE: snolla-mailer-per-recipient-send — тираж на mailer 0.9.0 + фикс mailSettings.from env-сайтов; composes актуализированы (8 сайтов)

This commit is contained in:
2026-08-14 14:04:17 +03:00
parent 297ba048ee
commit 183ea5a0d7
9 changed files with 13 additions and 12 deletions

View File

@@ -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`. После бампов → деплой наш. - **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 1723) → контрольный заказ с 2 админами → 2 письма в ящиках (vitya + info@pilorama98.ru). FormRecipients НЕ трогаем. - После релиза (admin): деплой тиража (pilonuxt 16 + env 1723) → контрольный заказ с 2 админами → 2 письма в ящиках (vitya + info@pilorama98.ru). FormRecipients НЕ трогаем. — выполнено 2026-08-14.
- До фикса: письма админам по формам с 2+ получателями могут падать (554) — известное состояние, vitya в курсе. - До фикса: письма админам по формам с 2+ получателями могут падать (554) — известное состояние, vitya в курсе.
## Acceptance ## Acceptance
- [ ] Форма с 2+ админами → по одному письму на каждого, все уходят (без 554). - [x] Форма с 2+ админами → по одному письму на каждого, все уходят (без 554/550) — pilorama98 #2498 + kupimknigi #516 подтверждены.
- [ ] После деплоя контрольный заказ: vitya + менеджер оба получили письмо. - [x] После деплоя контрольный заказ: vitya + менеджер оба получили письмо (messageId в логах).
- [x] 2026-08-14: DONE.

View File

@@ -25,7 +25,7 @@
services: services:
emspb: emspb:
container_name: 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 restart: unless-stopped
mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only).
environment: environment:

View File

@@ -28,7 +28,7 @@
services: services:
kupimknigi: kupimknigi:
container_name: 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 restart: unless-stopped
mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only).
environment: environment:

View File

@@ -27,7 +27,7 @@
services: services:
labtools-pro: labtools-pro:
container_name: 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 restart: unless-stopped
mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only).
environment: environment:

View File

@@ -24,7 +24,7 @@
services: services:
labtools: labtools:
container_name: 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 restart: unless-stopped
mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only).
environment: environment:

View File

@@ -29,7 +29,7 @@
services: services:
maljarka: maljarka:
container_name: 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 restart: unless-stopped
mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only).
environment: environment:

View File

@@ -34,7 +34,7 @@
services: services:
on-snolla: on-snolla:
container_name: 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 restart: unless-stopped
mem_limit: 512m # guardrail: snolla baseline ~100-200M; OOM -> restart. standalone-compose -> mem_limit (НЕ deploy.resources, swarm-only). mem_limit: 512m # guardrail: snolla baseline ~100-200M; OOM -> restart. standalone-compose -> mem_limit (НЕ deploy.resources, swarm-only).
environment: environment:

View File

@@ -26,7 +26,7 @@
services: services:
pilonuxt: pilonuxt:
container_name: 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 restart: unless-stopped
environment: environment:
NODE_ENV: production NODE_ENV: production

View File

@@ -36,7 +36,7 @@
services: services:
tandemmebel: tandemmebel:
container_name: 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 restart: unless-stopped
mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only). mem_limit: 512m # guardrail от runaway: snolla baseline ~100-200M; OOM в контейнере → restart:unless-stopped поднимет. standalone-compose → mem_limit (НЕ deploy.resources — то swarm-only).
environment: environment: