gendesign/.forgejo/workflows
bot-backend 2cc096a047 fix(caddy): ретрай подключения к фронту МЕРЫ — остаток окна подмены (#3274)
Коммит выше свёл окно подмены фронта с 30–90 с до его собственных ~0,5 с.
Эти полсекунды по-прежнему видны посетителю: Caddy набирает апстрим сразу и
при отказе соединения отдаёт ошибку без повтора (замер на стенде: 1 × 502).

(tradein_frontend_retry) — lb_try_duration 2s + lb_try_interval 100ms,
импортируется во все 9 блоков `reverse_proxy tradein-frontend:3000`
(gendsgn.ru/trade-in/* и публичные пути meraocenka.ru).

В #3274 lb_try_duration отвергнут — и правильно: держать посетителя минуту
в ожидании ретрая хуже честной ошибки, инструмент рассчитан на разрыв в
сотни миллисекунд. Возражение снято ПОРЯДКОМ, а не спором: окно сначала
сведено к сотням миллисекунд правкой деплоя, и только после этого ретрай
применим. Стенд (реальный образ фронта + Caddy 2, подмена под пробой
5 раз/с): без ретрая 1 × 502, с ретраем 241/241 × 200, один запрос подождал
0,55 с. Потолок измерен там же: при длительной аварии каждый запрос ждёт
2,07 с и получает ту же 503-заглушку, что и раньше.

Бэкенду ретрай НАМЕРЕННО не дан: его старт — единицы секунд, 2 с не хватит,
а больше — уже та самая плата ожиданием, против которой возражал issue.

Гейт scripts/check-frontend-swap-window.py держит обе половины: `frontend`
не должен вернуться в общий SERVICES, каждый апстрим фронта обязан нести
импорт. Обе половины обратимы молча — деплой остаётся зелёным, а отказ
видно только непрерывной пробой во время деплоя. Фальсифицирован: снятие
любой половины красит гейт (проверено на реальных файлах, не только
--selftest).

Refs #3274
2026-09-12 00:45:18 +05:00
..
ci-tradein.yml chore(ci): node 20 отслужил — рантайм фронтов и оба CI-джоба на node 24 LTS 2026-08-29 14:02:55 +03:00
ci.yml fix(caddy): ретрай подключения к фронту МЕРЫ — остаток окна подмены (#3274) 2026-09-12 00:45:18 +05:00
deploy-drift.yml feat(ops): сторож расхождения «прод ↔ main» — молчаливый недоехавший деплой становится видимым (#3029) 2026-08-27 12:35:43 +03:00
deploy-infra.yml feat(ops): у волта Obsidian появился автоматический бэкап (#3090) 2026-08-25 05:44:16 +00:00
deploy-metrics.yml fix(deploy-metrics): пересоздавать alloy после выката конфига, гейт по иноду 2026-09-06 02:11:38 +05:00
deploy-obsidian.yml fix(ci): стек CouchDB после переезда остаётся на своём хосте (#3087) 2026-08-24 17:58:56 +00:00
deploy-tradein.yml fix(deploy): подменять фронт МЕРЫ отдельной командой — окно 30–90 с уходит 2026-09-12 00:44:46 +05:00
deploy.yml fix(deploy): правки ревью гейта ПТИЦЫ — таймаут сессии, crash-loop, множественный id (#3324) 2026-09-02 16:58:40 +05:00
perimeter-smoke.yml ci: смоук периметра МЕРЫ запускается сразу после деплоя (#2917) (#2922) 2026-08-19 08:13:49 +00:00
stale-claims.yml fix(stale-claims): avoid SIGPIPE 141 — pass file path не pipe 2026-05-28 01:05:56 +03:00