feat(emspb): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
5-й сайт тиража v3 (5/6 GREEN). In-place bump стека 18 (DNS на VDS с 2026-07-02). Commit victor/emspb.ru 5afd8a1 (bump + resolutions + yarn.lock реген). Build на VDS → registry.kzntsv.site/emspb:5afd8a1 digest 72bb59fc. Staging :5082 parity-gate GREEN (29/29 routes 200, theme assets 7/7 md5 IDENTICAL — v3 S3-direct read из vds MinIO 2025). Portainer PUT stack 18 env-preserving (8/8, node in-memory put-stack), prune:false pullImage:true. Live smoke GREEN. Rollback = 95a5c42 (v2). - emspb.compose.yml: 95a5c42→5afd8a1 - emspb-vds-deploy-runbook: §0.43.2 - minio-split-cutover-runbook: progress-table emspb ✅, остался tandemmebel - NEXT_SESSION: 5/6 GREEN, остался tandemmebel (стек 20, был BLOCKED на sharp-staging дефекте — проверить перед бампом) Остался 1 сайт: tandemmebel. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,12 +1,24 @@
|
||||
---
|
||||
_last_updated_: 2026-07-30T17:35:00Z
|
||||
session_id: 2026-07-30-labtools-pro-v3-cutover
|
||||
prev_session_id: 2026-07-30-labtools-v3-cutover
|
||||
_last_updated_: 2026-07-30T14:45:00Z
|
||||
session_id: 2026-07-30-emspb-v3-cutover
|
||||
prev_session_id: 2026-07-30-labtools-pro-v3-cutover
|
||||
---
|
||||
|
||||
# Next session handoff
|
||||
|
||||
## Эта сессия — labtools.pro v3 cutover. ЗАВЕРШЁН ✅
|
||||
## Эта сессия — emspb.ru v3 cutover. ЗАВЕРШЁН ✅
|
||||
|
||||
5-й сайт тиража v3 (после on-snolla, kupimknigi, labtools.ru, labtools.pro). Тот же паттерн, отработан чисто. **5/6 GREEN.** emspb = стек 18, in-place bump (DNS на VDS с 2026-07-02).
|
||||
|
||||
### Что сделано
|
||||
- **Bump:** `@snollajs/snolla 0.42.1→0.43.2` в `apps/web/package.json` (commit `5afd8a1`) + resolutions-блок в root `package.json` (verbatim labtools.ru) + реген `yarn.lock` (single `@smithy/signature-v4@5.3.11` deduped). Pushed victor/emspb.ru master `218c3ae..5afd8a1`. Endpoint fix `218c3ae` (s3.endpoint→minio.vds.kzntsv.site) был в master с 2026-07-29, но в бегущем образе `95a5c42` (v2) его не было — v3 cutover заодно перевёл S3-direct read на vds minio.
|
||||
- **Build на VDS:** `git archive 5afd8a1` → `~/build/emspb` → `docker build -f deploy/Dockerfile --build-arg VERDACCIO_TOKEN` → `registry.kzntsv.site/emspb:5afd8a1`(+latest), digest `sha256:72bb59fc355d…`, EXIT=0. `yarn install --immutable` в Docker прошёл (yarn.lock matches, no YN0028).
|
||||
- **Staging :5082 parity-gate GREEN:** throwaway контейнер из env живого стека 18 (8 секретов, `--network proxy`). robots md5 `940a0903…` identical (31B); sitemap index→`sitemap-pages-1.xml` **29 locs == live**; **29/29 sitemap-роутов 200/200, 0 status diffs** (+2B host-context benign); **theme assets 7/7 md5 IDENTICAL** (v3 aws-sdk v3 S3-direct read из vds MinIO 2025: snolla-framework/bootstrap/toolbox/theme/slick + images/2.jpg + /images/3.jpg 115618B); redirects 301 parity (modulo host), /index.php+/services 404 parity.
|
||||
- **Portainer PUT stack 18 LIVE:** node in-memory `put-stack` (Node 22 global fetch, compose в JS-var; GET `/stacks/18` для Env + `/stacks/18/file` для StackFileContent — `StackFileContent` НЕ на `/stacks/{id}`, только на `/stacks/{id}/file`), env 8/8 preserved, `prune:false pullImage:true mem_limit 512m`. PUT 200. Контейнер `5afd8a1` healthy ~1s.
|
||||
- **Live smoke GREEN:** `/` 200 54615B, /contacts+/portfolio+/prices 200, /services+/index.php 404, robots md5 identical, sitemap 29 locs, theme assets md5 LIVE==staging (v3 S3-direct), redirects 301 (target `www.emspb.ru` — byte-identical post-cutover), apex `emspb.ru` 200. Лог чист. TLS не тронут. **Rollback = `95a5c42`** (v2 0.42.1, жив в registry).
|
||||
- Compose (admin source-of-truth) синхронно закоммичен `95a5c42`→`5afd8a1`. emspb-vds-deploy-runbook §0.43.2 + minio-split-cutover-runbook progress-table обновлены.
|
||||
|
||||
## Предыдущая сессия — labtools.pro v3 cutover. ЗАВЕРШЁН ✅
|
||||
|
||||
4-й сайт тиража v3 (после on-snolla, kupimknigi, labtools.ru). Тот же паттерн, отработан чисто. **4/6 GREEN.** labtools.pro = English-twin (`Culture=en`) labtools.ru, отдельный репо `victor/labtools.pro`, image name `labtools-pro` (НЕ `labtools`), стек 19.
|
||||
|
||||
@@ -81,18 +93,19 @@ snolla опубликовала v3, admin зарезал боевой cutover.
|
||||
## Open треки
|
||||
| Трек | Готовность | Entry-point |
|
||||
|---|---|---|
|
||||
| **B3 v3 — labtools.pro** | ✅ LIVE 2026-07-30 | эта сессия — см. ↑ §Эта сессия |
|
||||
| **B3 v3 — emspb** | ✅ LIVE 2026-07-30 | эта сессия — см. ↑ §Эта сессия |
|
||||
| **B3 v3 — labtools.pro** | ✅ LIVE 2026-07-30 | prev session |
|
||||
| **B3 v3 — labtools.ru** | ✅ LIVE 2026-07-30 | prev session |
|
||||
| **B3 v3 — kupimknigi** | ✅ LIVE 2026-07-30 | prev session |
|
||||
| **B3 v3 — on.snolla.com** | ✅ LIVE 2026-07-30 | prev session |
|
||||
| **B3 v3 — остальные 2 сайта** (emspb/tandemmebel) | ⏳ TODO — v3-паттерн отработан x4 (4 GREEN) | `.wiki/concepts/minio-split-cutover-runbook.md` §B3-v3 + per-site `-vds-deploy-runbook.md` |
|
||||
| **B3 v3 — ostatся 1 сайт** (tandemmebel) | ⏳ TODO — v3-паттерн отработан x5 (5 GREEN) | `.wiki/concepts/minio-split-cutover-runbook.md` §B3-v3 + per-site `-vds-deploy-runbook.md` |
|
||||
| MinIO split Track A (books-vds minio 2020→2025) | ⏳ TODO — transparent, отдельно | runbook §Track A |
|
||||
| MinIO split B4 .NET catch-all админ s3 endpoint | ⏳ TODO — `C:\sites\snolla\Web.config` serviceURL → minio.vds.kzntsv.site | runbook §B4 |
|
||||
| MinIO split B5 Obsidian Remotely Save endpoint | ⏳ TODO — obsidian бакет смиррорен, можно менять | runbook §B5; memory `obsidian-remotely-save-endpoint-after-mirror` |
|
||||
| books-task-runner-registry-auth-cred | 🔵 blocked — cred в config-volume, рабочий образ содержит СТАРЫЙ registryGc; тега master-a3734d5 в реестре нет | `.tasks/STATUS.md` §books-task-runner |
|
||||
|
||||
## Спроси user'а
|
||||
- **Следующий сайт тиража v3** — 4/6 GREEN (on-snolla, kupimknigi, labtools.ru, **labtools.pro**). Остались: **emspb** (стек 18), **tandemmebel** (стек 20 — был BLOCKED на sharp-staging визуальном дефекте, проверить перед бампом). Паттерн отработан x4: bump `@snollajs/snolla→0.43.2` + resolutions + реген `yarn.lock` (иначе Dockerfile `yarn install --immutable` падает) → build на VDS → staging :50XX parity-gate → Portainer PUT (node in-memory `put-stack`, env-preserving). NB: yarn.lock реген — обязателен, на labtools.pro сначала забыл (сборка упала YN0028).
|
||||
- **Следующий сайт тиража v3** — 5/6 GREEN (on-snolla, kupimknigi, labtools.ru, labtools.pro, **emspb**). Остался: **tandemmebel** (стек 20 — был BLOCKED на sharp-staging визуальном дефекте, проверить перед бампом). Паттерн отработан x5: bump `@snollajs/snolla→0.43.2` + resolutions + реген `yarn.lock` (иначе Dockerfile `yarn install --immutable` падает) → build на VDS → staging :50XX parity-gate → Portainer PUT (node in-memory `put-stack`, env-preserving). NB: yarn.lock реген — обязателен; Portainer `StackFileContent` брать с `/stacks/{id}/file`, не `/stacks/{id}`.
|
||||
- stostayer v3-трек (0.43.1/0.7.8/0.17.2) — HOLD, snolla-scope, НЕ подхватывать без GO user (snolla ждёт stostayer-specific).
|
||||
|
||||
## Не делать (preemptive guards)
|
||||
|
||||
Reference in New Issue
Block a user