Files
admin/.tasks/NEXT_SESSION.md
vitya ee7f5a2d18 chore(handoff): tandemmebel 8df10ee deploy DONE + loose end (Portainer STAGING-comments)
Сессия 2026-07-13-tandemmebel-8df10ee-deploy завершена. Deploy на прод GREEN,
задача закрыта (fe8e5882). NEXT_SESSION.md дополнен этой сессией поверх прежних
pending-треков (vehicles-loader 0.4.1 verify ждёт 07-14 06:21 MSK, books-vds
консолидация, ntfy pin). Loose end: Portainer stack 20 устаревшие STAGING-комменты
(косметика, rule line уже LIVE).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-13 22:52:47 +03:00

7.1 KiB
Raw Blame History

_last_updated_, session_id, prev_session_id
_last_updated_ session_id prev_session_id
2026-07-13T19:50:00Z 2026-07-13-tandemmebel-8df10ee-deploy 2026-07-13-stostayer-loader-deploy

Next session handoff

Эта сессия — tandemmebel 8df10ee deploy (DONE, прод живой)

🟢 [tandemmebel-deploy-drop-fb-tw-gplus-buttons] ЗАКРЫТА. In-place template bump 0cd9351 → 8df10ee на проде (стек 20), убраны FB/Twitter/Google+ share-кнопки (экстремистистская символика РФ), оставлены ВК+Одноклассники. Template-only (apps/web/views/social_buttons.liquid, 1 file 12 delet), snolla 0.42.1 НЕ менялся.

  • Верификация поймала расхождение: tandemmebel-записка утверждала live=ed96b18/0.42.0, фактически 0cd9351/0.42.1. gitea compare/0cd9351...8df10ee=total_commits:1 → фикс на правильной 0.42.1 базе, yarn.lock идентичен → регрессии sitemap нет.
  • Build на VDS (чистый gitea-архив 8df10ee, build-arg VERDACCIO_TOKEN=books-ci JWT), digest sha256:30a7e5ab82f2bf371042f1b5fa0cd7ac5ceda71379d1da59e148dee8166bd560.
  • Completeness-gate: sitemap NEW==PROD 184=184 identical, 0 регрессий. Live-smoke 4 share-block страницы → vk+ok / fb-tw-gp=0. TLS-серт не дёрнут.
  • Swap через Portainer JWT (API-key ptr_* даёт 401 → workaround JWT), env 8/8 preserve, prune:false, pullImage:true. Tandemmebel-сессия подтвердила, discrepancy-урок усвоен.
  • Records: STATUS.md _Updated 2026-07-13; runbook секция In-place bump 8df10ee (.wiki/concepts/tandemmebel-vds-deploy-runbook.md); compose source-of-truth host-stacks/vds-kzntsv/tandemmebel.compose.yml = 8df10ee. Коммиты 632c843f (records)
    • fe8e5882 (tasks_close).
  • Откат: PUT стека 20 → 0cd9351 (0.42.1, {% order %} fix) / ed96b18 (0.42.0, в registry, стёрт с VDS при disk-cleanup 2026-07-13 — pullImage:true дотянет) / b02ca18; ИЛИ revert DNS→80.64.31.36 (RUVDS IIS жив).

Loose end (low priority, НЕ блокер)

  • Portainer stack 20 file — устаревшие STAGING-комменты (строки 16-17 «Домен: STAGING», 53 «STAGING-RULE. Cutover: после flip DNS сменить на Host(...)»). Сама traefik...rule (строка 55) уже LIVE, совпадает с label'ом контейнера — функционально нейтрально. При деплое 8df10ee обновлён только image-line коммент. При следующем full-sync выровнять Portainer file под git source-of-truth (косметика).

