diff --git a/personal/projects/personal-os/eagle-dashboard.md b/personal/projects/personal-os/eagle-dashboard.md index 8c9cb8c3..25f81990 100644 --- a/personal/projects/personal-os/eagle-dashboard.md +++ b/personal/projects/personal-os/eagle-dashboard.md @@ -8,6 +8,20 @@ Process supervisor and control panel for all Eagle local services. --- +## Management Policy + +**Hermes gateway (Eagle и Whale) стартуются, стопаются и перезапускаются ТОЛЬКО через Eagle Dashboard или его API (`POST /api/services//start|stop|restart`).** + +Нельзя: +- `kill` процесс Hermes вручную +- `launchctl` stop/start Hermes +- supervisorctl +- любой другой прямой способ + +Dashboard supervisor управляет процессами через PID-файлы, отслеживает состояние, не рестартует после ручного стопа (`stop` выставляет флаг, autorestart игнорируется до явного `start`). Health check верится по supervisor PID (точное совпадение), а не по подстроке в cmdline. + +Для дашборда самого (`com.eagle.dashboard`, type: self) — кнопки управления скрыты, так как supervisor не может restart/stop/start свой процесс. + ## Architecture FastAPI + HTMX + Tailwind CDN + Alpine.js. No build step, CDN-only frontend. diff --git a/personal/projects/zulip-router.md b/personal/projects/zulip-router.md index 84cba302..c0e7f9c0 100644 --- a/personal/projects/zulip-router.md +++ b/personal/projects/zulip-router.md @@ -85,6 +85,14 @@ bots: - name: "Клавдий" aliases: ["Klavdiy"] webhook: "http://claudio-agent-claudio-1:8092/zulip/webhook" + - name: "Eagle" + aliases: ["eagle", "Eagle"] + webhook: "http://host.docker.internal:8644/webhooks/eagle" + - name: "Кит" + aliases: ["Whale", "whale", "кит"] + webhook: "http://host.docker.internal:8644/webhooks/whale" + aliases: ["Klavdiy"] + webhook: "http://claudio-agent-claudio-1:8092/zulip/webhook" # bot_ids — sender_id ботов в Zulip (чтобы отличать сообщения человека от бота) bot_ids: