docs(tasks): vehicles-loader-image-distribution — B requires verdaccio access; A build-proven; CMD finalized

Из stostayer.new session 29.05: lite core зашипан, Dockerfile CMD финализирован
(блокер сузился до канала поставки + README distribution-секции). Дописано:
B (build-from-git) требует verdaccio-доступ у клиента (.yarn/cache не коммитится),
что усиливает рекомендацию A. A технически подтверждён (docker build + run --help ок).
This commit is contained in:
2026-05-29 20:43:30 +03:00
parent 2a153d573c
commit 91fac7014a

View File

@@ -295,13 +295,15 @@ Ops-таска для Фазы 1 дизайна `tenant-split` из victor/books
Развилка:
- **A (рекомендация brainstorm'а):** мы билдим образ → push в docker registry VDS → клиент `docker pull` по pinned-тегу. Rollback = перетыкнуть тег. Клиенту не нужен monorepo + yarn berry build-toolchain. Требует: у клиента docker login creds + сетевой доступ к нашему registry.
- **B (fallback):** клиент билдит из git у себя. Требует VCS-доступ + node22 + yarn berry на хосте клиента (тяжелее, медленнее rollback).
- **B (fallback):** клиент билдит из git у себя. Требует VCS-доступ + node22 + yarn berry **+ доступ к verdaccio** (`verdaccio.kzntsv.site`) с валидным токеном на хосте клиента. Причина: `.yarn/cache` в `.gitignore` (не коммитится), build идёт offline против cache → свежий `git clone` имеет пустой cache → `yarn workspaces focus` падает, пока клиент не прогонит `yarn install` против приватной регистры. Тяжелее, медленнее rollback, +зависимость от приватной регистры.
Образ: multi-stage node:22-alpine, `yarn workspaces focus @stostayer/vehicles-loader --production`.
Образ: multi-stage node:22-alpine, `yarn workspaces focus @stostayer/vehicles-loader --production` (плагин `@yarnpkg/plugin-workspace-tools` закоммичен в stostayer.new `.yarn/plugins/`).
> **UPDATE 2026-05-29 (из stostayer.new session):** lite docker-deploy CORE зашипан (10/10 tasks на master). **Dockerfile CMD уже финализирован** (`ENTRYPOINT ["node","index.js"]` + `CMD ["sync"]`, source через env `STOSTAYER_SOURCE_ZIP` дефолт `/var/from_1c/export_from_1c.zip`) — эта часть блокера СНЯТА. Остаётся ТОЛЬКО: (1) решение по каналу поставки образа; (2) distribution-секция `deploy/README.md` (помечена PENDING на эту таску). **A build-proven:** образ собран локально (`docker build` ок) и запускается (`docker run --rm vehicles-loader:dev --help` ок). С учётом verdaccio-зависимости B (выше) — **A ещё предпочтительнее**: при A клиенту verdaccio не нужен вообще (cache наполняется нашим authed `yarn install` при сборке).
**Status:** ready
**Where I stopped:** (not started)
**Next action:** Решить A vs B. Если A — подтвердить: (1) есть ли у клиента сетевой доступ к нашему docker registry на VDS; (2) можем ли выдать ему scoped pull-creds (docker login); (3) схема тегирования/rollback. Отписать в stostayer.new — от этого зависит финализация Dockerfile CMD + deploy/README (vehicles-loader lite docker-deploy spec).
**Next action:** Решить A vs B (рекомендация — A, усилена тем что B требует verdaccio-доступ у клиента). Если A — подтвердить: (1) есть ли у клиента сетевой доступ к нашему docker registry на VDS; (2) можем ли выдать ему scoped pull-creds (docker login); (3) схема тегирования/rollback. Отписать в stostayer.new — от этого зависит финализация distribution-секции deploy/README (Dockerfile CMD уже готов).
**Branch:** n/a
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: victor/stostayer.new / 2026-05-29T10:17:29.967Z -->