Recent commits

  • fe8e5882 meta(tasks): close [tandemmebel-deploy-drop-fb-tw-gplus-buttons] in OpeItcLoc03/admin
  • 632c843f deploy(tandemmebel): 8df10ee LIVE — drop FB/Twitter/Google+ share buttons
  • 94e5d77c meta(tasks): create [tandemmebel-deploy-drop-fb-tw-gplus-buttons] in OpeItcLoc03/admin
  • 7e02d611 docs(wiki): vds-kzntsv disk cleanup 94%→74% + container-log rotation guard
  • 8230f891 / 2e180029 meta(tasks): vehicles-loader-redeploy-per-group-rate-diff (create + update)
  • 135da254 chore: gitignore .zcode/

Open треки

Трек Готовность Entry-point
vehicles-loader 0.4.1 runtime verify 🔴 active — deployed, verify pending После 07-14 06:21 MSK: SSH new.stostayer.ru:20435 (victor, креды pass stostayer/client), проверить новый importRun status=ok + counts.serviceGenerationRate={replaced:<сотни>, skipped:<~41k>}, serviceModificationRate={replaced:<сотни>, skipped:<~5k>}, duration < ~93 мин. Если replaced ~44k/6.7k — образ из старого кода (но code-verify уже GREEN: rateDiff.js/replaceGroup.js в образе есть). Откат: docker tag docker.stostayer.ru/vehicles-loader:0.4.0 vehicles-loader:latest. User сказал «завтра посмотрим вместе».
books-vds → vds-kzntsv консолидация оценено, НЕ хватает ресурсов RAM: .94 free 1.7 GiB (swap=0) vs books 23+ GiB (на .133 уходит 3.3 GiB в swap). Диск: .94 было 11 GiB free (94%), после чистки 39 GiB; books тащит ~1520 GiB. CPU хватает (6 ядер idle). Решение за user.
ntfy push.kzntsv.site cert-pinning починено на телефоне (pin убран) Повтор при каждом LE-renewal ~90д, если pin снова включат. Сервер НЕ трогать.

Спроси user'а

  • books-vds консолидация: свежий Ubuntu-VDS под books, апгрейд тарифа .94 (Rusonyx: +RAM/+disk), или оставить на EOL CentOS 7 (.133)? Оценка этой сессии — на .94 не лезет (RAM+диск).
  • Durable build-fix в stostayer.new (cross-project): packages/vehicles-loader/Dockerfile — добавить ENV VERDACCIO_TOKEN=unused в deps-стейдж (сеть off → токен не нужен) + закоммитить root .dockerignore. Сейчас build ломается на unresolved ${VERDACCIO_TOKEN} (committed в 393b7d3 после Dockerfile) и тащит жирный контекст (node_modules/.worktrees). Делаем коммит в victor/stostayer.new?

Не делать (preemptive guards)

  • НЕ retry-push в docker.stostayer.ru — один push, сбой → стоп + к человеку. Инцидент 2026-06-17: retry-шторм забанил VPN-IP, весь дом→хост :443 лёг.
  • НЕ деплоить vehicles-loader из кода без rateDiff (85ca936). Перед deploy — verify что в образе есть src/sync/rateDiff.js (rateSetsEqual) + src/sync/replaceGroup.js (replaceRatesForGroups).
  • НЕ чинить ntfy-пин на сервере — это client-side (телефон). Сервер: cert валиден, ntfy healthy, /healthz 200.
  • На vds-kzntsv НЕ netplan (anti-pattern, outage 2026-05-28).
  • НЕ сжимать books-стек на .94 — RAM/disk не хватает (оценено этой сессией).
  • pull перед работой — admin чист (local==origin 7e02d611); stostayer.new на b86ed40. Не забывать pull (user поправлял этой сессией).

Memory updates за сессию

  • new: ntfy-android-cert-pinning-breaks-on-le-renewal.md — LE-renewal (~90д) ломает pinned ntfy-клиент («fingerprint mismatch / connection lost»); фикс на телефоне (re-pin или отключить pinning → system CA), сервер не трогать.
  • wiki: entities/vds-kzntsv.md — Known issues += 2026-07-13 disk cleanup (контейнерные логи 19 GiB, owncloud 13 GiB) + logrotate guard (/etc/logrotate.d/docker-containers, copytruncate 200M hourly) + hourly cron; Open issues — GC-cron срочность снижена (94%→74%), container-log rotation DONE.