Add legacy ADR
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# Apprise как шлюз нотификаций
|
||||
|
||||
- Дата: 2026-04-04
|
||||
|
||||
## Контекст
|
||||
|
||||
В первую очередь нужны были нотификации о бэкапах — знать, что ночной
|
||||
прогон отработал и не сломался. Уведомления слались напрямую в конкретный
|
||||
канал, привязка была зашита в каждом источнике. Хотелось единый слой,
|
||||
который абстрагирует каналы доставки — чтобы добавлять или менять канал в
|
||||
одном месте, а не править каждый источник.
|
||||
|
||||
## Рассмотренные варианты
|
||||
|
||||
- **Прямая интеграция per-канал** (как было). Каждый источник знает про
|
||||
конкретный канал; смена канала — правки во многих местах.
|
||||
- **Apprise** (выбран). Смотрел разные self-hosted шлюзы нотификаций;
|
||||
apprise выиграл зрелостью и числом готовых интеграций (десятки каналов
|
||||
из коробки).
|
||||
|
||||
## Решение
|
||||
|
||||
Подняли apprise отдельным сервисом-шлюзом: источники шлют уведомление по
|
||||
HTTP в apprise, а он разводит его по настроенным каналам (коммиты
|
||||
`a0543e1`, `5f619ea`, `6bfb362`). Под ограниченную память сервера apprise
|
||||
запущен в один воркер (`5e6df11`).
|
||||
|
||||
## Последствия
|
||||
|
||||
- `+` Каналы доставки абстрагированы за единым шлюзом — добавить или
|
||||
сменить канал можно в одном месте, не трогая источники.
|
||||
- `+` Доступ к десяткам интеграций apprise без отдельного кода под
|
||||
каждую.
|
||||
- `-` Ещё один сервис в обслуживании (контейнер, память).
|
||||
- Окупилось при переезде в Timeweb: провайдер заблокировал Telegram, и
|
||||
переключение нотификаций (сейчас почта, в планах Matrix) локализовано в
|
||||
шлюзе ([ADR-2026-05-23](ADR-2026-05-23-migrate-to-timeweb.md)).
|
||||
Reference in New Issue
Block a user