From a7343b8ec348268741aafb751015378da7bb5df4 Mon Sep 17 00:00:00 2001 From: lorsan Date: Mon, 6 Apr 2026 16:16:05 +0300 Subject: [PATCH] edit README --- README.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a6a4375..b31d324 100644 --- a/README.md +++ b/README.md @@ -1 +1,72 @@ -# HomeOps-Hub \ No newline at end of file +# 🚀 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 ` | Получить последние 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.* \ No newline at end of file