Commit Graph

83 Commits

Author SHA1 Message Date
7d336de9db chore(deploy): mappa v0.16.0 (project registry 51473a3+99f5ff3) — compose source-of-truth 2026-08-25 14:55:51 +03:00
f9e7111493 chore(deploy): mappa v0.15.0-unified (unified search 5239b7f+bd49d4b) — compose source-of-truth 2026-08-25 14:15:37 +03:00
15eff6bd01 chore(mappa): bump compose image 0.14.0 → 0.15.0 (deploy v0.15.0) 2026-08-25 09:13:34 +03:00
55f6f90131 chore(mappa): bump compose image 0.13.1 → 0.14.0 (deploy v0.14.0) 2026-08-25 02:17:16 +03:00
1acb80b764 deploy(mappa): v0.12.0 -> v0.13.1 (stack 27, session-operator + interactive contract #1036/#1039/#1041) 2026-08-25 00:42:35 +03:00
134a789a4d deploy(mappa): v0.7.3 -> v0.12.0 (stack 27, очередь #1022..#1054 закрыта) 2026-08-24 23:19:47 +03:00
1f876f7330 chore(mappa): bump stack image 0.7.2 -> 0.7.3 (#1053 counter desync fix) 2026-08-24 21:02:17 +03:00
b9bd860015 chore(mappa): bump stack image 0.5.1 -> 0.7.2 (per-type refs, priority/due, overdue-scan, op-log) 2026-08-24 19:14:10 +03:00
1712538722 fix(mappa): add MAPPA_API_TOKEN to prod stack env (#1033)
Shared-token auth was off on prod (no MAPPA_API_TOKEN) — anyone with network
access could call /admin/purge_secrets and all mutations. Token generated,
stored in pass mappa/full-env, wired into stack env + agent MCP configs
(~/.claude.json). Redeployed via Portainer (stack 27). Verify: /inbox without
token → 401, with token → 200.
2026-08-24 15:41:30 +03:00
66b7ba10b2 ops(mappa): redeploy v0.5.1 + MAPPA_GITEA_TOKEN (#1020) 2026-08-23 23:01:51 +03:00
8f1b13f312 infra(deploy): mappa compose — VDS рядом с общей postgres:16 (stack 26, Portainer) 2026-08-23 18:33:59 +03:00
96a4deb771 chore(stand): мок-publish обоих пиров зелёный — ozon+ym 0.1.0, readmeTemplate для ozon (bind-mount), state сброшен 2026-08-21 10:45:36 +03:00
6b30daa646 расписания sched убраны (ozon 2:00, yandex 2:30) — тестовый период, только manual-раны 2026-08-21 01:54:51 +03:00
225d235cd5 schedd 0.8.0 → 0.9.0: cancel-форвардинг фикс (диспетчер → per-task раннер)
cancel-тест на ozon (полный ран, стоп на generate): зелёный
- [sched] [cancel] POST <cancelUrl> runId + ack status=200
- воркер: [cancel] received/flag set, generate done → stop before stage fix
- fix/build/postman/state/publish НЕ выполнялись, state.json остался {}
- ран: cancelled (error: cancelled by user)
2026-08-21 00:47:50 +03:00
478b69038e tasks: handoff — cancel root cause (sched 0.9.0 не применён), мок-publish зелёный, инцидент закрыт 2026-08-21 00:39:35 +03:00
508e69af0e tasks: cancel-диагностика — ТЗ cancel-signal-logging всем (sched+ozon+ym), воркер стоп 2026-08-21 00:17:29 +03:00
e510309906 fix: output/ полностью из git (вложенный путь в gitignore) 2026-08-20 23:52:25 +03:00
8bc4f5ec84 tasks: cancel-канал — выбор A (cancelUrl), письмо sched 00:52Z, handoff 2026-08-20 23:52:06 +03:00
1c76bccd46 fix: убрать генераторные артефакты data-ozon/output из git (gitignore) 2026-08-20 23:50:01 +03:00
5d57f49e80 ops: schedd 0.7.0 (cancelUrl-канал), dry-run мок-publish оба зелёные, ТЗ worker-cancel-url
- schedd.Dockerfile: daemon 0.6.0 → 0.7.0 (cancel-канал: cancelUrl в accepted-envelope)
- tasks.json: publish+githubDistro с dryRun:true у обеих тасок (мок-publish dry, ноль мутаций)
- compose: DRY_RUN=1 безопасный дефолт; ozon state персистентен (bind-mount, noop работает)
- тесты: мок-publish dry — yandex 13/13, ozon 10/10, GitHub/Gitea/verdaccio чисто
- баг cancel воспроизведён (воркер продолжает после cancel) → ТЗ worker-cancel-url обеим командам
2026-08-20 23:49:51 +03:00
7ec721e237 ops: schedd 0.6.0 — timeoutMs применяется к существующим таскам, absent=-1 дефолт (проверено живьём)
- schedd.Dockerfile: daemon 0.5.0 → 0.6.0 (core 0.46.0), фикс applyTask timeoutMs + absent=-1
- tasks.json: timeoutMs убран (дефолт -1, требование vitya 'можно не указывать')
- верификация: явный -1 применился к существующим; после удаления из файла live-sync дал -1
2026-08-20 22:54:25 +03:00
3060263b9d ops: стенд — schedd 0.5.0 (run-deadline), timeoutMs -1, ozon bind-mount state на хост
- schedd.Dockerfile: daemon 0.4.2 → 0.5.0 (фикс envelope-дыра/statusUrl/poll-retry/run-deadline)
- tasks.json: timeoutMs -1 на обе пайплайн-таски (никогда не авто-терминировать)
- docker-compose: ozon /app/data + /app/state.json bind-mount на хост (как ym)
- data-ozon/state.json: baked-снапшот state из образа
2026-08-20 22:50:56 +03:00
c99e0472b1 ops: yandex dry-run SUCCESS (11/11 стадий), ozon до build (tsc), мок unisender работает 2026-08-20 22:04:01 +03:00
e6c43314e9 ops: мок unisender (письма в data-mail), dry-run ym до build (generate ✓), ТЗ: JSDoc */, poll-флейк sched 2026-08-20 21:26:51 +03:00
61e1a9e61a tasks+ops: ozon-фиксы приняты, стенд пересобран (их Dockerfile), envelope ✓; bridge на вложенный контракт 2026-08-20 20:46:59 +03:00
bfcc4d5e72 ops(sched-pipelines): локальный стенд sched + ym/ozon воркеры + browser/ntfy/alert-bridge; ТЗ разосланы 2026-08-20 20:07:50 +03:00
5b3a1b2f62 chore(deploy): pilonuxt 64c2539 LIVE — admin-api 0.11.0 array-canon (categories 6+6 OK, embedded admin-api 200) 2026-08-16 13:26:22 +03:00
3133c0e85f chore(deploy): pilonuxt 1128ddc LIVE — core 0.26.7 fixes new-products 500 (skandinavskaya + imitaciya 6+6 products verified) 2026-08-16 12:59:49 +03:00
694a4a961b chore(deploy): pilonuxt f876e70 LIVE — remaining 3 catalog placeholders -> real CMS photos 2026-08-16 10:48:59 +03:00
070431df0e chore(deploy): pilonuxt 24a13da LIVE — catalog img placeholder fix (brus antiseptirovannyj real photo) 2026-08-16 10:35:00 +03:00
c860da3fde chore(deploy): pilonuxt 40806b1 LIVE — services-[slug] real SSR 404 fix accepted (soft-404 closed) 2026-08-16 10:25:58 +03:00
b9a626e678 chore(deploy): pilonuxt 340c0e7 LIVE — frame-house removal, banner/h2 fix, service-404 (soft-404 finding reported) 2026-08-16 10:20:41 +03:00
183ea5a0d7 task DONE: snolla-mailer-per-recipient-send — тираж на mailer 0.9.0 + фикс mailSettings.from env-сайтов; composes актуализированы (8 сайтов) 2026-08-14 14:04:17 +03:00
ddfb6a304b ops: snolla SMTP rollout 2026-08-14 — monitor deployed (VDS cron+ntfy), msmtp/backup-mail on new creds, pilonuxt compose tag 954e29e 2026-08-14 12:31:57 +03:00
5299c7d048 chore: pilonuxt deploy — tag 515ab99 (admin-api 0.10.1 save-whitelist fix) 2026-08-07 20:34:30 +03:00
768ffe3851 chore: pilonuxt deploy — tag 6552e37 (admin-api 0.10.0 + batch-info + OpenAPI) 2026-08-07 19:48:20 +03:00
03607d0d6e meta(handoff): flat-fields wave CLOSED; session end
- 7 sites @snolla/snolla→web redeployed
- admin-api 0.4.0 (flat fields) + client 0.5.2 + schema-gen 0.2.1 published
- pilorama98 0db46e1 live: loader flat + catalog + yml/short_description
- admin-api 0.5.0 (validation) published, not deployed to pilorama98
- coordinator role active: snolla ↔ pilorama98
2026-08-07 13:03:23 +03:00
615d78932b chore: pilonuxt deploy — tag 2c069de (admin-api 0.4.0 flat fields + каталог + loader) 2026-08-07 10:51:49 +03:00
e3f2541056 chore: pilonuxt deploy — tag 782de35 (каталог: Скандинавская доска + обновлённый Половой шпунт) 2026-08-07 09:38:13 +03:00
66e1c7b718 chore: sync pilonuxt compose — add S3 endpoint/region/bucket env 2026-08-05 16:15:13 +03:00
8ebd05e4a7 chore: sync pilonuxt compose — admin-api embed env (JWT/DATABASE_URL/S3), tag 1b88cd5 2026-08-05 16:14:36 +03:00
9e2332a53c ops(labtools): bump to cad2b36 (@snolla/snolla → @snolla/web 0.43.2)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 15:57:18 +03:00
cd76ce8f3f feat(admin-api): деплой admin-api на vds (стек 25) — admin-api.vds.kzntsv.site
Образ registry.kzntsv.site/admin-api:ca0dfa3 (ESM-фикс). Stack 25, proxy-сеть,
env 8/8 (DATABASE_URL/JWT_SECRET/S3), mem_limit 512m, traefik + LE.
Live GREEN: /health ok, ключ pilorama98 проходит, LE-серт выдан.
Coord-таска обновлена (Number resolved, staging, deploy).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 18:33:52 +03:00
9fbc44c31b fix(minio-split): source-of-truth compose comments -> minio.vds.kzntsv.site (sites S3-direct читают vds minio)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 14:43:54 +03:00
61f6afd235 chore(labtools): compose → d263e1c (core 0.26.6 catalog linked-item provider — cylindrical hydrated)
Live smoke 2026-08-03: /products/press-forms/cylindrical 0 empty href/src, 8 cards
hydrated (round-xrf, vacuum-ir, …). Rollback = 0dc0b4e (0.43.2 v3).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-03 16:00:46 +03:00
494b101067 feat(maljarka): restore maljarka.tandemmebel.ru as 7th snolla site on VDS (stack 23)
Сайт потерян при decomm RUVDS 2026-07-21 (.NET MoreThenCms tenant, не был в v3 тираже).
Восстановлен как Node snolla-app 0.43.2 на VDS: victor/maljarka.tandemmebel.ru @7f03d67,
layout.liquid byte-identical рендеру локального .NET-admin (43730B, sha256 match),
siteId A2476738, Reversal тема из MinIO. LE issued. Live smoke GREEN.

- host-stacks/vds-kzntsv/maljarka.compose.yml (source-of-truth, stack 23)
- .wiki/concepts/maljarka-vds-deploy-runbook.md (калька on-snolla runbook)
- .tasks/STATUS.md + .wiki/index.md updated
- тираж snolla теперь 7/7: labtools(17)/emspb(18)/labtools-pro(19)/tandemmebel(20)/kupimknigi(21)/on-snolla(22)/maljarka(23)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-31 06:15:29 +03:00
69d3d0dd3f feat(tandemmebel): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
6-й сайт тиража v3 (после on-snolla, kupimknigi, labtools.ru, labtools.pro, emspb).
6/6 v3 сайтов GREEN — тираж v3 ЗАВЕРШЁН.

- Bump: @snollajs/snolla 0.42.1→0.43.2 (apps/web) + resolutions verbatim labtools.ru
  (@aws-sdk/client-s3 3.1005.0 + @smithy chain 5.3.11 — optional determinism) + реген
  yarn.lock (single @smithy/signature-v4@5.3.11 deduped). Commit 9d51c09 в victor/tandemmebel.ru.
  Заодно нёс на live s3.endpoint fix f4ddce6 (→ minio.vds.kzntsv.site), был в master с 2026-07-29.
- Build на VDS: registry.kzntsv.site/tandemmebel:9d51c09, digest d14982c24dc7, 476MB (v2 583MB), EXIT=0.
- Staging :5020 parity-gate GREEN: robots md5 identical, sitemap 184=184 locs IDENTICAL,
  self-consistency 183×200 + 1×404 (/articles parity), Gotham-Pro.css 200 4436B (v3 S3-direct).
- Portainer PUT stack 20 (node in-memory, кириллица compose), env 8/8, pullImage:true, mem_limit 512m. PUT 200.
- Live smoke GREEN: / 200 45742B, /projects 200, sitemap 184, theme 200 4436B. TLS CN не тронут (LE Oct 10).
- Rollback = 8df10ee (v2, жив в registry).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 19:00:52 +03:00
fd48df6225 feat(emspb): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
5-й сайт тиража v3 (5/6 GREEN). In-place bump стека 18 (DNS на VDS с
2026-07-02). Commit victor/emspb.ru 5afd8a1 (bump + resolutions + yarn.lock
реген). Build на VDS → registry.kzntsv.site/emspb:5afd8a1 digest 72bb59fc.
Staging :5082 parity-gate GREEN (29/29 routes 200, theme assets 7/7 md5
IDENTICAL — v3 S3-direct read из vds MinIO 2025). Portainer PUT stack 18
env-preserving (8/8, node in-memory put-stack), prune:false pullImage:true.
Live smoke GREEN. Rollback = 95a5c42 (v2).

- emspb.compose.yml: 95a5c42→5afd8a1
- emspb-vds-deploy-runbook: §0.43.2
- minio-split-cutover-runbook: progress-table emspb , остался tandemmebel
- NEXT_SESSION: 5/6 GREEN, остался tandemmebel (стек 20, был BLOCKED на
  sharp-staging дефекте — проверить перед бампом)

Остался 1 сайт: tandemmebel.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:46:19 +03:00
c3c79b996a feat(labtools.pro): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
4-й сайт тиража v3 (on-snolla, kupimknigi, labtools.ru, labtools.pro — 4/6 GREEN).
Stack 19 image 0610432→a106622, env 8/8 preserved, mem_limit 512m.

Staging :5081 parity-gate GREEN: theme lato.css 200 9994B md5-identical
(v3 aws-sdk v3 S3-direct read из vds MinIO 2025), sitemap 7 детей == live,
order-parity press-forms 12 изделий, / 4-байт diff = og:url/og:image
request-host (benign). Live smoke GREEN, TLS CN=labtools.pro не тронут.
Rollback = labtools-pro:0610432 (0.42.1, жив в registry).

Compose source-of-truth + runbook v3 секция + handoff обновлены.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:36:36 +03:00
387560c9f8 feat(labtools): v3 cutover LIVE — snolla 0.42.1→0.43.2 (aws-sdk v2→v3)
3rd site of v3 тираж (after on-snolla + kupimknigi, 3/6 GREEN).
Bump 0dc0b4e: apps/web snolla→0.43.2 + resolutions (root). Endpoint fix
4f3314f (minio.vds.kzntsv.site) was in master but not in running v2 image
566d41c — v3 cutover also moved S3-direct read to vds minio.

Staging :5080 parity-gate GREEN (home/theme byte-identical, sitemap 38
locs == live, order-parity). Portainer PUT stack 17 env-preserving 8/8,
mem_limit 512m, prune:false pullImage:true. Live smoke GREEN, TLS untouched.
Rollback = 566d41c (v2, in registry).

Compose source-of-truth 566d41c→0dc0b4e. Runbook + handoff updated.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 17:19:26 +03:00