|
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
Канал включили — и алерты бэкапов посыпались в ОБЩУЮ тему форума. В форуме
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, и сорсинг
запустил бы настоящие сетевые проверки.
|
||
|---|---|---|
| .. | ||
| db-bootstrap | ||
| glitchtip-auth-forwarder | ||
| metrics | ||
| backup-couchdb.sh | ||
| backup-forgejo.sh | ||
| backup.sh | ||
| check-backup-staleness.sh | ||
| crontab-beget.cron | ||
| crontab-poincare.cron | ||
| docker-prune.sh | ||
| gendesign-backup-couchdb.default.example | ||
| gendesign-backup-forgejo.default.example | ||
| gendesign-backup.default.example | ||
| gendesign-uptime.default.example | ||
| journald-gendesign.conf.example | ||
| lib-backup.sh | ||
| restore-drill.sh | ||
| restore.sh | ||
| selectel-audit.sh | ||
| selectel-bootstrap.sh | ||
| selectel-ci-access.sh | ||
| split-infra-postgres.sh | ||
| uptime-healthcheck.sh | ||