fix(tradein/ops): health-check валит деплой + mem-лимиты + log-rotation (#2214) #2231

Merged
lekss361 merged 1 commit from fix/tradein-observability-hardening into main 2026-07-02 21:29:31 +00:00

1 commit

Author SHA1 Message Date
bot-backend
c7eaecdb37 fix(tradein/ops): health-check валит деплой + mem-лимиты + log-rotation (#2214)
All checks were successful
CI / changes (pull_request) Successful in 8s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / changes (pull_request) Successful in 8s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
- deploy-tradein.yml: health-цикл через флаг; 30 фейлов подряд → exit 1 ДО
  записи success-маркера .tradein-deployed-sha (мёртвый backend больше не
  помечается задеплоенным; changes-job следующего прогона берёт верную базу)
- docker-compose.prod.yml: mem_limit/memswap_limit всем 5 сервисам от
  прод-замеров (postgres 3g, browser 2560m/3g swap-cushion, backend 768m,
  scraper 640m, frontend 384m; сумма потолков 6.4g на 12G-коробке);
  memswap==mem запрещает tradein-контейнерам свап (фикс swap-находки);
  restart: unless-stopped у всех → OOM-kill = авто-recovery
- log-rotation: json-file 20m×3 каждому сервису (YAML anchor)
- premise аудита «коробка 4GB» устарел: фактически 11.96G (замер в diff)

Первый деплой пересоздаст все tradein-контейнеры (включая scraper —
прервёт бегущий sweep, stop_grace_period 120s; допустимо разово).

Refs #2214
2026-07-03 00:19:39 +03:00