Files
admin/.tasks/NEXT_SESSION.md

62 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
_last_updated_: 2026-07-30T10:25:00Z
session_id: 2026-07-30-minio-split-on-snolla-pilot
prev_session_id: 2026-07-24-stostayer-markdown-render-fix
---
# Next session handoff
## Эта сессия — MinIO split, Track B3 пилот on-snolla S3-direct-path. ЗАВЕРШЁН ✅
Пилот on-snolla: in-place image bump боевого стека 22 под MinIO split (CMS-медиа → vds minio).
Подтвердил главный риск runbook'а — aws-sdk v2 vs MinIO 2025 — **работает без @smithy pin**.
### Что сделано
- **Build на VDS** образа `registry.kzntsv.site/on-snolla:07db7e3` (digest 9d757d97) из `victor/on.snolla.com@07db7e3`
(config endpoint `minio.kzntsv.site → minio.vds.kzntsv.site`, snolla 0.42.1 v2, **без бампа package.json**
user-решение: сплит без snolla version bump). Push в registry OK (build-warning VERDACCIO_TOKEN в ARG — известный follow-up, не блокер).
- **Throwaway-staging :5077** из env живого контейнера (8 секретов). robots/home/sitemap 200.
- **S3-direct gate (главный):** theme asset `/themes/c406…/bootstrap.min.css` на staging → **200, 97324 B == live-public**
(aws-sdk v2 → vds minio 2025 — compat подтверждена, нет SignatureDoesNotMatch/403).
- **Sitemap parity** staging==live 3/3 IDENTICAL (`/`, `/c`, `/yandex_…`); `/c`→404 parity с продом.
- **Portainer PUT стека 22** env-preserving (8/8), `prune:false, pullImage:true` → 200. Node-скрипт in-memory
(GET+PUT, без temp-файлов — curl `/tmp/` vs node `/tmp/` расходятся на Windows). Container 07db7e3 healthy, mem_limit 512m preserved.
- **Live-smoke** `https://on.snolla.com`: theme asset 200 97324 B, `/`,`/robots`,`/sitemap`,`/yandex` 200, `/c` 404 parity.
TLS cert не тронут (LE YR1, CN=on.snolla.com, до Oct 18). Логи: `Server Listening`, aws-sdk v2 EOL warning (ожидаемо), нет крашей.
- **Закрытие:** compose source-of-truth `host-stacks/vds-kzntsv/on-snolla.compose.yml` обновлён (тег 07db7e3 + endpoint + rollback-коммент);
`scripts/minio-split-cutover/runbook.md` (новый) — Track B progress-таблица; commit `443713e8`.
- **Memory:** NEW `aws-sdk-v2-minio-2025-works-no-smithy-pin.md`@smithy SigV4 regression = v3-only, v2 идёт без пина.
### План отката
PUT стека 22 назад на тег `473923e494db` (rollback-тег в registry, pred endpoint `minio.kzntsv.site`/books-vds, миррор там жив).
RUVDS DECOMM 2026-07-21 — rollback только образ-тегом.
## Recent commits (этот репо, .admin)
- `443713e8` feat(on-snolla): MinIO split S3-direct-path cutover — stack 22 bump 473923e494db->07db7e3
- `71dee93e` @wiki: alias pilonuxt -> pilorama98.ru in prose
- `5a93ac78` wiki(snolla): ingest local admin HTTPS binding
## Open треки
| Трек | Готовность | Entry-point |
|---|---|---|
| **MinIO split B3 — остальные 5 сайтов** | ⏳ TODO — пилот on-snolla GREEN, паттерн отработан | `scripts/minio-split-cutover/runbook.md` §B3 + progress-таблица |
| MinIO split Track A (books-vds minio 2020→2025) | ⏳ TODO — transparent, отдельно | runbook.md §Track A |
| MinIO split B4 .NET catch-all админ s3 endpoint | ⏳ TODO — `C:\sites\snolla\Web.config` serviceURL → minio.vds.kzntsv.site | runbook.md §B4 |
| MinIO split B5 Obsidian Remotely Save endpoint | ⏳ TODO — obsidian бакет смиррорен (B1), можно менять endpoint | runbook.md §B5; memory `obsidian-remotely-save-endpoint-after-mirror` |
| books-task-runner-registry-auth-cred | 🔵 blocked — cred в config-volume, но рабочий образ содержит СТАРЫЙ registryGc; тега master-a3734d5 в реестре нет | `.tasks/STATUS.md` §books-task-runner |
## Спроси user'а
- Какой следующий сайт из 5 бампить (kupimknigi/labtools/labtools.pro/emspb/tandemmebel)? Все 5 уже live на VDS — кандидаты на тот же config-endpoint bump.
- snolla-евый v3-трек (0.43.1/0.7.8/0.17.2 для stostayer) — HOLD, отдельная история; НЕ подхватывать без GO user (snolla ждёт).
## Не делать (preemptive guards)
- **НЕ бампить snolla-пакеты** на 6 CMS-сайтах — user решил сплит через config-endpoint только, сайты на 0.42.1 v2. snolla v3-трек — HOLD (stostayer-scope).
- **НЕ пушить образы в `docker.stostayer.ru:443`** с нашего VPN-egress — бан-гочи (см. [[stostayer-push-ban-single-large-push]]). Registry = `registry.kzntsv.site` (vds), build на VDS — ок.
- **НЕ лезть в прод-БД** stostayer (MSSQL/MariaDB) — vitya остановил. Диагностика через логи контейнера + исходники.
- **Portainer PUT: НЕ через PS Invoke-RestMethod** (корраптит кириллицу в compose). Node-скрипт in-memory (GET+PUT), НЕ встраивать JSON-payload в double-quoted `bash -c`. API-key работает для stack PUT (200) — JWT не нужен (JWT только для stack CREATE).
- **curl `/tmp/` vs node `/tmp/` расходятся на Windows** (MSYS vs Win-путь) — НЕ писать temp-файлы через curl `-o /tmp/` и читать из node. In-memory в одном node-скрипте.
- **После stack GET** (возвращает env-values с секретами) — вычищать temp-файлы. In-memory скрипт = нет утечки.
## Memory updates за сессию
- NEW `aws-sdk-v2-minio-2025-works-no-smithy-pin.md` — v2 vs MinIO 2025 работает без пина; @smithy regression v3-only; 5 сайтов = config-endpoint bump.
- MEMORY.md index обновлён.