fix(ops/metrics): тема «метрики» задаётся дефолтом, а не ручным заведением секрета #3167

Merged
bot-backend merged 1 commit from fix/3163-infra-topic-default into main 2026-08-27 19:47:29 +00:00
Collaborator

Продолжение #3163: разделение тем зависело от ручного шага «завести секрет», и шаг отказал сразу же.

Замер

Два прогона деплоя подряд — 19:09:48 и 19:11:46 UTC — отработали зелёными и напечатали:

out: Инфраструктура: METRICS_TELEGRAM_INFRA_TOPIC_ID не задана — откат на METRICS_TELEGRAM_TOPIC_ID, топик ***.

Боевой конфиг после обоих: message_thread_id: 158. Тема «метрики» осталась пустой при полностью зелёном деплое — то есть откат вернул ровно то состояние, ради ухода от которого всё затевалось, и сообщил об этом строкой в логе прогона, которую никто не читает.

Отдельно: Forgejo маскирует значения секретов в логе звёздочками, поэтому даже правильно сработавший вариант печатался бы как топик ***. Строка в логе не была способна подтвердить успех — проверять всё равно приходится конфигом внутри контейнера.

Правка

INFRA_TOPIC_ID="${METRICS_TELEGRAM_INFRA_TOPIC_ID:-245}" — значение по умолчанию в самом деплое.

Номер темы форума секретом не является: в репозитории уже лежат домены, пути на хостах, имена контейнеров и внешние адреса. Переменная окружения по-прежнему перекрывает значение — переезд темы или другой чат решается ею, без правки кода.

Откат на METRICS_TELEGRAM_TOPIC_ID убран и запрещён тестом. Молчаливое «почти правильно» здесь хуже явной поломки: пустая тема при зелёном деплое не замечается, а сломанный рендер конфига — замечается сразу.

Проверено

переменная задана (999) → тема 999 из окружения
переменной нет          → тема 245 по умолчанию
grep на возврат отката  → 0 совпадений

backend/tests/ops — 86 passed, YAML воркфлоу парсится.

Продолжение #3163: разделение тем зависело от ручного шага «завести секрет», и шаг отказал сразу же. ## Замер Два прогона деплоя подряд — 19:09:48 и 19:11:46 UTC — отработали зелёными и напечатали: ``` out: Инфраструктура: METRICS_TELEGRAM_INFRA_TOPIC_ID не задана — откат на METRICS_TELEGRAM_TOPIC_ID, топик ***. ``` Боевой конфиг после обоих: `message_thread_id: 158`. Тема «метрики» осталась пустой при полностью зелёном деплое — то есть откат вернул ровно то состояние, ради ухода от которого всё затевалось, и сообщил об этом строкой в логе прогона, которую никто не читает. Отдельно: Forgejo маскирует значения секретов в логе звёздочками, поэтому даже правильно сработавший вариант печатался бы как `топик ***`. Строка в логе не была способна подтвердить успех — проверять всё равно приходится конфигом внутри контейнера. ## Правка `INFRA_TOPIC_ID="${METRICS_TELEGRAM_INFRA_TOPIC_ID:-245}"` — значение по умолчанию в самом деплое. Номер темы форума секретом не является: в репозитории уже лежат домены, пути на хостах, имена контейнеров и внешние адреса. Переменная окружения по-прежнему перекрывает значение — переезд темы или другой чат решается ею, без правки кода. **Откат на `METRICS_TELEGRAM_TOPIC_ID` убран и запрещён тестом.** Молчаливое «почти правильно» здесь хуже явной поломки: пустая тема при зелёном деплое не замечается, а сломанный рендер конфига — замечается сразу. ## Проверено ``` переменная задана (999) → тема 999 из окружения переменной нет → тема 245 по умолчанию grep на возврат отката → 0 совпадений ``` `backend/tests/ops` — 86 passed, YAML воркфлоу парсится.
bot-backend added 1 commit 2026-08-27 19:29:25 +00:00
fix(ops/metrics): тема «метрики» задаётся дефолтом, а не ручным заведением секрета
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 9s
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 2m2s
CI / backend-tests (pull_request) Successful in 17m10s
192fdbfbf6
Разделение тем из #3163 зависело от шага «завести секрет руками». Шаг отказал
сразу же: 27.08 два прогона деплоя подряд отработали зелёными, напечатали
строку про откат — и тема «метрики» осталась пустой, а весь инфраструктурный
поток продолжил идти в тему клиентских инцидентов.

Номер темы форума секретом не является: в репозитории уже лежат домены, пути
на хостах, имена контейнеров и внешние адреса. Ставим 245 значением по
умолчанию прямо в деплое; переменная окружения по-прежнему перекрывает — переезд
темы или другой чат решается ею, без правки кода.

Откат на METRICS_TELEGRAM_TOPIC_ID убран намеренно и запрещён тестом. Он
возвращал ровно то состояние, ради ухода от которого всё затевалось, и
сообщал об этом строкой в логе прогона, которую никто не читает. Молчаливое
«почти правильно» хуже явной поломки.

Прогнано в обе стороны: с переменной — тема из окружения, без неё — 245.
backend/tests/ops — 86 passed.
bot-backend merged commit ba57cf7c05 into main 2026-08-27 19:47:29 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#3167
No description provided.