diff --git a/.tasks/NEXT_SESSION.md b/.tasks/NEXT_SESSION.md index 2684d52..68a5128 100644 --- a/.tasks/NEXT_SESSION.md +++ b/.tasks/NEXT_SESSION.md @@ -24,7 +24,9 @@ session_id: 2026-07-04-tandemmebel-deploy-snolla-0-42-0 - **Cutover operator-gated:** kupimknigi DNS на RUVDS IIS 80.64.31.36 (майская iis-migration), таргет/порядок с оператором отдельно. RUVDS=rollback. - Compose: `host-stacks/vds-kzntsv/kupimknigi.compose.yml`. -**Статус тиража:** оба сайта на VDS-staging GREEN на snolla 0.42.0 — tandemmebel (стек 20, `ed96b18`) + kupimknigi (стек 21, `9608ff6`). Оба ждут cutover по DNS-отмашке оператора (разные таргеты: tandem→89.253.255.94 reg.ru; kupim→RUVDS-миграция, порядок TBD с оператором). +**Статус тиража:** +- **kupimknigi — ✅ CUTOVER ЖИВОЙ (2026-07-05).** Оператор флипнул DNS reg.ru → 89.253.255.94, подтвердил на ns1+ns2.reg.ru, боевой `Host(kupimknigi.spb.ru)` в стеке 21, LE-серт выпущен (CN=kupimknigi.spb.ru), live GREEN. Сайт на VDS. RUVDS=rollback (не тронут). +- **tandemmebel — стек 20, `ed96b18`, staging GREEN, ЖДЁТ cutover** по DNS-отмашке (владелец флипает reg.ru tandemmebel.ru+www→89.253.255.94; порядок verify-NS→боевой Host ниже). --- diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index e0d685d..aaa6d45 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -52,7 +52,7 @@ _Updated: 2026-05-25 (`iis-migration-to-ruvds` 🟢 closed Phase 1 per user deci **Status:** done — 2026-07-05. ✅ Собрал `registry.kzntsv.site/kupimknigi:9608ff6` (digest `ac7f846`, 583MB) на VDS из sha 9608ff6 (snolla 0.42.0/core 0.24.0/data 0.14.1), запушил. Создал **новый Portainer-стек Id 21 `kupimknigi`** (POST create/standalone, env verbatim 8/8 из стека 20 — тот же тенант) → контейнер **healthy** сразу, running==9608ff6. Staging-host kupimknigi.vds.kzntsv.site. **Where I stopped:** GREEN. Staging-smoke с VDS пройден: `/`→200==prod; H1 «Скупка старых книг в Санкт-Петербурге…» идентичен prod; robots.txt 200 (healthcheck); тема-ассет `/themes/ef2c663c…/css/toolbox.css`→200 (MinIO); форма `action="/callback-order"` в HTML; callback-роуты паритет prod (`/callback-order/`→301 canonical, `/callback-order`→404 POST-only); байты 17717≈prod 17672. Форму не сабмитил (POST=реальное письмо клиенту) — роут зарегистрирован==prod, достаточно. -**Next action:** — (закрыто). Cutover=operator-gated отдельный шаг (kupimknigi DNS на RUVDS IIS 80.64.31.36, майская миграция; таргет/порядок разрулить с оператором). RUVDS=rollback, не тронут. +**Next action:** — (закрыто, ВКЛ. CUTOVER). ✅ **CUTOVER ВЫПОЛНЕН 2026-07-05:** оператор флипнул DNS reg.ru `kupimknigi.spb.ru` 80.64.31.36→89.253.255.94; подтвердил на ОБОИХ авторит.NS (ns1+ns2.reg.ru); вставил боевой `Host(kupimknigi.spb.ru)` в стек 21 (PUT 200), убрал staging-host. LE-серт выпущен (CN=kupimknigi.spb.ru, valid Jul5→Oct3 2026), боевой хост GREEN: /→200 H1 «Скупка старых книг…», robots/тема-css 200, callback canonical 301. **kupimknigi.spb.ru живёт на VDS.** RUVDS IIS 80.64.31.36 = rollback (revert DNS), НЕ тронут/декоммишн. **Weight:** needs-claude · **Notify:** OpeItcLoc03/workshop diff --git a/host-stacks/vds-kzntsv/kupimknigi.compose.yml b/host-stacks/vds-kzntsv/kupimknigi.compose.yml index 9115599..c927fa7 100644 --- a/host-stacks/vds-kzntsv/kupimknigi.compose.yml +++ b/host-stacks/vds-kzntsv/kupimknigi.compose.yml @@ -48,9 +48,11 @@ services: labels: traefik.enable: "true" traefik.http.routers.kupimknigi.entrypoints: websecure - # STAGING-RULE. Cutover: после flip DNS сменить на Host(`kupimknigi.spb.ru`) (БЕЗ www — мёртв) - # и убрать staging-хост. RUVDS IIS 80.64.31.36 — rollback, не тронут. - traefik.http.routers.kupimknigi.rule: Host(`kupimknigi.vds.kzntsv.site`) + # CUTOVER 2026-07-05: DNS kupimknigi.spb.ru флипнут на VDS (89.253.255.94) оператором (reg.ru). + # Проверено ОБА авторитетных reg.ru-NS (ns1+ns2) согласованно → 89.253.255.94 (было 80.64.31.36 RUVDS). + # Боевой хост (БЕЗ www — мёртв). staging-хост kupimknigi.vds.kzntsv.site УБРАН post-cutover. + # RUVDS IIS 80.64.31.36 — rollback (revert DNS), не тронут. + traefik.http.routers.kupimknigi.rule: Host(`kupimknigi.spb.ru`) traefik.http.routers.kupimknigi.tls.certresolver: letsEncrypt traefik.http.services.kupimknigi.loadbalancer.server.port: "5000"