tasks: ops-mcp-multi-tenant activated same session

Stack 26 (books-ops-mcp) PUT с pullImage:true + добавлен BOOKVA_MARIADB_PASSWORD
env (= MARIADB_PASSWORD, bookva-db ops_ro password identical после cp-a).
Container books-ops-mcp@master-f5f295b running.

Smoke:
- ops.mariadb.query tenant=slovo → АФО2/Главная26/НК11 (slovo warehouses)
- ops.mariadb.query tenant=bookva → Главная26/Ира/НК11 (bookva warehouses)
  (Ира появилась в bookva post-cutover, нет в slovo — данные genuinely разные)
- ops.mongo.count tenant=bookva collection=agendaJobs → 2818

Один host-level ops-mcp видит обе tenant DBs через per-tenant pool maps.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-26 18:40:33 +03:00
parent 12c7dc5ab9
commit 8238ef46a8
2 changed files with 3 additions and 1 deletions

View File

@@ -37,7 +37,7 @@ session_id: 2026-05-26-bookva-tenant-deep-debug
| Трек | Готовность | Entry-point |
|---|---|---|
| **`ops-mcp-multi-tenant-stack-activate`** ⚪ NEW micro-task — image `books-ops-mcp:master` уже rebuilt (master-1da3093) с multi-tenant code + VDS host config `/opt/books/books-ops-mcp/config/default.json` уже на новой schema. **TODO:** PUT Portainer stack 26 с pullImage:true + добавить `BOOKVA_MARIADB_PASSWORD` env (same value as `MARIADB_PASSWORD` — bookva-db = cp -a of books-db, ops_ro password identical). Compose `.admin/host-stacks/books-vds/ops-mcp.compose.yml` уже declared в этом session'е. | TBD `.tasks/ops-mcp-multi-tenant-stack-activate.md` (или inline в session) |
| ~~`ops-mcp-multi-tenant-stack-activate`~~**DONE same session** stack 26 PUT с pullImage:true + `BOOKVA_MARIADB_PASSWORD` env. Container `books-ops-mcp@master-f5f295b` running. Smoke: `ops.mariadb.query tenant=slovo`АФО2/Главная26/НК11 (slovo data); `tenant=bookva` → Главная26/Ира/НК11 (bookva data); `ops.mongo.count tenant=bookva collection=agendaJobs` → 2818. | n/a |
| `books-api-shutdown` (ранее заведённая micro-task) | 24-48h soak with bookva LIVE — нужно проверить если still applicable (books-api всё ещё нужен для slovo на bookva.kzntsv.site fallback пути?). | TBD |
| `bookva-ozon-mcp-image-build` | image отсутствует в registry, bookva-ozon-mcp stack не создан. Если service не используется — skip навсегда. | TBD |
| `bookva-mongo-cleanup` ⚪ (user-deferred) | 2817 agendaJobs в bookva-mongo from cp-a — user сказал «8 не трогай не стирай». Когда будет готов rotate — отдельная таска. | TBD |

View File

@@ -1,4 +1,6 @@
# Admin Task Board
_Updated: 2026-05-27 (ночь, после re-open) — ops-mcp multi-tenant **activated** (stack 26 PUT + BOOKVA_MARIADB_PASSWORD env). Smoke verified: slovo/bookva DB queries возвращают tenant-specific data (АФО2 vs Ира warehouses), bookva agendaJobs count=2818. Один host-level books-ops-mcp видит обе tenant DBs._
_Updated: 2026-05-27 (ночь) — bookva-tenant deep-debug session. 6 багов одной природы (incomplete cutover-prep): (1) bookva-web без config volume → slovo DB leak; (2) bookva-{api,scheduler,task-runner} mount path /app→/usr/src/app; (3) NITRO/NUXT env не reference'или в compose; (4) bookva-scheduler без RECONCILER_ENABLED → dry-run handlers; (5) bookva-scheduler без healthcheck → CI timeout; (6) deploy.yml svc=job-scheduler vs secret=SCHEDULER mismatch. + composite agendaJobId display fix + books-web config mount (slovo also missed) + jobs.post.js agenda.db.collection→MongoClient. Ingested wiki concept tenant-overlay-config-volume-mount-path-pitfall (shared). ops-mcp multi-tenant код в image готов но stack 26 ещё не пере-PUT'нут (next session)._
_Updated: 2026-05-26 (поздний вечер) — `books-ops-mcp-host-promote` 🟢 **closed** в ту же сессию следом за заведением. Stack 26 (books-ops-mcp) in-place PUT в host-level compose без container churn. Stack 43 (bookva-ops-mcp) deleted. 2 Gitea secrets revoked. `victor/books ae3ab14` + `victor/bookva-overlay 50f5bbb` + `.admin` host-stacks/books-vds/ops-mcp.compose.yml. ops-mcp теперь management-plane (manual Portainer)._