Files
admin/.tasks/bookva-es-snapshot-repo.md
vitya aeb82a6a70 feat(books-backup): cover bookva-* tenant (db/mongo/minio)
bookva tenant (bookva-db/mongo/es/minio) поднят 26.05 при cutover-prep, а
books-vds backup написан 25.05 — до bookva. Покрытие не расширили; gap висел
wiki-follow-up #2 ~2.5 недели. Тот же класс, что MSSQL: новый stateful, бэкап
отстал, повешен как заметка.

Добавлено в scripts/books-vds-backup-daily-kreknin/run.sh (deploy == repo,
бэкап .bak-pre-bookva):
- bookva-db: mariadb-dump (тот же BOOKS_DB_ROOT_PASSWORD, стек клонирован)
- bookva-mongo: mongodump --archive (no-auth)
- bookva-minio: raw rsync named volume bookva-minio-data (immutable objects)

Каждая команда протестирована изолированно ДО внесения в скрипт. Verified
зелёным прогоном: BOOKS-VDS backup OK 10m42s, артефакты на kreknin
(bookva-mariadb 257M, bookva-mongo 3.2M, bookva-minio 1.4G).

bookva-es отложен (path.repo не сконфигурирован, нужен ES restart через
Portainer) -> .tasks/bookva-es-snapshot-repo.md. Покрыт по факту: индексы
epz/products идентичны slovo ES, который снапшотится.

- .wiki/entities/books-vds.md: Backup-секция + follow-up #2 частично закрыт
- .wiki/concepts/backup-inventory-2026-06.md: bookva row -> done
- .tasks/bookva-es-snapshot-repo.md: backlog для ES-снапшота

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 11:01:05 +03:00

2.1 KiB
Raw Blame History

bookva-es-snapshot-repo — отдельный ES-снапшот для bookva tenant

Status: backlog — заведена 2026-06-12 при добавлении bookva в backup. Priority: низкий (данные покрыты по факту — см. ниже).

Контекст

bookva-es (отдельный ES 7.10 контейнер на ../.wiki/entities/books-vds) не снапшотится: path.repo не сконфигурирован → REST _snapshot PUT невозможен (repos={}). bookva-db/mongo/minio уже в daily-бэкапе с 2026-06-12, bookva-es — нет.

Почему не горит: индексы bookva-es (epz 820604, products 105922) идентичны slovo ES (те же counts), который снапшотится daily в repo kreknin. То есть данные de-facto есть в бэкапе через slovo-снапшот. Плюс ES — derivative index, реконструируем reindex'ом из БД. Это покрытие-по-проксе, не source-of-truth дыра.

Что сделать (когда дойдут руки)

  1. Через Portainer (portainer.kzntsv.site, books-vds management plane — НЕ ssh+compose) отредактировать stack bookva-es:
    • добавить bind-mount под snapshot repo (напр. /usr/docker/bookva-es/snapshots:/snapshots),
    • добавить env path.repo=/snapshots,
    • recreate (ES restart ~30 сек).
  2. Зарегистрировать repo: curl -X PUT localhost:9200/_snapshot/kreknin -d '{"type":"fs","settings":{"location":"/snapshots"}}'.
  3. В /opt/stacks/backup/run.sh (и репо-копию) добавить второй ES-snapshot блок для bookva-es + rsync bookva-es/snapshots.
  4. Прогнать вручную, проверить green + артефакт на kreknin.

Decisions log

  • 2026-06-12 — заведена. bookva db/mongo/minio добавлены в backup в эту сессию; es отложен (нужен disruptive ES restart через Portainer, данные покрыты slovo-снапшотом). См. commit с bookva-backup.