mirror of
https://github.com/lorsanstand/HomeOps-Hub.git
synced 2026-09-18 13:58:20 +03:00
Compare commits
3 Commits
bef8409b8c
...
f0c3a67826
| Author | SHA1 | Date | |
|---|---|---|---|
| f0c3a67826 | |||
| ef67ccd7b2 | |||
| 8705f8708d |
@@ -37,7 +37,7 @@
|
||||
|
||||
Проект состоит из трех основных компонентов:
|
||||
|
||||
1. **Hub (The Brain):** Центральный сервис на Go/Python. Хранит конфигурации, управляет состоянием, оркестрирует Runbooks и управляет Telegram-ботом. База данных — Postgres.
|
||||
1. **Hub (The Brain):** Центральный сервис на Go/Python. Хранит конфигурации, управляет состоянием, оркестрирует Runbooks и управляет Telegram-ботом. База данных — SQLite.
|
||||
2. **Agent (The Executor):** Легковесный бинарный файл, работающий непосредственно на целевом хосте. Связь с Хабом через **gRPC Stream**.
|
||||
3. **Telegram Interface:** Основной UI для оперативного управления с использованием Inline-кнопок для быстрых действий (Ack, Mute, Restart).
|
||||
|
||||
@@ -66,7 +66,6 @@
|
||||
|
||||
## 🔒 Безопасность
|
||||
* **No Inbound Ports:** Агент не слушает порты. Соединение всегда инициируется изнутри вашей сети.
|
||||
* **mTLS / Token Auth:** Весь трафик между Агентом и Хабом зашифрован.
|
||||
* **Hardened Commands:** Невозможно выполнить `rm -rf /` — доступны только те команды, что описаны в коде агента.
|
||||
|
||||
*Created with ❤️ for Stasik.*
|
||||
@@ -1,6 +1,6 @@
|
||||
CREATE TABLE heartbeats (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
agent_id VARCHAR(32) UNIQUE NOT NULL,
|
||||
agent_id VARCHAR(32) NOT NULL,
|
||||
cpu_usage FLOAT NOT NULL ,
|
||||
memory_usage FLOAT NOT NULL ,
|
||||
disk_usage FLOAT NOT NULL ,
|
||||
|
||||
@@ -90,9 +90,12 @@ func (a *AgentConnection) listenHeartbeat(heartbeats <-chan domainHub.CreateHear
|
||||
}
|
||||
|
||||
a.log.Warn().Msg("agent not send heartbeat")
|
||||
a.Close()
|
||||
_ = a.Close()
|
||||
return
|
||||
case heartbeat := <-heartbeats:
|
||||
case heartbeat, ok := <-heartbeats:
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
a.log.Debug().
|
||||
Float64("cpu usage", heartbeat.Metrics.CpuUsage).
|
||||
Float64("disk usage", heartbeat.Metrics.DiskUsage).
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
package connection_manager
|
||||
Reference in New Issue
Block a user