gendesign/caddy
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
..
local fix(infra/caddy): site-блоки с секретами переживают деплой — import caddy/local/*.caddy 2026-08-18 09:42:53 +03:00
sites fix(caddy): ретрай подключения к фронту МЕРЫ — остаток окна подмены (#3274) 2026-09-12 00:45:18 +05:00
deploy-window.caddy.snippet fix(caddy): страница «сервис обновляется» вместо голого 502 в окне деплоя 2026-09-05 22:48:54 +05:00
metrics-ingest.caddy.snippet feat(observability): стек метрик и логов — Prometheus, Loki, Grafana, агенты на обоих хостах 2026-08-26 10:45:54 +03:00
metrics-ui.caddy.snippet feat(observability): стек метрик и логов — Prometheus, Loki, Grafana, агенты на обоих хостах 2026-08-26 10:45:54 +03:00
users.caddy.snippet chore(auth): regenerate praktika pilot password (#635/#659) 2026-05-30 21:10:09 +03:00