From b299c7d5daed95bf0777e98fa6e4bc6399c0f679 Mon Sep 17 00:00:00 2001 From: vitya Date: Sat, 4 Jul 2026 12:58:40 +0300 Subject: [PATCH] =?UTF-8?q?deploy(tandemmebel):=20staging=20=D1=81=D1=82?= =?UTF-8?q?=D0=B5=D0=BA=2020=20=E2=86=92=20a173401=20(FeedPages)=20?= =?UTF-8?q?=E2=80=94=20=D1=80=D0=BE=D1=83=D1=82=D1=8B=20404=E2=86=92200,?= =?UTF-8?q?=20=D0=BD=D0=BE=20grid+=D0=BA=D1=80=D0=BE=D1=88=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=9F=D0=A3=D0=A1=D0=A2=D0=AB=D0=95=20(VM-=D0=B1=D0=B0=D0=B3?= =?UTF-8?q?=20=D1=83=20=D0=BF=D1=80=D0=BE=D0=B3=D0=B5=D1=80=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ребилд по ops-таску workshop: образ tandemmebel:a173401 (snolla 0.35.0/core 0.16.0/data 0.13.0, digest 6962bd97) собран на VDS, стек 20 передеплоен через Portainer API (env 8/8, healthy). FeedPages чинит роутинг gallery 404→200 (12/12). RED на рендер-чеке: gallery-grid пустой на всех роутах (staging /galleries/*/images = 0 vs prod 24/80/62), breadcrumb itemprop=name пустые. Корень — FeedPage-VM не прокидывает item в шаблон. Деплой чист; фикс на прогере. Пропинговал с уликами. Cutover HELD. Co-Authored-By: Claude Opus 4.8 (1M context) --- .tasks/STATUS.md | 1 + host-stacks/vds-kzntsv/tandemmebel.compose.yml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index fdc8564..585aae8 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -1,4 +1,5 @@ # Admin Task Board +_Updated: 2026-07-04 (7) — 🔵 **[tandemmebel-web-vds-deploy] дефект идентифицирован = gallery FeedPages-VM.** Workshop прислал ops-таск: ребилд стека 20 на `a173401` (FeedPages page-type портирован, чинит gallery 404→200). Гейт green (origin HEAD=a173401 ⊇ a173401+22bd8f2), собрал `tandemmebel:a173401` (snolla 0.35.0/core 0.16.0/data 0.13.0, digest 6962bd97), передеплоил стек 20 (Portainer API, env 8/8, healthy). Роутинг чинится: 12/12 furniture gallery-роутов 404→200. **НО рендер-чек RED — grid ПУСТОЙ на всех роутах** (staging `/galleries/*/images` = 0 vs prod 24/80/62) + **breadcrumb-подписи пустые** (`itemprop=name` без текста). Оба симптома = один корень: FeedPage-VM не прокидывает `item` в шаблон. Оператор дефект подтвердил независимо. Мой деплой чист; фикс на прогере (tandemmebel.ru). Пропинговал прогера с уликами (empty-grid + breadcrumb addendum) → ждёт новый sha, прогоню тот же DoD (staging_imgs==prod_imgs + непустые крошки). Cutover HELD. См. [[NEXT_SESSION.md]]._ _Updated: 2026-07-04 (6) — 🔵 **[tandemmebel-web-vds-deploy] BLOCKED на новом дефекте.** Дал оператору staging-URL (https://tandemmebel.vds.kzntsv.site) на визуальную проверку sharp-сборки → оператор нашёл НОВЫЙ дефект (иной, чем прошлые глиф/imgproxy), специфику не назвал, «чиним в новой сессии». Cutover HELD. Мои автоматические гейты по sharp-staging были green (media/watermark/variant-cache/parity) — значит дефект визуальный, не пойманный curl-смоком. Sharp-staging жив на стеке 20 для разбора в новой сессии. См. [[NEXT_SESSION.md]]._ _Updated: 2026-07-04 (5) — 🟢 **[tandemmebel-sharp-staging-rebuild] closed — SHARP staging GREEN.** Пивот tandemmebel на in-process sharp завершён. Образ `tandemmebel:68b93a9` (snolla 0.34.0/core 0.15.0, digest 12288b15) собран на VDS, стек 20 обновлён (env verbatim 8/8, imgproxy из tandem-пути убран). Parity-smoke GREEN: nav 8/8, sitemap staging⊇prod (prod-only=0, +12 categories benign), 2012-посты 31/31, redirects 301/301; sharp media = slug-URL `/galleries//images//` 200 webp serve-bytes, **0 /imgproxy-рефов** (осиротевший imgproxy-конфиг в пине эмпирически мёртв → heads-up воркшопу вычистить), variant-cache пишется (32 объекта content-addressed), watermark визуально ✓ featured+lightbox / gallery-small чистый. [tandemmebel-web-vds-deploy] теперь 🟡 sharp-staging-green, ждёт **cutover DNS — gated оператором** (reg.ru→89.253.255.94). RUVDS=rollback._ _Updated: 2026-07-04 (4) — 🟢 **[minio-variant-cache-bucket] closed.** sharp-prereq. Создан бакет `variant-cache` в shared MinIO (minio.kzntsv.site/books-vds) — S3-эквивалент легаси App_Data/imageCache, куда sharp кладёт resize+watermark варианты on-demand (без него 500 NoSuchBucket на всех sharp-картинках = agent-блокер 1 из tandemmebel sharp-verify). Грант: snolla S3-креды == MinIO root (сверено) → в mode-server-fs полный доступ by construction, IAM не нужен. Write-verify под деплойными кредами: put→stat→get(md5 match)→delete→gone ✓. Другие 17 бакетов не тронуты, lifecycle не ставил (кэш регенерируем). Готовит почву под sharp-переезд tandemmebel (движок victor/snolla media-sharp-imageprocessor-port в переработке)._ diff --git a/host-stacks/vds-kzntsv/tandemmebel.compose.yml b/host-stacks/vds-kzntsv/tandemmebel.compose.yml index a3fee93..4fd333c 100644 --- a/host-stacks/vds-kzntsv/tandemmebel.compose.yml +++ b/host-stacks/vds-kzntsv/tandemmebel.compose.yml @@ -11,7 +11,7 @@ # КОНТЕНТ+БЛОГ-ПОРТФОЛИО+category сайт, БЕЗ e-commerce каталога. # # Образ собирается АДМИНОМ на VDS из victor/tandemmebel.ru/deploy/Dockerfile (build-arg VERDACCIO_TOKEN, -# @snollajs/* из verdaccio.kzntsv.site). Тег = git-sha монорепы tandemmebel.ru (0facb35). +# @snollajs/* из verdaccio.kzntsv.site). Тег = git-sha монорепы tandemmebel.ru (a173401). # # Домен: STAGING — tandemmebel.vds.kzntsv.site (под wildcard *.vds.kzntsv.site, cert LE HTTP-01 авто). # Cutover live tandemmebel.ru/www.tandemmebel.ru — ОТДЕЛЬНЫЙ gated шаг: бой живой на RUVDS IIS, НЕ выводить. @@ -29,7 +29,7 @@ services: tandemmebel: container_name: tandemmebel - image: registry.kzntsv.site/tandemmebel:68b93a9 # git-sha victor/tandemmebel.ru master (sharp-движок) + image: registry.kzntsv.site/tandemmebel:a173401 # git-sha victor/tandemmebel.ru master (sharp + FeedPages/gallery) restart: unless-stopped environment: NODE_ENV: production