From 61e1a9e61a9f88bd2bf65b617aa7459d310d8046 Mon Sep 17 00:00:00 2001 From: vitya Date: Thu, 20 Aug 2026 20:46:59 +0300 Subject: [PATCH] =?UTF-8?q?tasks+ops:=20ozon-=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D1=8B=20=D0=BF=D1=80=D0=B8=D0=BD=D1=8F=D1=82=D1=8B,=20=D1=81?= =?UTF-8?q?=D1=82=D0=B5=D0=BD=D0=B4=20=D0=BF=D0=B5=D1=80=D0=B5=D1=81=D0=BE?= =?UTF-8?q?=D0=B1=D1=80=D0=B0=D0=BD=20(=D0=B8=D1=85=20Dockerfile),=20envel?= =?UTF-8?q?ope=20=E2=9C=93;=20bridge=20=D0=BD=D0=B0=20=D0=B2=D0=BB=D0=BE?= =?UTF-8?q?=D0=B6=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=82?= =?UTF-8?q?=D1=80=D0=B0=D0=BA=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tasks/STATUS.md | 2 +- .../local/sched-pipelines/bridge/index.cjs | 13 +++++--- .../local/sched-pipelines/docker-compose.yml | 6 ++-- .../local/sched-pipelines/ozon.Dockerfile | 32 ------------------- 4 files changed, 12 insertions(+), 41 deletions(-) delete mode 100644 host-stacks/local/sched-pipelines/ozon.Dockerfile diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index e0691aa..4044db5 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -1,5 +1,5 @@ # Admin Task Board -_Updated: 2026-08-20 — 🟡 **[sched-pipelines-local-stack]** ym-фиксы приняты (email go2 JSON + дефолты sched-task, 93/93, воркер пересобран ✓). Ждём: ozon-фиксы (7 пунктов), ратификацию vitya по envelope-fallback (sched), sender-domain go2. Следующий ран: завтра 02:00 ozon / 02:30 yandex (DRY-RUN)._ +_Updated: 2026-08-20 — 🟡 **[sched-pipelines-local-stack]** ozon-фиксы приняты (7/7, d198710 + b3046d3 вложенная email-форма), стенд пересобран на их Dockerfile, envelope проверен живьём (hash-стадия → правильный envelope-failed). ym: пересборка ждёт вложенную форму notify (коррекция 17:40Z). Осталось: tracking-домен trk.snolla.com (NS лежали под trk.snolla.com.snolla.com — жду ре-добавления с именем trk), потом 229 уходит и email оживает._ ## 🟡 [sched-pipelines-local-stack] — локальный стенд: sched daemon + ym/ozon воркеры + browser/ntfy/alert-bridge, потом VDS **Status:** active diff --git a/host-stacks/local/sched-pipelines/bridge/index.cjs b/host-stacks/local/sched-pipelines/bridge/index.cjs index 18601f3..a6d7cb6 100644 --- a/host-stacks/local/sched-pipelines/bridge/index.cjs +++ b/host-stacks/local/sched-pipelines/bridge/index.cjs @@ -79,11 +79,14 @@ async function sendEmail(m) { headers: { 'content-type': 'application/json' }, body: JSON.stringify({ api_key: UNISENDER_API_KEY, - email: EMAIL_TO, - sender_name: 'sched-pipeline', - sender_email: UNISENDER_FROM, - subject: m.title, - body: m.body, + message: { + template_engine: 'velocity', + body: { text: m.body }, + subject: m.title, + from_email: UNISENDER_FROM, + from_name: 'sched-pipeline', + recipients: [{ email: EMAIL_TO }], + }, }), }); const text = await res.text(); diff --git a/host-stacks/local/sched-pipelines/docker-compose.yml b/host-stacks/local/sched-pipelines/docker-compose.yml index 928f8b2..04a984f 100644 --- a/host-stacks/local/sched-pipelines/docker-compose.yml +++ b/host-stacks/local/sched-pipelines/docker-compose.yml @@ -68,9 +68,7 @@ services: ozon-seller-builder: build: context: ../../../../ozon-seller-api-client - dockerfile: C:/Users/vitya/projects/.admin/host-stacks/local/sched-pipelines/ozon.Dockerfile - args: - VERDACCIO_TOKEN: ${VERDACCIO_TOKEN:-} + dockerfile: service/Dockerfile image: sched-pipelines/ozon-seller-builder:local environment: WORKER_PORT: "8080" @@ -85,6 +83,8 @@ services: NTFY_URL: http://ntfy NTFY_TOPIC: ozon-seller-pipeline UNISENDER_API_KEY: ${UNISENDER_API_KEY:-} + UNISENDER_SENDER_EMAIL: ${UNISENDER_SENDER_EMAIL:-} + UNISENDER_SENDER_NAME: ${UNISENDER_SENDER_NAME:-} NOTIFY_EMAIL_TO: ${NOTIFY_EMAIL_TO:-} GH_TOKEN: ${GITHUB_TOKEN:-} NPM_TOKEN: ${NPM_TOKEN:-} diff --git a/host-stacks/local/sched-pipelines/ozon.Dockerfile b/host-stacks/local/sched-pipelines/ozon.Dockerfile deleted file mode 100644 index ae475a7..0000000 --- a/host-stacks/local/sched-pipelines/ozon.Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -# Локальная копия service/Dockerfile из ozon-seller-api-client с фиксом: -# `COPY state.json ./state.json 2>/dev/null || true` — шелл-синтаксис в COPY не валиден, -# docker падает «"/2>/dev/null": not found». state.json в контексте есть, копируем напрямую. -FROM node:22-alpine - -RUN apk add --no-cache openjdk21-jre-headless git - -WORKDIR /app - -COPY package.json package-lock.json ./ -# lock пинит yaml на verdaccio (локальный .npmrc хоста имеет токен, контейнер — нет) -ARG VERDACCIO_TOKEN -RUN npm config set //verdaccio.kzntsv.site/:_authToken=${VERDACCIO_TOKEN} \ - && npm ci --no-audit --no-fund || npm install --no-audit --no-fund - -COPY service/ ./service/ -COPY generator/ ./generator/ -COPY test/ ./test/ -COPY LICENSE ./ -COPY state.json ./state.json - -ENV NODE_ENV=production -ENV WORKER_PORT=8080 -ENV WORKER_TOKEN= - -# крон-расписание (формат node-cron): в стеке переопределяется на «никогда» — -# расписанием рулит sched daemon -ENV CRON_SCHEDULE="0 0 31 2 *" - -EXPOSE 8080 - -CMD ["node", "service/entrypoint.js"]