harden deploy reports and admin alerts
This commit is contained in:
16
ADMIN.md
16
ADMIN.md
@@ -53,6 +53,7 @@ Notifications:
|
||||
- `GET /api/admin/notifications`
|
||||
- `POST /api/admin/notifications/{id}/read`
|
||||
- `POST /api/admin/notifications/read-all`
|
||||
- `POST /api/admin/notifications/retry`
|
||||
- `POST /api/admin/notifications/{id}/dismiss`
|
||||
|
||||
Data Explorer:
|
||||
@@ -153,3 +154,18 @@ Data Explorer работает только по whitelist источников
|
||||
- `/admin_alerts`
|
||||
|
||||
API дополнительно проверяет роль пользователя, поэтому команда не дает доступа без admin-role в БД.
|
||||
|
||||
## Deploy Reports
|
||||
|
||||
Для временного rsync-деплоя есть `scripts/rsync_deploy.sh`. Скрипт:
|
||||
|
||||
- запускает локальные `ruff` и `pytest`;
|
||||
- отправляет Telegram progress/failure/success отчеты;
|
||||
- делает remote code backup без `.env`;
|
||||
- синхронизирует код через `rsync`;
|
||||
- собирает Docker images;
|
||||
- применяет Alembic migrations;
|
||||
- поднимает `api` и `bot`;
|
||||
- проверяет `/health`, `/ready`, `/metrics`, `/admin.html`, `/sto.html`, `/work_order.html`.
|
||||
|
||||
Утилита `scripts/send_telegram_report.py` берет получателей из `ADMIN_NOTIFICATION_CHAT_ID`, `ADMIN_TELEGRAM_IDS` и, если env пустой, из пользователей БД с ролями `admin`, `super_admin`, `moderator`, `support`.
|
||||
|
||||
Reference in New Issue
Block a user