From 34df24be851e725e580b4e746dfb95cdfa665b25 Mon Sep 17 00:00:00 2001 From: OpeItcLoc03 Date: Sat, 4 Jul 2026 08:42:45 +0000 Subject: [PATCH] meta(tasks): create [tandemmebel-sharp-staging-rebuild] in OpeItcLoc03/admin --- .tasks/STATUS.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index 7058ca4..21c64ec 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -1293,3 +1293,46 @@ tandemmebel-staging (стек 20) потеряет featured-вотермарк --- + +## ⚪ [tandemmebel-sharp-staging-rebuild] — РЕЗЮМ ДЕПЛОЯ tandemmebel (был 🟡 paused под пивот на sharp — sharp готов, снимаем паузу). Оператор: «деплоим, ты всё проверишь». Пересобрать staging на новом sharp-движке, parity-smoke. Cutover DNS — НЕ в scope, отдельный gated шаг оператора позже. + +## Что нового vs прошлый staging (imgproxy-путь) + +- **reviewed-sha = `68b93a95d6cd6170ecdd01a37585ece3d6221df5`** (victor/tandemmebel master, запушен) — с него собирай. +- Движок: snolla **0.34.0** / core **0.15.0** (in-process sharp, data-driven watermark из данных темы; imgproxy из пути tandem убран). +- `production.json` в репо несёт media-конфиг (`resize.engine=sharp`, `delivery=serve-bytes`, `cache.mode=local-variant`, `storage.provider=s3`) — это НЕ секрет, приезжает с образом. Рукописного `media.watermark` больше нет. + +## Шаги + +1. Собрать образ на VDS из ЧИСТОГО git-archive sha `68b93a95` (guard: секретов в образе нет; production.json = конфиг, не секреты). Push в registry. +2. Обновить/пересобрать staging-стек tandemmebel (прошлый — Portainer стек 20, `tandemmebel.vds.kzntsv.site`) на новый образ. Runtime-секреты (DB mssql / MinIO S3-креды / siteId) — как раньше, verbatim, в stack-env, НЕ в образ. +3. **Parity-smoke vs бой `www.tandemmebel.ru`:** + - Картинки: slug-URL `/galleries//images//` → 200 image/webp; **0 `/imgproxy`-редиректов наружу** (сырой /imgproxy под sharp → 404 — норма). + - Featured + lightbox (gallery-large 1200×794, post-featured 1170×557) несут **watermark** (из sharp, центр ~0.6); мелкие (gallery-small, slider) — чистые. + - variant-cache пишется в бакет `variant-cache` (без NoSuchBucket). + - Роуты/редиректы parity как прошлый staging (10/10 было зелёное). +4. Доложить staging-green + находки в inbox workshop. Всё, что «увидишь хренью» — репорти, не проглатывай. + +## Заметки / guards + +- **variant-cache — общий бакет:** staging пишет туда же, куда потом прод. Кэш content-addressed (source+size+watermark) → байты идентичны, staging просто пред-прогреет. Не пуга́йся объектов в бакете. +- **GothamPro heads-up (из прошлого хендоффа):** прод-tandemmebel.ru отдаёт `Gotham-Pro.css` 0 байт, staging корректный ~4436B → шрифт заголовков на staging «правее» боя. Это НЕ регресс — известная дельта, всплывёт при cutover, не флагай как поломку. +- Cutover DNS (reg.ru) — НЕ трогай. Отдельный gated шаг оператора по твоему staging-green. + +## Обязательные скилы + +- invoke `using-vds-ops` — состояние контейнеров/стека +- invoke `using-tasks` — статус + +**weight:** needs-human (сборка образа + деплой стека на VDS) +**notify:** OpeItcLoc03/workshop +**Dev-source:** victor/tandemmebel sha 68b93a95 (sharp-движок snolla 0.34.0/core 0.15.0) + +**Status:** ready +**Where I stopped:** (not started) +**Next action:** Собрать staging-образ tandemmebel с sha 68b93a95 (движок sharp), деплой staging-стек, parity-smoke vs бой, доложить. +**Branch:** n/a +**Notify:** OpeItcLoc03/workshop + + +---