From 76f52661ca437ef4f6c304b99742940d0a8a04f1 Mon Sep 17 00:00:00 2001 From: vitya Date: Sun, 5 Jul 2026 10:24:43 +0300 Subject: [PATCH] =?UTF-8?q?task(kupimknigi-deploy-snolla-0-42-0):=20VDS-st?= =?UTF-8?q?aging=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B7=20=D0=BD=D0=B0=20snolla@?= =?UTF-8?q?0.42.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Финал тиража. dev-source victor/kupimknigi.spb.ru HEAD 9608ff6, код закрыт (re-review PASS, docker-валидация GREEN). Одностраничник — deploy тривиальный. Cutover operator-gated (kupimknigi DNS сейчас на RUVDS, разрулим отдельно). Co-Authored-By: Claude Opus 4.8 (1M context) --- .tasks/STATUS.md | 10 +++++++ .tasks/kupimknigi-deploy-snolla-0-42-0.md | 33 +++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 .tasks/kupimknigi-deploy-snolla-0-42-0.md diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index 933ab7c..ce1a818 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -48,6 +48,16 @@ _Updated: 2026-05-26 — заведена `bookva-tenant-cutover-prep` ⚪ (7-st _Updated: 2026-05-25 (`iis-migration-to-ruvds` 🟢 closed Phase 1 per user decision — 9/24 hostnames live на RUVDS, source IIS оставлен running. `migrate-elasticsearch-to-books-vds` 🟢 closed ранее сегодня. 16 IIS hostnames + LE renewal pipeline + decommission — descoped в Closure note, не отдельные tracker tasks.)_ +## ⚪ [kupimknigi-deploy-snolla-0-42-0] — VDS-staging образ kupimknigi.spb.ru на snolla@0.42.0 (одностраничник, финал тиража). Per-task: `kupimknigi-deploy-snolla-0-42-0.md`. + +**Status:** ready — заведена workshop 2026-07-05 (код закрыт, re-review PASS, docker-валидация GREEN, build sha `9608ff6`) +**Where I stopped:** (not started) +**Next action:** build `9608ff6` на VDS → стек Portainer → staging-smoke `/` vs бой `kupimknigi.spb.ru`. Cutover=operator-gated. См. per-task. +**Weight:** needs-claude · **Notify:** OpeItcLoc03/workshop + + +--- + ## 🟡 [morethencms-s3-filestorage-provider] — S3-провайдер FileStorage для MoreThenCms (MinIO), закрывает split-brain админка↔фронт **Status:** 🟡 in-progress — ТЗ (name `MoreThenCms.FileStorage.S3` одобрен) доставлено в инбокс MoreThenCms 2026-07-03; жду сборку от прогера. Owner-split: код — прогер; координация+deploy+приёмка — admin. **Where I stopped:** Разведка 500 на `/admin/assets/.../delete` → корень RX-only ACL на `App_Data` (пофикшен `icacls …:(M) /T`, 44293 файла). `labtools-price.pdf` заменён в MinIO+локалке (MD5 сверены). ТЗ на провайдер: `~/projects/MoreThenCms/.claude-inbox/2026-07-03T06-40-09Z-admin.md`. Решения: все контентные классы, 1 MinIO (`minio.kzntsv.site`), ключ без ведущего слэша (parity), deploy → локальный IIS windows-recovery-host → боевой. DNS-аудит чист. diff --git a/.tasks/kupimknigi-deploy-snolla-0-42-0.md b/.tasks/kupimknigi-deploy-snolla-0-42-0.md new file mode 100644 index 0000000..ca39aeb --- /dev/null +++ b/.tasks/kupimknigi-deploy-snolla-0-42-0.md @@ -0,0 +1,33 @@ +# kupimknigi-deploy-snolla-0-42-0 + +## Goal +Собрать VDS-staging образ `kupimknigi.spb.ru` на `@snollajs/snolla@0.42.0` из `victor/kupimknigi.spb.ru` (`apps/web`, HEAD **`9608ff6`**) и передеплоить/создать стек. Простой **одностраничник** — код закрыт (re-review PASS, docker-валидация GREEN локально, секреты не в git/образ). Финал тиража snolla. + +## Site (факты, резолвнуты из БД прогом) +- siteId `E924A354-0377-4E1E-80C6-2EB0194AA55F` · theme `EF2C663C-8960-4D3B-83AA-5C683D47D6C0` («bootstrap», store-путь `ef2c663c89604d3b83aa5c683d47d6c0`) +- бой `https://kupimknigi.spb.ru` — **БЕЗ www** (www мёртв, оператор подтвердил). Production=false в БД. +- Структура: Pages=1 (`/`, content_page), Forms=1 (`/callback-order` POST). Каталога/стора/блога/фида/редиректов нет. + +## Key files +- `~/projects/kupimknigi.spb.ru/apps/web/package.json` — пин `@snollajs/snolla@0.42.0` +- `~/projects/kupimknigi.spb.ru/deploy/Dockerfile` — multi-stage node:22-slim non-root, build-arg `VERDACCIO_TOKEN`, секреты не бейкаются +- config: `default.json` gitignored; на VDS передаётся через env (`custom-environment-variables.json` маппинг) — БД `mssql.kzntsv.site/MoreThenCms`, S3/MinIO, imgproxy + +## Acceptance (право-масштабировано под одностраничник — НЕ tandemmebel) +- build sha `9608ff6` на VDS → образ в `registry.kzntsv.site` → стек Portainer (env verbatim, healthy MSSQL+S3). +- Staging-smoke с VDS: `/` → 200, рендер == бой `kupimknigi.spb.ru` (H1 «Скупка старых книг в Санкт-Петербурге»), тема-ассеты 200 из MinIO, форма `/callback-order` POST жива, seoCanonical (`/callback-order/`→301). Completeness тривиален (1 URL). +- rollback наготове. + +## Cutover — operator-gated (как весь тираж) +Live DNS flip **НЕ трогать** без отмашки оператора. ⚠️ kupimknigi DNS сейчас на RUVDS IIS `80.64.31.36` (майская iis-migration) — cutover-таргет/порядок разрешить с оператором отдельно, RUVDS=rollback. Этот таск = staging-образ + гейты, не флип. + +## Meta +- **Weight:** needs-claude (staging-сборка; cutover=operator-gated отдельный шаг) +- **Notify:** OpeItcLoc03/workshop (оркестратор — «его сайт = workshop») +- Deploy-source dev: `victor/kupimknigi.spb.ru`. + +**Status:** ready — заведена workshop 2026-07-05 (код закрыт, re-review PASS, docker-валидация GREEN) +**Where I stopped:** (not started) +**Next action:** build `9608ff6` на VDS → стек → staging-smoke `/` vs бой. + +