chore(.admin): чистка — мусор удалён; sched-pipelines: daemon 0.12.1 (cancel-on-poll-timeout) + tasks.json; .mappa-маркер

This commit is contained in:
2026-08-30 03:35:14 +03:00
parent 1b98232093
commit b1cf3a5785
4 changed files with 66 additions and 13 deletions

1
.gitignore vendored
View File

@@ -43,3 +43,4 @@ pilonuxt-home-smoke.jpeg
host-stacks/local/sched-pipelines/tasks.generated.json host-stacks/local/sched-pipelines/tasks.generated.json
host-stacks/local/sched-pipelines/data-ym/ host-stacks/local/sched-pipelines/data-ym/
host-stacks/local/sched-pipelines/data-ntfy/ host-stacks/local/sched-pipelines/data-ntfy/
.tmp-*

10
.mappa/config.yaml Normal file
View File

@@ -0,0 +1,10 @@
# mappa project marker — machine-readable identifier of a mappa project folder
# (спека brainstorm:151 р.5 · task:1538 · контракт: concepts/dot-mappa-marker)
# Только публичные данные реестра; секреты сюда не попадают.
schema_version: 1
protocol_version: 1
project: .admin
tenant: vitya
url: https://mappa.vds.kzntsv.site
git_provider: gitea
git: OpeItcLoc03/admin

View File

@@ -1,6 +1,6 @@
# schedd — опубликованный daemon из приватного реестра (verdaccio), как на проде. # schedd — опубликованный daemon из приватного реестра (verdaccio), как на проде.
# @sched/daemon@0.9.0 (latest) + deps (core 0.48.0) — cancel-форвардинг фикс: # @sched/daemon@0.12.1 (latest) + deps (core 0.53.0) — cancel-форвардинг + cancel-on-poll-timeout:
# диспетчер форвардит cancel к per-task раннеру (task.runner), нет хука → no-op. # при poll-timeout sched шлёт POST /cancel воркеру до записи failed (фикс расхождения вердикт↔реальность).
# node >= 24 (engines у daemon; node:sqlite). # node >= 24 (engines у daemon; node:sqlite).
FROM node:24-alpine FROM node:24-alpine
RUN apk add --no-cache git RUN apk add --no-cache git
@@ -8,7 +8,7 @@ WORKDIR /app
ENV NODE_ENV=production ENV NODE_ENV=production
ARG VERDACCIO_TOKEN ARG VERDACCIO_TOKEN
RUN npm config set //verdaccio.kzntsv.site/:_authToken=${VERDACCIO_TOKEN} \ RUN npm config set //verdaccio.kzntsv.site/:_authToken=${VERDACCIO_TOKEN} \
&& npm install -g @sched/daemon@0.9.0 --registry=https://verdaccio.kzntsv.site --no-audit --no-fund && npm install -g @sched/daemon@0.12.1 --registry=https://verdaccio.kzntsv.site --no-audit --no-fund
EXPOSE 8080 EXPOSE 8080
VOLUME ["/data"] VOLUME ["/data"]
ENTRYPOINT ["schedd"] ENTRYPOINT ["schedd"]

View File

@@ -7,9 +7,22 @@
"url": "http://ozon-seller-builder:8080/run?async=1", "url": "http://ozon-seller-builder:8080/run?async=1",
"method": "POST", "method": "POST",
"envelope": true, "envelope": true,
"auth": { "apiKey": "__SCHED_API_KEY__" }, "auth": {
"apiKey": "__SCHED_API_KEY__"
},
"data": { "data": {
"stages": ["hash", "patch", "diff", "classify", "generate", "fix", "build", "postman", "state", "publish"], "stages": [
"hash",
"patch",
"diff",
"classify",
"generate",
"fix",
"build",
"postman",
"state",
"publish"
],
"dryRun": false, "dryRun": false,
"readmeTemplate": "/app/data/package-readme.md" "readmeTemplate": "/app/data/package-readme.md"
} }
@@ -20,13 +33,28 @@
"runner": "http", "runner": "http",
"config": { "config": {
"handler": "pipeline", "handler": "pipeline",
"timeoutMs": 120000,
"url": "http://ym-client-builder:8080/run", "url": "http://ym-client-builder:8080/run",
"method": "POST", "method": "POST",
"envelope": true, "envelope": true,
"auth": { "apiKey": "__SCHED_API_KEY__" }, "auth": {
"apiKey": "__SCHED_API_KEY__"
},
"data": { "data": {
"stages": ["fetch", "detect", "diff", "classify", "patch", "generate", "fix", "build", "test", "postmanGenerate", "postman", "publish", "githubDistro"], "stages": [
"fetch",
"detect",
"diff",
"classify",
"patch",
"generate",
"fix",
"build",
"test",
"postmanGenerate",
"postman",
"publish",
"githubDistro"
],
"dryRun": false, "dryRun": false,
"repo": "https://github.com/yandex-market/yandex-market-partner-api", "repo": "https://github.com/yandex-market/yandex-market-partner-api",
"branch": "main", "branch": "main",
@@ -39,15 +67,29 @@
"remoteBase": "__PUBLISH_REMOTE_BASE__", "remoteBase": "__PUBLISH_REMOTE_BASE__",
"githubApiBase": "__PUBLISH_GH_API_BASE__", "githubApiBase": "__PUBLISH_GH_API_BASE__",
"notify": { "notify": {
"ntfy": { "url": "http://ntfy", "topic": "ym-client-builder" }, "ntfy": {
"email": { "to": "vitya.kuznetsov@gmail.com", "endpoint": "http://unisender-mock:8080/ru/transactional/api/v1/email/send.json", "on": ["published", "report", "failed"] } "url": "http://ntfy",
"topic": "ym-client-builder"
},
"email": {
"to": "vitya.kuznetsov@gmail.com",
"endpoint": "http://unisender-mock:8080/ru/transactional/api/v1/email/send.json",
"on": [
"published",
"report",
"failed"
]
}
} }
} },
"timeoutMs": 900000
} }
} }
], ],
"alerts": { "alerts": {
"on": ["failed"], "on": [
"failed"
],
"onMissed": true, "onMissed": true,
"webhook": { "webhook": {
"url": "http://alert-bridge:9090/webhook", "url": "http://alert-bridge:9090/webhook",
@@ -55,4 +97,4 @@
"timeoutMs": 10000 "timeoutMs": 10000
} }
} }
} }