design(snolla): local .NET admin restore + on.snolla.com VDS migration
Two linked tasks, spec in .wiki/concepts/ per project-discipline. Task A — snolla-local-admin-restore: восстановить локальный catch-all IIS-сайт `snolla` (снесён 2026-06-08) копированием C:\sites\snolla\ с RUVDS (прод-админ с MinIO drop-in), conn → mssql.kzntsv.site MoreThenCms. Доступ <alias>.snolla.com/admin через hosts-override, один AppPool. Адреса + siteIds извлечены из MoreThenCms DB read-only. Task B — on-snolla-vds-migration (blocked by A): on.snolla.com (siteId B9ECDB50…, alias on, "Internal Site", culture en) с RUVDS IIS → VDS Node snolla-app 0.42.1, реконструкция Liquid-шаблонов из боевого сайта+админки (исходников нет). По рецепту tandemmebel-vds-deploy-runbook. Board entries: .tasks/STATUS.md + per-task files. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
30
.tasks/on-snolla-vds-migration.md
Normal file
30
.tasks/on-snolla-vds-migration.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# on-snolla-vds-migration
|
||||
|
||||
## Goal
|
||||
Мигрировать посадочную `on.snolla.com` с RUVDS IIS (MoreThenCms .NET) на VDS как Node snolla-app `@snollajs/snolla` 0.42.1. Исходников сайта нет — реконструировать из боевого сайта + админки. **Спека:** [[../.wiki/concepts/snolla-local-admin-and-on-snolla-migration-design.md]] §Task B.
|
||||
|
||||
## Facts (из `MoreThenCms` DB)
|
||||
- `SiteId=B9ECDB50-2B93-4CE5-B238-A9918B3F9CF7`, `Alias=on`, `Title="Internal Site"`, `Culture=en`, `Live=1, Production=1`.
|
||||
- Контент (DB-строки + ассеты) уже на vds-kzntsv (общая `MoreThenCms` DB + MinIO) — нужно только репо шаблонов+конфига.
|
||||
|
||||
## Plan / phases
|
||||
- [ ] **1. Реконструкция шаблонов** — через локальный админ ([[snolla-local-admin-restore]]) + боевой `https://on.snolla.com/` HTML: для каждой страницы сопоставить вёрстку с DB-контент-структурой → `layout.liquid` + page/partials. Итеративно (пиши→рендерь→сверяй с боевым).
|
||||
- [ ] **2. Новый репо** `victor/on-snolla` (имя уточнить) — калька `tandemmebel.ru/apps/web` (server.js/index.js/config/views/package.json + deploy/Dockerfile). Пин `@snollajs/snolla` 0.42.1.
|
||||
- [ ] **3. production.json** — siteId `B9ECDB50…`, siteUrl `https://on.snolla.com`, sequelize→`MoreThenCms` `mssql.kzntsv.site:1433`, s3→`minio.kzntsv.site`, imgproxy→`imgproxy.kzntsv.site`, sharp serve-bytes. Секреты в runtime-env стека.
|
||||
- [ ] **4. Build на VDS** (обход traefik-499, build-arg VERDACCIO_TOKEN), push `registry.kzntsv.site/on-snolla:<sha>`.
|
||||
- [ ] **5. Throwaway-staging `:50XX`** из env живого (или нового стека) → completeness-gate: sitemap parity vs прод-on.snolla.com (page-locs NEW==PROD, self-consistency 0 регрессий 404/5xx).
|
||||
- [ ] **6. Stack** Portainer за traefik `Host(on.snolla.com)`, `mem_limit 512m`, env секреты.
|
||||
- [ ] **7. Cutover** — verify авторит. NS reg.ru→89.253.255.94 → traefik Host-rule → LE-серт → live-smoke. По `tandemmebel-vds-deploy-runbook`.
|
||||
|
||||
## Status
|
||||
⚪ ready (blocked by [[snolla-local-admin-restore]]). Branch: master.
|
||||
|
||||
## Depends on / blocks
|
||||
- Blocked by: [[snolla-local-admin-restore]] (админ для контент-инспекции).
|
||||
|
||||
## Open Q
|
||||
- Имя репо (`victor/on-snolla`? `victor/on.snolla.com`?).
|
||||
- Сложность посадочной (объём шаблонов) — узнается при реконструкции.
|
||||
|
||||
## Rollback
|
||||
Образ предыдущего тега в registry / revert DNS reg.ru→80.64.31.36 (RUVDS IIS жив пока DNS не флипнут).
|
||||
Reference in New Issue
Block a user