meta(tasks): create [labtools-pro-deploy-snolla-0-42-1] in OpeItcLoc03/admin
This commit is contained in:
@@ -1521,3 +1521,52 @@ tandemmebel-staging (стек 20) потеряет featured-вотермарк
|
|||||||
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: victor/emspb.ru / 2026-07-05T08:35:56.737Z -->
|
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: victor/emspb.ru / 2026-07-05T08:35:56.737Z -->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## ⚪ [labtools-pro-deploy-snolla-0-42-1] — Обновить ЖИВОЙ прод labtools.pro in-place → snolla 0.42.1 (собрать образ из sha 0610432, перепрогнать гейты на образе, operator-gated apply на боевой стек 19, rollback=7bd9fae).
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
Обновить **ЖИВОЙ прод** labtools.pro in-place на движке `@snollajs/snolla@0.42.1` (core 0.24.1 / data 0.14.1 / liquid 0.10.2). Класс = обновление живого прода (как labtools.ru), **НЕ staging-first greenfield**. Сайт уже боевой на VDS: Portainer стек **19**, текущий образ `labtools-pro:7bd9fae`, cutover'нут 2026-07-02, DNS→89.253.255.94.
|
||||||
|
|
||||||
|
Код-часть закрыта проггером (`victor/labtools.pro`): bump 0.28.7→0.42.1, тесты 24/24 GREEN, completeness-gate PASS (27 роутов, order-парити ✓), docker build локально healthy, секреты не запечены. **sha для сборки = `0610432`** (master, pushed).
|
||||||
|
|
||||||
|
Почему НЕ голый bump: 0.42.0 = viewmodel-graph-перепил ядра (`includeX`-запекание выпилено). 0.42.0 ловил engine-gap с `{% order … by <field> %}` на Drop-backed каталоге (порядок изделий уезжал) — снолла закрыла в liquid 0.10.2 → **целься на 0.42.1, НЕ 0.42.0**.
|
||||||
|
|
||||||
|
## Key files
|
||||||
|
- `~/projects/labtools.pro/apps/web/package.json` — пин `@snollajs/snolla@0.42.1` (уже закоммичен в 0610432)
|
||||||
|
- `~/projects/labtools.pro/deploy/Dockerfile` — multi-stage node:22-slim, build context = repo root, VERDACCIO_TOKEN build-time only (не запекается)
|
||||||
|
- `~/projects/labtools.pro/deploy/README.md` — рантайм env-лист (8 секретов: DB_USER/DB_PASSWORD, IMGPROXY_KEY/SALT, S3_ACCESS_KEY_ID/SECRET, SMTP_USER/PASSWORD)
|
||||||
|
- Portainer стек **19** (labtools.pro) — source-of-truth compose, боевой
|
||||||
|
|
||||||
|
## Acceptance (перепрогнать на НОВОМ 0.42.1-образе ДО подмены — НЕ наследовать GREEN)
|
||||||
|
1. Собрать образ на VDS `registry.kzntsv.site/labtools-pro:0610432` (BUILD_EXIT=0), push в registry.
|
||||||
|
2. **completeness-gate**: полный список боевых роутов www.labtools.pro (sitemap-развёртка + краул) vs новый образ → 0 боевых-200 → образ-non-200 (проггер: 27 роутов, эталон).
|
||||||
|
3. **каталог-парити (order-фикс 0.42.1)**: порядок изделий в листингах — presses=[plg-20,plg-12], milling=[milling-jars,grinding-media], press-forms=12 шт. Смоук гнать **С VDS** (воркстейшн ловит LAN-DNS-перехват прод-доменов).
|
||||||
|
4. Секреты не запечены в образ (проверить `docker image inspect ... .Config.Env` — токена/паролей нет).
|
||||||
|
5. **Rollback наготове = `labtools-pro:7bd9fae`** (текущий боевой).
|
||||||
|
|
||||||
|
## Apply — OPERATOR-GATED
|
||||||
|
Подмена тега на живом стеке 19 (Portainer PUT, env сохранён, PullImage) = **боевой apply живого прода — админ подтверждает с оператором ПЕРЕД подменой**. Это НЕ автоматический шаг. После apply: контейнер healthy + running==0610432, повторный смоук ключевых роутов. Рухнуло → откат на 7bd9fae.
|
||||||
|
|
||||||
|
## Обязательные скилы — вызвать до начала работы
|
||||||
|
- invoke `using-tasks` — управление статусом задачи
|
||||||
|
- invoke `project-discipline` — дисциплина
|
||||||
|
- invoke `using-vds-ops` — диагностика VDS-контейнеров (стек 19, registry, portainer)
|
||||||
|
- invoke `using-projects-meta` — cross-project (эта таска кросс-проектная)
|
||||||
|
|
||||||
|
**TDD:** нет — ops/deploy-таска, код уже покрыт тестами проггером (не пишем код).
|
||||||
|
**Разрешения:** интерны: нет | автопуш: n/a (ops, не код-таска)
|
||||||
|
**weight:** needs-human — обновление ЖИВОГО прода in-place; критическая deploy-инфра; боевой apply подтверждается оператором.
|
||||||
|
**notify:** victor/labtools.pro (репортить проггеру напрямую, МИНУЯ workshop)
|
||||||
|
|
||||||
|
Build-рецепт (зеркало tandemmebel): `git -C ~/projects/labtools.pro archive 0610432 | ssh vitya@89.253.255.94 tar -x`; `docker build -f deploy/Dockerfile --build-arg VERDACCIO_TOKEN -t registry.kzntsv.site/labtools-pro:0610432 . && push`. Portainer PUT через curl -X + node (НЕ PS Invoke-RestMethod).
|
||||||
|
|
||||||
|
Cutover DNS уже сделан (07-02) — тут только смена образа на существующем боевом стеке, НЕ новый DNS-флип.
|
||||||
|
|
||||||
|
**Status:** ready
|
||||||
|
**Where I stopped:** (not started) — код-часть закрыта проггером, sha 0610432 (master, pushed)
|
||||||
|
**Next action:** git archive 0610432 → VDS; docker build образ labtools-pro:0610432 на @snollajs/snolla@0.42.1; push в registry.kzntsv.site; перепрогнать acceptance-гейты на НОВОМ образе ДО подмены; затем operator-gated apply на живой стек 19.
|
||||||
|
**Branch:** master
|
||||||
|
**Notify:** victor/labtools.pro
|
||||||
|
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: victor/labtools.pro / 2026-07-05T08:57:28.335Z -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user