--- _last_updated_: 2026-05-30T15:00:00+03:00 session_id: 2026-05-30-vehicles-loader-0.4.0-deploy --- # Next session handoff _Сессия: деплой `vehicles-loader 0.4.0` (progress-logging) на прод СТО Стайер. Build здесь → push в `docker.stostayer.ru` → на хосте клиента pull + re-tag `:latest`=0.4.0. **Деплой выполнен, осталась только live-verify** на боевом прогоне таймера — он по природе требует changed-выгрузки, а сегодняшняя уже импортнута на 0.3.0. User выбрал ждать natural 06:20 (не форсить baseline)._ ## ГЛАВНОЕ для след. сессии — live-verify (после 06:21 MSK Sun 2026-05-31) Таймер `vehicles-loader.timer` next trigger = **Sun 2026-05-31 06:21:36 MSK**. После него: ``` plink -ssh -P 20435 -batch victor@new.stostayer.ru -pw '' \ "echo '' | sudo -S journalctl -u vehicles-loader.service --since '2026-05-31 06:00' --no-pager" ``` (docker/journalctl на хосте — через `sudo -S`, victor не в docker/adm-группе; `-batch` чтобы plink не висел на host-key промпте — ключ уже закэширован.) **Acceptance to confirm (закрывает таску 🟢):** - В логе видно движение: `▶ — start`, периодический батч-прогресс (`manufacturers: 18/183 …`), `✓ — done: N rows`, per-model `delete-sweep`. **НЕ тишина** после трёх `Total …`. - Прогон шёл на 0.4.0 (не skipped-unchanged) — т.е. 1С перезаписала файл в 6:00 и checksum разошёлся. - `importRun` новый `ok`-ряд (MariaDB `stostayer`, creds `pass stostayer/client`). - Email-отчёт ушёл (попутно закрывает остаток email-SEND из `vehicles-loader-image-distribution`). Если прогон оказался `skipped-unchanged` (1С не обновила файл) → подождать след. суток ИЛИ обсудить с user форс baseline-reset. ## Recent commits - `b8a07fee` tasks(vehicles-loader-progress-deploy): 0.4.0 deployed, verify pending 06:21 - `7ec62009` tasks(vehicles-loader-progress-deploy): new task — deploy 0.4.0 + live-verify ## Состояние деплоя (что уже сделано) - Образ `docker.stostayer.ru/vehicles-loader:0.4.0` собран здесь (811MB, digest `f2e10b1f0…`), запушен. - На хосте: `vehicles-loader:latest` → `0f8a4dd46236` = 0.4.0; `0.3.0` (`5407c0563e44`) retained для rollback (re-tag обратно если регресс). - timer `enabled`, `active (waiting)`. ## Открытые треки (перенос, ещё живые) | Трек | Готовность | Entry-point | |---|---|---| | `harden-books-vds-exposed-ports` | ⚪ ready (user сказал «пока нет» на mongo-allowlist) | `.tasks/harden-books-vds-exposed-ports.md` | | `books-bookva-user-whitelist-gathering` | ⚪ ready — gathering от учредителя | `.tasks/STATUS.md` | | `stateful-split-volume-copy` / `infra-inventory` | ⚪ ready | `.tasks/STATUS.md` | ## Спроси user'а - (deploy) Ничего блокирующего — verify автоматом по таймеру. Если хочешь форс-проверку раньше 31.05 — нужен baseline-reset (внеплановое email клиенту). ## Не делать (preemptive guards) - **Не форсить baseline-reset** vehicles-loader без явного запроса — шлёт клиенту внеплановое email-письмо. - **Не возвращать `:9200` / stateful-порты на `0.0.0.0`** без IP-allowlist (books VDS, ransom-бот). - **Не `ssh + docker compose up -d`** на VDS Portainer-stacks — только Portainer API (искл. traefik/portainer). - **branch ahead от origin** — push без явного grant'а (Rule 4). Этой сессии grant НЕ давали. ## Memory updates за сессию - (нет нового на этом раунде) — схема деплоя и обе инфра-гочи уже в `stostayer.new/.wiki/concepts/client-infra-access.md` + `vehicles-loader-docker-deploy.md`.