edit README

This commit is contained in:
2026-04-06 16:16:05 +03:00
parent 21fafb511b
commit a7343b8ec3
+72 -1
View File
@@ -1 +1,72 @@
# HomeOps-Hub
# 🚀 HomeOps Hub
**HomeOps Hub** — это персональный "Control Plane" и центр автоматизации для вашего домашнего сервера. Это не просто мониторинг, это ваш домашний **Jarvis**, который не только сообщает о проблемах, но и умеет их исправлять.
## ✨ Основная концепция
В отличие от классических систем мониторинга (Zabbix/Prometheus), HomeOps Hub сфокусирован на **управлении** и **реакции**.
* **Security First:** Агент на сервере не принимает произвольные bash-команды. Только строго типизированный `Allowlist`.
* **Pull-model:** Агент сам подключается к Хабу. Вам не нужно открывать порты наружу или настраивать SSH-доступы.
* **Telegram-Native:** Весь интерфейс управления — в вашем кармане.
---
## 🛠 Ключевые возможности
### 1. Управление инфраструктурой (Command API)
Безопасное выполнение операций через Telegram или API:
* **Docker:** Список контейнеров, рестарт, чтение логов (`tail`), апдейт проектов через Compose.
* **FS:** Анализ дискового пространства и поиск "тяжелых" папок.
* **Network:** Проверка доступности локальных и внешних сервисов (Healthchecks).
### 2. Умные Runbooks (Автоматизация)
Сценарии самовосстановления системы без участия человека:
* **CrashLoop Recovery:** Если контейнер падает чаще 5 раз за 10 минут — перезапуск + сбор логов + уведомление.
* **Disk Pressure:** При заполнении диска > 85% — автоматический отчет о топ-20 самых тяжелых директориях.
* **HTTP Watchdog:** Если веб-сервис перестал отвечать — попытка рестарта и проверка связности.
### 3. Аудит и Прозрачность
* Полная история: кто, когда и какую команду запустил.
* Логирование результатов выполнения всех автоматических сценариев.
---
## 🏗 Архитектура
Проект состоит из трех основных компонентов:
1. **Hub (The Brain):** Центральный сервис на Go/Python. Хранит конфигурации, управляет состоянием, оркестрирует Runbooks и управляет Telegram-ботом. База данных — Postgres.
2. **Agent (The Executor):** Легковесный бинарный файл, работающий непосредственно на целевом хосте. Связь с Хабом через **gRPC Stream**.
3. **Telegram Interface:** Основной UI для оперативного управления с использованием Inline-кнопок для быстрых действий (Ack, Mute, Restart).
---
## 📋 Командный интерфейс (Telegram)
| Команда | Описание |
| :--- | :--- |
| `/status` | Общий статус здоровья системы и активных алертов |
| `/containers` | Список Compose-проектов и статус контейнеров |
| `/logs <name>` | Получить последние 200 строк логов сервиса |
| `/silence <1h>` | Временное отключение уведомлений (режим техобслуживания) |
| `/audit` | Список последних 5 действий в системе |
---
## 🚀 План развития (Roadmap)
- [ ] **v0.1: MVP "Пульт"** — Реализация gRPC связи, базовые команды Docker и Telegram-бот.
- [ ] **v0.2: Автоматика** — Движок Runbooks, обработка событий CrashLoop и DiskPressure.
- [ ] **v0.3: Диагностика** — Автосбор контекста (bundle) при авариях, расширенные отчеты.
- [ ] **v1.0: Экосистема** — Поддержка нескольких агентов и плагины уведомлений.
---
## 🔒 Безопасность
* **No Inbound Ports:** Агент не слушает порты. Соединение всегда инициируется изнутри вашей сети.
* **mTLS / Token Auth:** Весь трафик между Агентом и Хабом зашифрован.
* **Hardened Commands:** Невозможно выполнить `rm -rf /` — доступны только те команды, что описаны в коде агента.
*Created with ❤️ for Stasik.*