tasks(vehicles-loader-progress-deploy): 0.4.0 deployed, verify pending 06:21
Build здесь → push docker.stostayer.ru/vehicles-loader:0.4.0 → на хосте клиента pull + re-tag :latest=0.4.0 (0.3.0 retained для rollback). Acceptance #1 закрыт. Verify journalctl ждёт natural-прогона Sun 2026-05-31 06:21 MSK (user выбрал natural-окно, без baseline-reset). Open Q #1 снят: a74ef73 уже в origin/master. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
# Admin Task Board
|
||||
_Updated: 2026-05-30 — 🟡 `vehicles-loader-progress-deploy`: деплой 0.4.0 ВЫПОЛНЕН (build здесь → push `docker.stostayer.ru` → host pull + re-tag `:latest`=0.4.0, 0.3.0 retained). Acceptance #1 ✅. Verify-окно = natural (user-выбор, не форсим baseline → клиент без внепланового email). timer next trigger Sun 2026-05-31 06:21 MSK → live-verify journalctl в след. сессию. Open Q #1 (push кода) снят: `a74ef73` уже в origin/master._
|
||||
_Updated: 2026-05-30 — заведена ⚪ `vehicles-loader-progress-deploy` (handoff из stostayer.new). Progress-logging 0.4.0 зашипан в коде (stostayer.new `a74ef73`, 24/24 теста); ops-follow-up — rebuild образа той же схемой (build здесь → push `docker.stostayer.ru` → host pull+re-tag) и снять `journalctl` с боевого прогона (закрывает не-верифицированный 5-й критерий «journalctl показывает движение»). Попутно добивает остаток email-SEND из `vehicles-loader-image-distribution`._
|
||||
_Updated: 2026-05-29 — 🟢 `vehicles-loader-image-distribution` **closed**: канал поставки = собственный registry клиента `docker.stostayer.ru`, build у нас (verdaccio-депы запекаются → клиенту verdaccio не нужен), без Portainer (oneshot + systemd-timer). Доки финализированы (stostayer.new `e55cfba`). Открытие `pass stostayer/client` показало свою инфру клиента (Portainer+registry) → развилка A/B пересмотрена. Фактический prod-деплой — follow-up, ждёт grant'а._
|
||||
_Updated: 2026-05-29 — **РЕЦИДИВ того же инцидента, диагноз сменён.** Вчерашняя гипотеза «оператор в cutover» **опровергнута**. Истинная причина: ES публиковал `0.0.0.0:9200` мимо traefik (free-ES без auth) → **ransom-бот** удалял индексы by-name (мимо Control #1), оставлял `read_me` с BTC-выкупом. accessLog (Control #2) пуст — бот шёл прямо в порт. **Control #3 (fix):** убрана публикация host-порта (Portainer PUT stack 33) → дыра закрыта; `epz/products/artmone` restore из `daily-2026-05-25`. Второй, отдельный баг: epz-поиск падал у ОБОИХ тенантов — `config.get("tenant")` (node-config) не задан ни в `default.json`, ни в env-маппинге, `TENANT` env был мёртвым грузом → добавил `tenant` в overlay `default.json` (slovo/bookva), резолвится, ошибки прекратились (products работал — другой код-путь). accessLog откатан (сторожил не ту дверь). Exposure-audit → ⚪ `harden-books-vds-exposed-ports`. См. `.wiki/concepts/es-destructive-delete-incident-2026-05-26.md` § «Рецидив 2026-05-29»._
|
||||
@@ -23,11 +24,11 @@ _Updated: 2026-05-26 — заведена `bookva-tenant-cutover-prep` ⚪ (7-st
|
||||
|
||||
_Updated: 2026-05-25 (`iis-migration-to-ruvds` 🟢 closed Phase 1 per user decision — 9/24 hostnames live на RUVDS, source IIS оставлен running. `migrate-elasticsearch-to-books-vds` 🟢 closed ранее сегодня. 16 IIS hostnames + LE renewal pipeline + decommission — descoped в Closure note, не отдельные tracker tasks.)_
|
||||
|
||||
## ⚪ [vehicles-loader-progress-deploy] — задеплоить vehicles-loader **0.4.0** (прогресс-логирование) на прод клиента + live-verify journalctl. Handoff из stostayer.new (код-таска `vehicles-loader-progress-logging` 🟢 closed by-inspection, commit `a74ef73`). См. [vehicles-loader-progress-deploy.md](vehicles-loader-progress-deploy.md).
|
||||
## 🟡 [vehicles-loader-progress-deploy] — задеплоить vehicles-loader **0.4.0** (прогресс-логирование) на прод клиента + live-verify journalctl. Handoff из stostayer.new (код-таска `vehicles-loader-progress-logging` 🟢 closed by-inspection, commit `a74ef73`). См. [vehicles-loader-progress-deploy.md](vehicles-loader-progress-deploy.md).
|
||||
|
||||
**Status:** ready
|
||||
**Where I stopped:** (not started) — код 0.4.0 на master stostayer.new (НЕ запушен, Rule 4); образ 0.3.0 на проде, нужен rebuild.
|
||||
**Next action:** build здесь → push `docker.stostayer.ru/vehicles-loader:0.4.0` → host pull + re-tag `:latest` → дождаться/прогнать sync на changed-выгрузке → `journalctl -u vehicles-loader.service` показывает фазы+батчи+delete-sweep.
|
||||
**Status:** paused — деплой выполнен, ждём боевого прогона для verify
|
||||
**Where I stopped:** 0.4.0 собран здесь + запушен в `docker.stostayer.ru` + на хосте pull+re-tag `:latest`=0.4.0 (0.3.0 retained). Acceptance #1 ✅. Verify-окно = natural (user). timer next trigger Sun 2026-05-31 06:21:36 MSK.
|
||||
**Next action (след. сессия после 06:21 MSK 31.05):** `ssh victor@new.stostayer.ru:20435` → `sudo journalctl -u vehicles-loader.service --since '2026-05-31 06:00'` — убедиться что видно ▶/батч-прогресс/✓/delete-sweep (не тишина), importRun новый `ok`-ряд, email ушёл → закрыть 🟢.
|
||||
**Blocker (soft):** push stostayer.new master ИЛИ build из локального дерева (commit `a74ef73` пока локальный).
|
||||
**Branch:** n/a
|
||||
<!-- created-by: vitya@stostayer.new-session / 2026-05-30 / handoff: stostayer.new/.tasks/vehicles-loader-progress-logging.md -->
|
||||
|
||||
@@ -24,17 +24,20 @@ pull + re-tag), затем дождаться/прогнать sync и снят
|
||||
|
||||
## Pending ops actions
|
||||
|
||||
- [ ] **Build & push** на dev-машине из корня `stostayer.new` (та же схема, что 0.3.0,
|
||||
см. `vehicles-loader-image-distribution` closed-блок):
|
||||
`docker build -f packages/vehicles-loader/Dockerfile -t docker.stostayer.ru/vehicles-loader:0.4.0 .`
|
||||
`docker push docker.stostayer.ru/vehicles-loader:0.4.0`
|
||||
(verdaccio-депы запекаются при build здесь — клиенту verdaccio не нужен.)
|
||||
- [ ] **На хосте клиента:** `docker pull docker.stostayer.ru/vehicles-loader:0.4.0` +
|
||||
re-tag `:latest` (systemd-юнит запускает `:latest`).
|
||||
- [ ] Дождаться планового прогона (systemd timer 06:20 MSK) **или** прогнать вручную
|
||||
`systemctl start vehicles-loader.service` на changed-выгрузке (на unchanged будет
|
||||
`skipped-unchanged`, прогресса не будет — нужен изменённый zip или сброс baseline).
|
||||
- [ ] **Live-verify:** `journalctl -u vehicles-loader.service -f` (или `--since`) — видны
|
||||
- [x] **Build & push** на dev-машине из корня `stostayer.new` (2026-05-30): образ
|
||||
`docker.stostayer.ru/vehicles-loader:0.4.0` собран (811MB, digest
|
||||
`sha256:f2e10b1f090ba47f9b5de83b84f91c5ce827ecaf1e94bc0331f2d6773f85845a`),
|
||||
`docker login` BA-кредами → `docker push` (общие слои с 0.3.0, докинуты только app-слои).
|
||||
verdaccio-депы из `.yarn/cache` запеклись при build.
|
||||
- [x] **На хосте клиента** (ssh `victor@new.stostayer.ru:20435`, docker через `sudo -S`):
|
||||
`docker pull …:0.4.0` (digest совпал) + `docker tag …:0.4.0 vehicles-loader:latest`.
|
||||
`:latest` теперь `0f8a4dd46236` = 0.4.0; 0.3.0 (`5407c0563e44`) оставлен под rollback.
|
||||
- [ ] Дождаться планового прогона — **systemd timer next trigger `Sun 2026-05-31 06:21:36 MSK`**
|
||||
(timer `enabled`, `active (waiting)`). Verify-окно выбрано user'ом = natural 06:20
|
||||
(не форсим baseline-reset — клиент не получает внепланового email). На unchanged будет
|
||||
`skipped-unchanged`; 1С перезапишет файл в 6:00 → 06:21 прогон на changed-выгрузке.
|
||||
- [ ] **Live-verify (СЛЕДУЮЩАЯ СЕССИЯ после 06:21 MSK 31.05):**
|
||||
`journalctl -u vehicles-loader.service --since '2026-05-31 06:00'` — видны
|
||||
`▶ … start`, периодический батч-прогресс, `✓ … done`, per-model delete-sweep.
|
||||
|
||||
## Acceptance criteria
|
||||
@@ -48,16 +51,21 @@ pull + re-tag), затем дождаться/прогнать sync и снят
|
||||
|
||||
## Decisions log
|
||||
|
||||
- 2026-05-30: **build+push+host-deploy выполнены.** Образ 0.4.0 собран здесь, запушен в
|
||||
`docker.stostayer.ru`, на хосте pull + re-tag `:latest` → 0.4.0. 0.3.0 retained для rollback.
|
||||
- 2026-05-30: open question #1 (push кода) снят — `a74ef73` оказался **уже в origin/master**
|
||||
(`git branch -r --contains a74ef73` → origin/master), дерево чистое. Билдил из чистого дерева,
|
||||
Rule-4-вопроса нет.
|
||||
- 2026-05-30: open question #2 (verify-окно) решён user'ом = **ждём natural 06:20** (Sun 31.05),
|
||||
НЕ форсим baseline-reset. Причина: форс = внеплановое email-письмо клиенту + спурьёзный
|
||||
ре-импорт; natural-прогон и так = боевой acceptance. Trade-off: verify unattended, в след. сессии.
|
||||
- 2026-05-30: заведено из `stostayer.new` session по явному указанию (закрыть код-таску
|
||||
by-inspection, live-verify вынести в .admin как deploy-follow-up). Push кода НЕ сделан
|
||||
(Rule 4) — деплою предшествует push master или build из локального дерева.
|
||||
by-inspection, live-verify вынести в .admin как deploy-follow-up).
|
||||
|
||||
## Open questions
|
||||
|
||||
- [ ] Push `stostayer.new` master нужен до build, или билдим из локального рабочего дерева?
|
||||
(commit `a74ef73` пока только локально.)
|
||||
- [ ] Где взять changed-выгрузку для немедленной проверки, или ждём естественного изменения
|
||||
`units.json` к ближайшему 06:20?
|
||||
- [x] ~~Push `stostayer.new` master нужен до build?~~ — нет, `a74ef73` уже в origin/master.
|
||||
- [x] ~~Где взять changed-выгрузку?~~ — ждём natural 06:21 Sun 31.05 (1С перезапишет файл в 6:00).
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user