Files
admin/.tasks/NEXT_SESSION.md

6.3 KiB
Raw Blame History

_last_updated_, session_id
_last_updated_ session_id
2026-05-25T11:30:00+03:00 2026-05-25-es-windows-to-books-vds

Next session handoff

Recent commits

  • tasks(migrate-elasticsearch-to-books-vds): 🟢 closed — 3 indices Windows→books VDS (3246dabb) — session close.
  • tasks(NEXT_SESSION): finalize handoff at session close (97757b89) — prev session close.
  • tasks(books-vds-stacks-to-portainer): close 🟢 — 6 stacks migrated SSH-compose → Portainer (86c44c3d)
  • scripts(books-vds-portainer-migration): Phase 1 adapter ready (141efe97)
  • tasks(books-vds-stacks-to-portainer): Phase 0 probe complete, +imgproxy scope (bfb942cd)

Open треки

Трек Готовность Entry-point
stateful-split-volume-copy not started; lean playbook готов, fits real books VDS (89.253.255.133) .tasks/stateful-split-volume-copy.md
iis-migration-to-ruvds 🟡 soak (kupimknigi + emspb DNS flipped 2026-05-24, 22 pending DNS swaps) .tasks/iis-migration-to-ruvds.md
infra-inventory ready, не начат — books VDS factsheet ещё свежее после ES migration, готов к ingest в admin-detailed runbook .tasks/infra-inventory.md
books-bookva-user-whitelist-gathering ready, long-lead gathering (email-based) .tasks/books-bookva-user-whitelist-gathering.md
books-vds-bookva-bootstrap 🔵 blocked on tenant-split Phase 4 .tasks/books-vds-bookva-bootstrap.md
books-dns-cutover-bookva 🔵 blocked on books-vds-bookva-bootstrap .tasks/books-dns-cutover-bookva.md
books-stateful-split-execution 🔵 blocked on dev-prep + per-tenant-backup-and-observability в victor/books .tasks/STATUS.md

Спроси user'а

  • Decommission Windows ES — когда выключаем elasticsearch container на windows host + удаляем traefik label elasticold.kzntsv.site? Source оставлен running per request, но это transient: live load теперь = 0 hits (verified 5 min post-cutover), кэш на windows host практический balast. Trigger момент — на user'е.
  • Rollback retention.bak-pre-es-migration-2026-05-25 файлы в /opt/books/{api,task-runner,job-scheduler}/config/ стоит держать до decommission момента или дольше?
  • kreknin snapshot pre-migration-2026-05-25 (только read_me, 4.8kb) — оставить до retention rotation или явно удалить как «полезность нулевая»?
  • Какую таску брать следующей? Хорошие кандидаты: infra-inventory (books VDS теперь fully documented + ES populated — момент удачный), iis-migration-to-ruvds (DNS TTL для 22 hostnames), stateful-split-volume-copy (lean playbook готов).

Не делать (preemptive guards)

  • Не выключать Windows ES (docker stop elasticsearch на windows host) без user'ского явного решения — это decommission step, отдельная задача.
  • Не редактировать /opt/books/<svc>/config/default.json напрямую без cp <file>.bak-<date> перед — bind-mounted, change live для приложения; восстановление только через .bak копии.
  • Не удалять reindex.remote.whitelist из target ES env в Portainer stack 33 — harmless idle, может пригодиться для будущих re-imports.
  • Не push без grant — auto-push grant был session-only (Rule 4). Next session start = ask-mode again.
  • Не migrate traefik / portainer на books VDS — management plane, recreate ломает access.
  • Не trust https://elasticsearch.kzntsv.site/ без basicAuth — endpoint behind traefik middleware elasticsearch-auth, user books. Pwd живёт в /opt/books/api/config/default.json (не в pass entry yet).

Memory updates за сессию

  • Учить: pass show books-vds/full-env НЕ содержит ES basicAuth pwd. Pwd живёт в самих consumer configs /opt/books/<svc>/config/default.json (key elasticsearch.auth.password). Source basicAuth hash = target basicAuth hash → один password покрывает оба endpoint'а.
  • Учить: path.repo + reindex.remote.whitelist — это static ES settings, требуют env vars + container restart. НЕ показываются в _cluster/settings?include_defaults=true (только dynamic settings). Verify через docker inspect <container> --format '{{range .Config.Env}}{{println .}}{{end}}'.
  • Учить: ES _reindex from remote НЕ поддерживает slices (manual или auto). Single-threaded scroll → bulk. Для 700mb / 820k docs over public network — ~5 мин. Для 105k docs products (мелкие 549 bytes/doc) — ~25 мин (per-doc HTTP overhead). artmone 2621 docs — 25s (sync).
  • Учить: ES _search total capped по умолчанию track_total_hits=10000 в 7.x. Для accurate count — ?track_total_hits=true или просто /<index>/_count.
  • Учить: Portainer-managed stack env update через PUT /api/stacks/<id>?endpointId=1 с body {stackFileContent, env, prune, pullImage}. Recreate происходит автоматически. Verify по docker inspect ... StartedAt change.
  • Учить: python3 НЕ работает в git-bash на windows (запускает Windows Store launcher → exit 49, печатает "Python"). python — works (PATH'е есть Python 3.13). При heredoc + 2>&1 всё иногда падает silently — лучше прямой python -c "..." или python <<'PY'.
  • Учить: Windows PS Invoke-WebRequest НЕ имеет -SkipCertificateCheck в 5.1. PS 7 имеет. На этой машине — PS 5.1, поэтому для self-signed/auth checks использовать curl через bash.
  • Reference: task chronology — .tasks/migrate-elasticsearch-to-books-vds § Closure note (rollback recipe + decommission notes).
  • Reference: books VDS entity wiki .wiki/entities/books-vds обновлён 2026-05-25 — stack 33 теперь reflects env additions + ES indices populated note в Making-of-history.