Cyrillic comments saved as UTF-8-no-BOM were mis-parsed by Windows PowerShell 5.1 (read as cp1251) -> parser error at "(~28 GB)". Rewrote the script with ASCII-only text; verified 0 non-ASCII bytes + clean AST parse. Also removed traefik teardown step from the script (local traefik already removed per user decision); kept lightrag + mutable-dev VM. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4.4 KiB
4.4 KiB
decommission-windows-recovery-host
Goal
Прибраться на ../entities/windows-recovery-host (DESKTOP-NSEF0UK) после Synology-аварии: сервисы поднимались здесь временно, теперь почти все уехали на VDS + бэкапы настроены, локальный контент остался. Освободить диск (было 62 ГБ free из 636 used). Оставить только IIS-сайты stostayer (stostayer + stostayer.old).
User decisions (2026-06-08)
- snolla rollback-артефакты (VM 95ГБ + OVA 42ГБ + vm-sites 11ГБ) — снести всё сейчас, без архива (RUVDS cutover стабилен с 05.06, win-acme самодостаточен).
stostayer.old(:8091, БД на локальном MSSQL) — нужен → репойнт web.config наmssql.kzntsv.site,1433, локальный MSSQL снести.- Bulk safe — всё разом.
Plan / phases
- A. Docker images + build cache prune — ✅ образы 118→7.1ГБ, build-cache 65→0ГБ (~176ГБ logical). + rm exited-мусор. ⚠ physical-reclaim на C: только после vhdx-compact (см. ниже).
- B. Redundant local CMS-backend контейнеры — ✅ stop+rm
minio/imgproxy/imgproxy-nginx/elasticsearch. - C. Husk-стеки — ✅ удалены 21 пустой
diskstation/*+ data-папки minio/es/imgproxy. Осталось в diskstation:mssql,traefik. - D. snolla rollback — ✅ VBox VM
snolla-recovery(unregistervm --delete, −95ГБ) +C:\nas-recovery(−~150ГБ, по содержимому: harness блокирует Remove-Item на root-C:-папке). C: free 62→214ГБ. - C.bis sites archives — ✅ удалены
C:\sites\snolla.tar.gz,snolla.zip,snolla-identity-manager. - E+F. ELEVATED finale — заскриптовано в
scripts/decommission-windows-recovery-host/finish-elevated.ps1. Делает: orphan-fixsnolla@stostayerна VDS (sa из pass) → репойнт stostayer.old web.config наmssql.kzntsv.site→ рестарт пула + smoke :8091 (гейт: 5xx → STOP) → снос IIS-сайтаsnolla+C:\sites\snolla+ dead traefik-routes → снос локального MSSQL (~30ГБ). Блокер для non-elevated tool: нужен elevated shell + рабочий gpg/pass — это user-shell. Запускает user.
Verify-факт (2026-06-08)
БД stostayer НА VDS ЕСТЬ (все 5 уехали: MoreThenCms/StayerCalculator/StayerPrice/stostayer/TireService), логин snolla существует, но его user в stostayer orphaned → прямой репойнт даёт Login failed. Фикс = ALTER USER snolla WITH LOGIN=snolla (в скрипте, шаг F1).
- local traefik — ✅ снесён 2026-06-08 (user-решение): контейнер + том
traefik_traefik_letsencrypt(acme.json больше не нужен — RUVDS на своём win-acme) +diskstation/traefik. После негоdiskstation/= толькоmssql. Скрипт E обновлён (traefik-шаги убраны).
Keep (user-решение 2026-06-08)
- lightrag- + postgres* контейнеры — оставить (used).
- VM
mutable-dev-environment(3ГБ) — оставить.
Follow-up
- vhdx compact (вернуть ~176ГБ docker-reclaim на C:):
wsl --shutdown+Optimize-VHD ...docker_data.vhdx. Гасит markitdown-MCP/lightrag — делать вне активной agent-сессии.
Keep
- IIS
stostayer(:8090, БД внешняя www.stostayer.ru) +stostayer.old(:8091, после репойнта на VDS). - traefik (proxy-plane), markitdown-mcp (агент-инфра),
MoreThenCmsgit-репо, SSH-ключи. - lightrag- + postgres контейнеры* — НЕ трогать пока не подтверждён статус (локальный MCP-инстанс vs leftover). Open question.
Notes
- Elevated-операции (IIS site remove, web.config в C:\sites, Restart-WebAppPool) — non-elevated tool не может; готовить команды для user или elevated shell.
- ⚠ Soak snolla формально до ~12.06 — user разрешил снести раньше (cutover стабилен).