Commit Graph

474 Commits

Author SHA1 Message Date
b01b23f811 meta(kreknin): backups re-enabled + verified after power-cut; rebuild restarted
- cron restored vds-kzntsv 05:00 + books-vds 06:00; manual runs VERIFIED on kreknin (vds-kzntsv 66G / books-vds 15G, latest->08-10, 7 snaps each)
- books-vds was stale since 08-05 (rsync fails, no alternate trigger); stale ES snapshot daily-2026-08-10 removed
- md3 rebuild restarted from 0 after power-cut (progress not checkpointed); md0/md1 all 4 disks green
- add kreknin_rebuild_mon.sh array monitor (md0/md1/md3 + CRC)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-10 20:13:27 +03:00
095f94c333 meta(tasks): create [kreknin-reenable-backups-after-rebuild] in OpeItcLoc03/admin 2026-08-10 05:14:37 +00:00
03607d0d6e meta(handoff): flat-fields wave CLOSED; session end
- 7 sites @snolla/snolla→web redeployed
- admin-api 0.4.0 (flat fields) + client 0.5.2 + schema-gen 0.2.1 published
- pilorama98 0db46e1 live: loader flat + catalog + yml/short_description
- admin-api 0.5.0 (validation) published, not deployed to pilorama98
- coordinator role active: snolla ↔ pilorama98
2026-08-07 13:03:23 +03:00
bb4d441f5a meta(handoff): namespace migration + admin-api embed CLOSED; session end
Сессия 2026-08-04/05: S2+S3 review APPROVE, неймспейс-миграция
@snollajs→@snolla (8 сайтов), admin-api embed в pilonuxt,
стек 25 retire. Wiki обновлён.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 00:28:55 +03:00
543b10a464 docs(wiki): namespace-consolidation + admin-api-embed concepts
Документированы два крупнейших изменения сессии 2026-08-04/05:
- Неймспейс-миграция @snollajs→@snolla (17 пакетов, 8 сайтов)
- Admin-api embed в pilonuxt /admin/api, retire стека 25

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 00:24:42 +03:00
1becee760c meta(handoff): S2 review APPROVE (ed7da15), publish+deploy held; роль координатор+ревьювер продолжается в след. сессии
- клиент 20/20 + schema-gen 19/19 + tsc 0 (прогнано сам); покрытие 52/52 non-F; /move сверен с сервером
- финайдинги F1-F3 (минорные) отправлены snolla; publish НЕ дан (hold vitya)
- vitya: в след. сессии тот же координатор+ревьювер этого проекта

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 21:33:24 +03:00
6fe728aa21 meta(handoff): S2 ПРОДОЛЖАЕТСЯ — отмена camel отозвана (vitya: «Продолжать S2»)
- 219a8b3d («camel ОТМЕНЁН») был ошибочной интерпретацией; vitya подтвердил snolla «Продолжать S2»
- S2 (@snolla/admin-api-client 0.3.x camel) идёт у snolla; деплой = один срез в конце эпика, live ca0dfa3 до готовности
- урок: не рассылать другим сессиям письма-отмены по своему прочтению — вмешательство в их работу

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 21:14:25 +03:00
219a8b3d43 meta(handoff): camel-эпик ОТМЕНЁН (vitya) — деплой-парковки нет, live ca0dfa3 (Pascal) остаётся
- vitya: «после S2 деплой не нужен» — весь camel-эпик (S1 wire + S2 клиент 0.3.x + loader re-миграция) отменён
- loader уже мигрирован на Pascal-провод (клиент 0.2.1), прод-импорт done — переделывать нечего
- 2ffd66a — мусор (собран, не запушен); деплой не отдельная веха, релиз = часть выпуска фичи
- письмо snolla отправлено (18-10-26Z): S2 не стартуем
- урок: не строить rework-эпик на работающем проводе без потребителя

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 21:11:51 +03:00
c5166d88f0 meta(handoff): S1 APPROVE + деплой отложен до S2 (полный срез); урок про деплой-гейты
S1 (camel-нормализация admin-api) — ревью APPROVE, финайдинги закрыты (F1 page-part-templates
переведён). Деплой ОТЛОЖЕН по решению snolla+оператор: S1 без camel-клиента не выкатываем,
деплой одним срезом после S2. Образ 2ffd66a собран на VDS, не запушен, live = ca0dfa3.
pilorama98 auto-numbering прогнан (таска 🟢). Память: optional-other-project-task-not-a-deploy-gate.
2026-08-04 21:00:36 +03:00
5d66a86ee3 meta(handoff): loader-migration + admin-api deploy CLOSED; handoff на next session
Эта сессия: координация loader-migrate-to-admin-api-client завершена (identity PASS +
прод-импорт через API, 0 ошибок), admin-api стек 25 LIVE. Coord-таска финал. Handoff
пишет на следующий разворот: MinIO-retire (≈05.08) + kreknin-ремонт + вернуть бэкапы.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 19:37:06 +03:00
cd76ce8f3f feat(admin-api): деплой admin-api на vds (стек 25) — admin-api.vds.kzntsv.site
Образ registry.kzntsv.site/admin-api:ca0dfa3 (ESM-фикс). Stack 25, proxy-сеть,
env 8/8 (DATABASE_URL/JWT_SECRET/S3), mem_limit 512m, traefik + LE.
Live GREEN: /health ok, ключ pilorama98 проходит, LE-серт выдан.
Coord-таска обновлена (Number resolved, staging, deploy).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 18:33:52 +03:00
27de23ea25 meta(admin): coordinator loader-admin-api-client — ApiKeys DDL на обоих SNOLLA, скоуп-решение
ApiKeys миграция прогнана (vds MoreThenCms + stostayer stostayer, RC=0).
Координатор миграции loader'а pilorama98 + ревьюер snolla (admin-typed-api).
Зазор variants/categories/tags снят: оператор решил расширять snolla.
Контракт клиента relay'нут pilorama98 (query/write/page.content byte-for-byte).
Coord-таска: .tasks/coord-loader-admin-api-client.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 17:30:08 +03:00
d1ad3ebe3a meta(handoff): MinIO config flip sweep DONE (2026-08-04) — 5 репо + snolla framework + локальные gitignored
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 14:44:40 +03:00
b4497b367c chore(admin): close morethencms-s3-filestorage-provider task (по оператору: сделано давно)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 14:43:54 +03:00
f49481b80c meta(admin): MinIO split Track A DONE — books-vds minio 2020→2025 (shared + bookva), backup paths updated
- shared minio (stack 30): mirror 17 buckets → /usr/docker/minio/data-new, Portainer swap, traefik/imgproxy/books apps GREEN
- bookva-minio (stack 49): mirror books (38692 obj) → volume bookva-minio-data-new (docker volume rename unavailable on old daemon)
- backup script (repo + host /opt/stacks/backup/run.sh) repointed to live paths
- runbook Track A progress + gotchas (mc --disable-multipart, sequential mirrors on 3.8G host, CRLF secret)
- handoff for next session (retire old data in 48h, kreknin tomorrow)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-03 17:29:35 +03:00
a37c3ba98b meta(handoff): labtools cylindrical CLOSED (catalog provider core 0.26.6 live GREEN); kreknin tomorrow; MinIO split next session
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-03 16:08:31 +03:00
c0a8d12b67 meta(admin): labtools.ru cylindrical CLOSED — catalog provider (core 0.26.6) live GREEN
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-03 16:01:40 +03:00
4a1728c449 meta(handoff): labtools cylindrical root-cause found in snolla code — task posted (content-page-linked-products-hydration) + inbox letter 2026-08-03 13:29:11 +03:00
1a901b1396 meta(handoff): kreknin rescue session — sdd/VM-volume restore + full rescue to USB + backups paused (→ repair)
- kreknin Xpenology degraded after compressor dusting (sdb cable lost, md3 degraded, sda/sdc flaky cables)
- sdd/VM-volume (md2, /volume2) restored: DSM Repair + "Convert to read/write", scrub 0 errors
- full rescue 2026-08-02 → USB 2TB btrfs /mnt/rescue (netbackup/*.tar incl. diskstation_1.hbk 430G + 5 user shares)
- daily backups DISABLED (vds-kzntsv 05:00 + books-vds 06:00) — re-enable after repair
- wiki entity kreknin-synology: disk inventory, incident, repair, rescue, plan
- task kreknin-repair-md3-rebuild created (power-off → reseat cables → Repair md3 → re-enable backups)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-03 12:40:51 +03:00
0346d5243b meta(handoff): session 2026-07-31 — maljarka restore + variant-cache fix + labtools-cylindrical (→ workshop)
maljarka.tandemmebel.ru восстановлен (7-й сайт, стек 23, LIVE).
variant-cache bucket создан на vds 2025 (shared v3-регрессия sharp-images).
labtools cylindrical product-cards: snolla Linked-item VM bug → handoff victor/snolla
(не v3-регрессия; мой фикс откат, prod не тронут).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-31 10:47:57 +03:00
d82361d16d fix(minio-split): create variant-cache bucket on vds 2025 — sharp gallery-images 500 across all v3 sites
v3 minio-split перевёл snolla-сайты на minio.vds.kzntsv.site (2025), но variant-cache
bucket не создали там (был на books-vds 2020). snolla sharp-pipeline (variantCache.js
DEFAULT_NAMESPACE=variant-cache, storage.js bucket=storageClient) → NoSuchBucket → 500
на ALL sharp gallery-images всех 6 v3 сайтов с 2026-07-30. v3-gate не поймал: проверял
theme CSS (themes bucket, themeFiles — без sharp), не gallery-image URLs. Заметно на
maljarka portfolio (35 фото). Fix: mc mb vds/variant-cache (пустой, кэш регенерируем).
maljarka portfolio 34/34 → 200 image/webp, tandemmebel logs NoSuchBucket ушли.

- .tasks/STATUS.md + maljarka runbook §Гочи + minio-split-cutover-runbook Track A note
- memory variant-cache-bucket-missing-on-vds-2025

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-31 09:20:13 +03:00
22f9748b4c meta(handoff): maljarka restore session — 7/7 тираж GREEN (stack 23)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-31 06:16:04 +03:00
494b101067 feat(maljarka): restore maljarka.tandemmebel.ru as 7th snolla site on VDS (stack 23)
Сайт потерян при decomm RUVDS 2026-07-21 (.NET MoreThenCms tenant, не был в v3 тираже).
Восстановлен как Node snolla-app 0.43.2 на VDS: victor/maljarka.tandemmebel.ru @7f03d67,
layout.liquid byte-identical рендеру локального .NET-admin (43730B, sha256 match),
siteId A2476738, Reversal тема из MinIO. LE issued. Live smoke GREEN.

- host-stacks/vds-kzntsv/maljarka.compose.yml (source-of-truth, stack 23)
- .wiki/concepts/maljarka-vds-deploy-runbook.md (калька on-snolla runbook)
- .tasks/STATUS.md + .wiki/index.md updated
- тираж snolla теперь 7/7: labtools(17)/emspb(18)/labtools-pro(19)/tandemmebel(20)/kupimknigi(21)/on-snolla(22)/maljarka(23)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-31 06:15:29 +03:00
18c27ab8f5 meta(handoff): MinIO-split B4 fully closed — gallery preview fixed (MoreThenCms 09cb072d)
B4 endpoint flip + pre-existing S3-provider KeyNotFoundException bug (gallery preview
ownerId) fixed via drop-in DLL. Preview confirmed live by user. Runbook §B4 + NEXT_SESSION
updated with root cause + fix reference.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 19:49:59 +03:00
84c2d6e981 meta(handoff): MinIO-split B4 DONE — .NET catch-all админ Web.config endpoint → vds minio
Web.config 6/6 fileStorageClients endpoint minio.kzntsv.site → minio.vds.kzntsv.site
(AWSSDK 1.3.19, us-east-1, forcePathStyle). Pre-flip verify: MINIO_ROOT_USER ==
Web.config accessKey (reuse, no rotation); mc read galleries/assets/themes OK
(B1 mirror live). IIS auto-recycle; https://internal.snolla.com/admin/account/login
200 <title>SNOLLA</title>, login form renders (app boots clean). Asset Manager
preview (authenticated) — user-confirm pending. Backup: Web.config.b4.bak.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 19:33:28 +03:00
1be1ed9ded meta(handoff): B5 Obsidian Remotely Save endpoint DONE — verified flipped to vds minio
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 19:27:07 +03:00
94b0ae04ea meta(handoff): tandemmebel v3 cutover LIVE — тираж v3 завершён 6/6 GREEN
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 19:01:45 +03:00
fd48df6225 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>
2026-07-30 17:46:19 +03:00
c3c79b996a feat(labtools.pro): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
4-й сайт тиража v3 (on-snolla, kupimknigi, labtools.ru, labtools.pro — 4/6 GREEN).
Stack 19 image 0610432→a106622, env 8/8 preserved, mem_limit 512m.

Staging :5081 parity-gate GREEN: theme lato.css 200 9994B md5-identical
(v3 aws-sdk v3 S3-direct read из vds MinIO 2025), sitemap 7 детей == live,
order-parity press-forms 12 изделий, / 4-байт diff = og:url/og:image
request-host (benign). Live smoke GREEN, TLS CN=labtools.pro не тронут.
Rollback = labtools-pro:0610432 (0.42.1, жив в registry).

Compose source-of-truth + runbook v3 секция + handoff обновлены.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:36:36 +03:00
ff87bc5205 meta(handoff): next session pick = labtools.pro (user chose, not started)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:22:50 +03:00
387560c9f8 feat(labtools): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
3rd site of v3 тираж (after on-snolla + kupimknigi, 3/6 GREEN).
Bump 0dc0b4e: apps/web snolla→0.43.2 + resolutions (root). Endpoint fix
4f3314f (minio.vds.kzntsv.site) was in master but not in running v2 image
566d41c — v3 cutover also moved S3-direct read to vds minio.

Staging :5080 parity-gate GREEN (home/theme byte-identical, sitemap 38
locs == live, order-parity). Portainer PUT stack 17 env-preserving 8/8,
mem_limit 512m, prune:false pullImage:true. Live smoke GREEN, TLS untouched.
Rollback = 566d41c (v2, in registry).

Compose source-of-truth 566d41c→0dc0b4e. Runbook + handoff updated.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:19:26 +03:00
7795fa4dee meta(handoff): next session pick = labtools (user chose, not started)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:11:27 +03:00
60bb09b4c0 docs(kupimknigi): v3 cutover LIVE — runbook progress + handoff update
B3-v3 kupimknigi.spb.ru done (2/6 sites). 4 remain (labtools/labtools.pro/
emspb/tandemmebel). Rollback=9608ff6.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:10:00 +03:00
7dfd8dba7b meta(handoff): NEXT_SESSION — on-snolla v3 cutover LIVE (end-goal), 5 sites v3 TODO
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 14:34:46 +03:00
f56eb2f800 feat(on-snolla): v3 cutover LIVE — snolla 0.43.2 (aws-sdk v2→v3) + runbook migration
v3 pilot on.snolla.com end-goal (user 2026-07-30): bump @snollajs/snolla
0.42.1→0.43.2 + @smithy resolutions (root package.json, on.snolla.com eb8c143).
Portainer PUT stack 22 → registry.kzntsv.site/on-snolla:eb8c143, env-preserving
8/8, mem_limit 512m. Live smoke GREEN: theme asset 200 97324 B (v3 aws-sdk v3
S3-direct read из vds MinIO 2025), sitemap+sub-sitemaps byte-identical, /c 404.
Rollback = 07db7e3 (v2, жив).

runbook migration (дисциплина): scripts/minio-split-cutover/runbook.md →
.wiki/concepts/minio-split-cutover-runbook.md (конвенция: runbook'и в .wiki/concepts/).
Creds normalized → pass show minio-vds/full-env (wiki-конвенция, не plaintext).
+ index.md, log.md, on-snolla-vds-deploy-runbook v3-секция.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 14:30:38 +03:00
afb6e5f0d6 meta(handoff): fix stale tandemmebel "blocked" — it's LIVE on VDS since 2026-07-12 (cutover complete, image 8df10ee/0.42.1), candidate for B3 not blocked
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 13:26:36 +03:00
8cd1201046 meta(handoff): NEXT_SESSION — MinIO split B3 on-snolla pilot LIVE, 5 sites + Track A/B4/B5 TODO
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 13:24:24 +03:00
43aa674e5b wiki(stostayer): ingest markdown-render-404 incident postmortem + NEXT_SESSION
Постмортем инцидента 2026-07-24: 404/500 на body_repair_service (stostayer.ru) =
двойной корень. (1) код-баг snolla: viewModels/index.js `import markdown from
'markdown-it'; markdown();` — инстанс выброшен, markdown.render undefined, краш на
markdown-поле-шаблонах (латентный ~3 мес с коммита 1e3f897 2026-04-21). (2) упаковка
exact-pin-staleness: @snollajs/content-api@0.8.0 `workspace:*` запёк
@snollajs/snolla:0.7.4 exact → фиксовая 0.7.7 легла top-level, content-api юзал
nested баговую 0.7.4. yarn resolutions/patch не форсят exact-pin опубликованного
пакета — решено публикацией @snollajs/content-api@0.8.2 (^0.7.7).

Деплой stostayer-web:0.3.22 через pscp SSH:20435 + sudo docker load + Portainer PUT
pullImage:false (без push в docker.stostayer.ru:443, бана нет). 4 URL → 200 публично.
Pre-build чек yarn.lock single-snolla ловит класс. Cleanup
workspace-caret-interpackage-deps — за vitya+snolla.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-24 14:37:53 +03:00
23b1a47c14 wiki(stostayer): ingest stostayer-admin-minio-config — :8090 admin on stostayer MinIO
Fix 2026-07-22: local .NET admin (C:\sites\stostayer\Web.config) S3 providers
re-pointed to stostayer MinIO. 3 bugs in original config: wrong creds
(AKIAJ2YJP72W6ZHCRE6Q = books-vds root, not stayer_minio), wrong endpoint
(minio.stostayer.ru is not S3 API port; prod uses minio-api.stostayer.ru),
wrong region (local -> AmazonS3Exception expecting us-west-1). Creds NOT in
pass — live in stostayer.new config/default.json. Admin now shares prod
storage; manual App_Data mirroring retired.

+ index.md, log.md. Also carries pending handoff (NEXT_SESSION) + runbook
update from 2026-07-21 stostayer-web 0.3.20 deploy session.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-22 10:45:13 +03:00
95168e301a meta(handoff): NEXT_SESSION — RUVDS DECOMM 2026-07-21, rimiz DNS flipped, 0 public domains on RUVDS
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-21 10:18:52 +03:00
vitya
50e263860d ops(on-snolla): rename site alias on->internal (admin at internal.snolla.com/admin)
- Sites.Alias+LoweredAlias on->internal (siteId B9ECDB50; PrimaryDomain on.snolla.com kept).
- Web.config primaryAlias on->internal (catch-all default-site; without it the whole
  catch-all NRE-500s on every request — primaryAlias references the renamed alias).
- hosts: on.snolla.com->internal.snolla.com under # snolla-local-admin marker.
- setup-local-snolla-admin.ps1 aliases array updated.
- runbook + NEXT_SESSION + memory updated.

VDS prod on.snolla.com unaffected (snolla-app uses config.siteId, not alias) — verified
byte-identical + smoke GREEN after rename. Incident: elevated hosts edit emptied hosts
to 0B (Get-Content -Raw returned null in RunAs context) — restored from Windows default
header + snolla-local-admin block. Memory snolla-catch-all-primaryalias-depends-on-alias.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 13:33:09 +03:00
vitya
bec7784ffa meta(handoff): write NEXT_SESSION — Task B (on-snolla) CUTOVER DONE 2026-07-20
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 13:18:47 +03:00
019f5bae26 meta(tasks): close [on-snolla-vds-migration] in OpeItcLoc03/admin 2026-07-20 10:17:10 +00:00
73ad7669b4 meta(tasks): close [vehicles-loader-redeploy-per-group-rate-diff] in OpeItcLoc03/admin 2026-07-20 08:00:55 +00:00
dcc84cec4b meta(handoff): lock Task B decisions — repo victor/on.snolla.com, admin creds in DB
Task B deferred to next session. Operator decisions locked:
- repo = victor/on.snolla.com
- admin creds in MoreThenCms.dbo.Accounts (read via snolla user / SA)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 10:31:08 +03:00
863b11be28 meta(handoff): write NEXT_SESSION — Task A DONE, Task B unblocked
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 10:11:19 +03:00
c196964d03 feat(snolla-local-admin): RESTORE DONE — local .NET admin live (6 /admin URLs)
Task A complete. Local catch-all IIS site `snolla` restored from RUVDS:
- Selective tar-copy ~100MB (excluded stale App_Data assets/galleries/themes
  8.76GB — now in MinIO), NOT the full 8.66GB.
- Web.config already pointed at mssql.kzntsv.site MoreThenCms (user snolla)
  + MinIO S3 drop-in with real keys (placeholder_count=0) — repoint not needed.
- Elevated setup script (ASCII-only, PS5.1 BOM-less-safe):
  scripts/local-snolla-admin-restore/setup-local-snolla-admin.ps1
- AppPool snolla (.NET v4.0, AppPoolIdentity, recycle@200MB), IIS site *:80,
  ACL, hosts-override (6 aliases -> 127.0.0.1), FW block inbound 80.
- Smoke GREEN: tandemmebel/labtools/labtoolspro/emspb/kupimknigi/on
  .snolla.com/admin/account/login -> 200, real MoreThenCms login form.

Unblocks Task B (on-snolla-vds-migration). MinIO upload-acceptance = manual
operator follow-up. Records: .tasks/snolla-local-admin-restore.md + STATUS.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 10:10:44 +03:00
d4278e79f9 meta(handoff): write NEXT_SESSION — snolla local admin + on-snolla design
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-20 09:45:32 +03:00
b1b0092cdc 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>
2026-07-20 09:45:06 +03:00
3e8c580b13 meta(tasks): close [de-vds-3xui-setup] in OpeItcLoc03/admin 2026-07-14 11:57:07 +00:00