gendesign/.forgejo/workflows
bot-backend 13269d8ebb
All checks were successful
CI / changes (pull_request) Successful in 10s
CI Trade-In / changes (pull_request) Successful in 7s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m5s
CI / backend-tests (pull_request) Successful in 17m28s
fix(tradein/deploy): подключить selectel-оверрайд — иначе после переезда бот умрёт молча
docker-compose.selectel.yml лежит в репозитории с 23.08 и закрепляет рабочий IP
api.telegram.org через extra_hosts у backend и tgbot. Но ни один вызов compose в
deploy-tradein.yml его не подключал — везде было жёстко `-f docker-compose.prod.yml`.

Написанный, но никем не подключённый оверрайд выглядит как решённая проблема,
оставаясь нерешённой: первый же деплой на новом хосте поднял бы МЕРУ БЕЗ
закрепления, и телеграм-бот вместе с пересылкой алертов умерли бы молча. У
api.telegram.org семь публикуемых адресов, с Selectel отвечает РОВНО ОДИН
(149.154.167.220), и штатный резолвер отдаёт мёртвый. Отказ скрывает сам себя:
канал, которым мы узнали бы о беде, — тот же самый Telegram.

Вводится COMPOSE_FILES, подставляется в три вызова, создающих контейнеры (pull,
up -d postgres, up -d $SERVICES). Остальные вызовы в файле — exec -T против уже
поднятых контейнеров, им набор -f не нужен.

Подключается безусловно, на обоих хостах. Замер 25.08 с Beget:
    149.154.167.220 -> 302 за 0.18 с
    реальный Bot API /getMe -> {"ok":false,"error_code":401}
то есть отвечает именно Telegram. Условная логика «оверрайд только на Selectel»
была бы лишней машинерией ради хоста, который после 30.08 перестанет быть
продовым. Цена: на Beget пропадает запасной путь через резолвер — принято
сознательно, в файле это оговорено как единственная точка отказа.

Пропажа файла валит деплой, а не печатает предупреждение: файл git-tracked, а
шагом выше рабочее дерево принудительно приводится к origin/main, поэтому его
отсутствие означает поломку. Зелёный лог с предупреждением был бы ровно тем
тихим отказом, от которого защищает правка.

Шапка docker-compose.selectel.yml переписана: файл больше не Selectel-only.
Там же зафиксировано, почему его нельзя подмешивать к стеку ПТИЦЫ — сервиса
tgbot там нет, compose отвергает весь проект ("has neither an image nor a build
context"), а сервис backend есть в обоих, и закрепление молча легло бы на
бэкенд Птицы. Раннбук окна предлагал именно такую команду — проверено, падает.

Refs #3059
2026-08-25 19:20:43 +03:00
..
ci-tradein.yml fix(db/ci): чистый старт БД больше не падает на 077 и не может уехать на пустой схеме 2026-08-20 23:31:46 +03:00
ci.yml fix(ci): прод-деплои в одну группу concurrency — прун одного убивал pull другого (#2950) (#2952) 2026-08-20 07:47:48 +00:00
deploy-infra.yml feat(ops): у волта Obsidian появился автоматический бэкап (#3090) 2026-08-25 05:44:16 +00:00
deploy-obsidian.yml fix(ci): стек CouchDB после переезда остаётся на своём хосте (#3087) 2026-08-24 17:58:56 +00:00
deploy-tradein.yml fix(tradein/deploy): подключить selectel-оверрайд — иначе после переезда бот умрёт молча 2026-08-25 19:20:43 +03:00
deploy.yml chore(ci): деплой не убивает worker посреди скрап-прогона (#3084) 2026-08-24 17:25:23 +00: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