6.3 KiB
6.3 KiB
_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 — когда выключаем
elasticsearchcontainer на windows host + удаляем traefik labelelasticold.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 middlewareelasticsearch-auth, userbooks. 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(keyelasticsearch.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
_reindexfrom 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
_searchtotalcapped по умолчанию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 ... StartedAtchange. - Учить:
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.