gendesign/ops
bot-backend 8945ea5d04
Some checks failed
CI Trade-In / changes (pull_request) Successful in 8s
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 / changes (pull_request) Successful in 10s
CI / frontend-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Failing after 1m6s
CI / openapi-codegen-check (pull_request) Successful in 1m55s
fix(ops): оповещения уходят в тему «алерты», а не в переговорку (#2203)
Канал включили — и алерты бэкапов посыпались в ОБЩУЮ тему форума. В форуме
Telegram адрес сообщения это пара «чат + тема»: без message_thread_id всё
попадает в General, причём без единой ошибки. sendMessage возвращает 200,
доставка «успешна», просто не туда.

Отказ того же класса, что и всё остальное сегодня: зелено везде, а человек,
которому адресован алерт, его не видит.

Оба отправителя (ops/lib-backup.sh и ops/uptime-healthcheck.sh) получили
условную подстановку ${TELEGRAM_TOPIC_ID:+-d "message_thread_id=..."}.
Условная намеренно: пустой message_thread_id= Telegram отвергает вместе со
всем сообщением, а молчащий алерт хуже алерта не в той теме. Нет переменной —
нет параметра, поведение прежнее бит в бит.

Тест ИСПОЛНЯЕТ настоящий notify(), извлечённый из файла построчно, подсовывая
подставной curl и проверяя, что реально ушло бы в сеть. Проверять подстроку в
файле бессмысленно: она может стоять в мёртвой ветке. Копировать функцию в
тест — тоже: копия разойдётся с оригиналом на первой правке. Сорсить файл
целиком нельзя: у uptime-healthcheck.sh нет guard'а по BASH_SOURCE, и сорсинг
запустил бы настоящие сетевые проверки.
2026-08-27 13:12:10 +03:00
..
db-bootstrap chore(ops): адрес Poincare — 188.124.37.140 вместо заменённого 188.246.224.93 (#3110) 2026-08-27 11:23:37 +03:00
glitchtip-auth-forwarder fix(tradein/observability): stop basic_auth 401 and RetryError GlitchTip noise 2026-08-15 18:08:04 +03:00
metrics fix(observability): пароли не уезжают в Loki — скруббер учётных данных (#3114) 2026-08-26 15:50:57 +03:00
backup-couchdb.sh chore(ops): backup-couchdb.sh исполняемый, как остальные бэкапы (#3091) 2026-08-25 05:48:41 +00:00
backup-forgejo.sh feat(ops): лёгкий Postgres на Beget под forgejo и glitchtip (#3080) 2026-08-24 16:31:12 +00:00
backup.sh fix(ops): бэкап без выгрузки в S3 падает, а не рапортует успех (#3086) 2026-08-24 17:50:18 +00:00
check-backup-staleness.sh fix(ops): restore +x on new ops/*.sh (exec bit lost in prior commit, Windows core.filemode=false) 2026-08-21 15:38:31 +03:00
crontab-beget.cron feat(ops): у волта Obsidian появился автоматический бэкап (#3090) 2026-08-25 05:44:16 +00:00
crontab-poincare.cron chore(ops): адрес Poincare — 188.124.37.140 вместо заменённого 188.246.224.93 (#3110) 2026-08-27 11:23:37 +03:00
docker-prune.sh chore(ops): снятие зависших job-контейнеров раннера + лимит journald + мёртвый Caddy-блок 2026-08-15 22:27:48 +03:00
gendesign-backup-couchdb.default.example feat(ops): у волта Obsidian появился автоматический бэкап (#3090) 2026-08-25 05:44:16 +00:00
gendesign-backup-forgejo.default.example feat(ops): лёгкий Postgres на Beget под forgejo и glitchtip (#3080) 2026-08-24 16:31:12 +00:00
gendesign-backup.default.example fix(ops): бэкап без выгрузки в S3 падает, а не рапортует успех (#3086) 2026-08-24 17:50:18 +00:00
gendesign-uptime.default.example ci(infra): coverage-gate (#68) + OpenAPI codegen-assert (#69) + uptime monitoring (#75) 2026-06-13 23:28:06 +05:00
journald-gendesign.conf.example chore(ops): снятие зависших job-контейнеров раннера + лимит journald + мёртвый Caddy-блок 2026-08-15 22:27:48 +03:00
lib-backup.sh fix(ops): оповещения уходят в тему «алерты», а не в переговорку (#2203) 2026-08-27 13:12:10 +03:00
restore-drill.sh fix(ops): бэкап без выгрузки в S3 падает, а не рапортует успех (#3086) 2026-08-24 17:50:18 +00:00
restore.sh fix(ops): восстановление не падает в хвосте из-за незаведённых ролей (#3089) 2026-08-25 05:18:53 +00:00
selectel-audit.sh feat(ci): деплой проверяет, к тому ли хосту подключился (#3079) 2026-08-24 16:36:50 +00:00
selectel-bootstrap.sh fix(ops): закрепить рабочий адрес api.telegram.org на новом хосте 2026-08-23 23:32:35 +03:00
selectel-ci-access.sh chore(ops): адрес Poincare — 188.124.37.140 вместо заменённого 188.246.224.93 (#3110) 2026-08-27 11:23:37 +03:00
split-infra-postgres.sh chore(ops): адрес Poincare — 188.124.37.140 вместо заменённого 188.246.224.93 (#3110) 2026-08-27 11:23:37 +03:00
uptime-healthcheck.sh fix(ops): оповещения уходят в тему «алерты», а не в переговорку (#2203) 2026-08-27 13:12:10 +03:00