Status: done (false) -> paused (true). Миграция была сделана, сломала prod (Docker port-loop), откатили. Артефакты на хосте остались inert для следующей попытки. - STATUS: 🟢 done -> 🟡 paused с детальным where-I-stopped - iis-on-host-migration: Phase 9 rollback задокументирован, что НЕ делать в следующей попытке (cross-ref на post-mortem) - NEXT-SESSION-PROMPT: переписан для retry-сценария — обязательное чтение post-mortem перед началом, recipe из 5 пунктов Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
35 lines
3.4 KiB
Markdown
35 lines
3.4 KiB
Markdown
# Task Board
|
||
_Updated: 2026-05-19_
|
||
|
||
## 🟡 [iis-on-host-migration] — попытка не удалась, ROLLBACK; готов для следующей попытки по recipe
|
||
**Status:** paused (2026-05-19 вечер — миграция была сделана, **сломала prod**, откатили на VM; post-mortem в `.wiki/concepts/iis-migration-2026-05-19-postmortem.md`).
|
||
**What happened:** через ~10 мин после "done"-объявления пользователь увидел `502 Bad Gateway` → `TOO_MANY_REDIRECTS`. Root cause — Docker port-collision: traefik backend `host.docker.internal:80` резолвится через Docker Desktop NAT обратно в сам traefik (на его :80 HTTP entrypoint), `https.yml` http-catchall middleware отдавал 301 → loop. Реактивно ломал ещё час каскадными изменениями.
|
||
**Where I stopped (after revert):** prod снова через VM (traefik backends восстановлены из `.bak-phase3`, VM startvm + ipconfig /release /renew). На хосте остались inert: `C:\sites\{snolla, stostayer, stostayer.old, snolla-identity-manager}` + IIS sites + AppPools + 3 backup-stamps в traefik/data/custom/.
|
||
**Next action:** **сначала прочитать post-mortem** (`.wiki/concepts/iis-migration-2026-05-19-postmortem.md`), затем заново попробовать миграцию по recipe (избежать backend port :80, smoke с `-MaximumRedirection 0`, тест из НЕ-LAN сети, parallel VM x N часов, atomic revert plan).
|
||
**Branch:** master
|
||
|
||
---
|
||
|
||
## 🟢 [nas-recovery] — клиентские сайты восстановлены, работают из публичного интернета
|
||
**Status:** done (2026-05-19 ~10:00 MSK — 15 часов работы)
|
||
**Final state:** OpenWRT NAT → traefik 2.6.6 (host:8000/4443) → VirtualBox VM snolla-recovery (IIS + CMS) + docker-стек на хосте (MSSQL/MinIO/ES/imgproxy/nginx). 13 client routes, 40 LE certs валидны. Проверено: пользовательский клиент из публичного интернета открывает snolla.com, pilorama98.ru, labtools.ru/pro, tandemmebel.ru, emspb.ru.
|
||
**Backup pull:** C:\nas-recovery\vm-sites\ (~11 GB inetpub/wwwroot + stayer/) — на случай если VM снова станет нестабильной.
|
||
**Open issues (минор):**
|
||
- X-Forwarded-Proto/Host: CMS делает redirect с портом 4443 в URL — нужно добавить middleware в traefik или включить trust в IIS.
|
||
- MinIO/Azure storage — пользователь упомянул "не так всё", ждём пояснение.
|
||
- docker-сокет проброс в traefik — daemon connection error (некритично, file-provider routing работает).
|
||
- VM в bridged-WiFi была нестабильной → переехали на NAT + port forwards.
|
||
- acme.json renewal через HTTP-01 фейлится для доменов с DNS не на нашем IP — нужно переключить на DNS-01 через REGRU (creds в env уже).
|
||
**Branch:** master
|
||
|
||
---
|
||
|
||
<!--
|
||
Status legend:
|
||
🔴 Active — only one at a time
|
||
🟡 Paused — in progress, resumable
|
||
⚪ Ready — defined, not started
|
||
🟢 Done — kept until merged
|
||
🔵 Blocked — waiting on external input
|
||
-->
|