Architecture » History » Version 2
Hardelele User, 02/18/2026 11:41 AM
Fix: convert to CommonMark format
| 1 | 2 | Hardelele User | # Architecture |
|---|---|---|---|
| 2 | 1 | Hardelele User | |
| 3 | 2 | Hardelele User | ## Компоненты системы |
| 4 | 1 | Hardelele User | |
| 5 | Система делится на две основные части: |
||
| 6 | |||
| 7 | 2 | Hardelele User | ### Control Plane (серверная инфраструктура) |
| 8 | 1 | Hardelele User | |
| 9 | 2 | Hardelele User | | Компонент | Технология | Описание | |
| 10 | | --- | --- | --- | |
||
| 11 | 1 | Hardelele User | | API | NestJS (TypeScript) | REST + WebSocket сервер, бизнес-логика, управление агентами | |
| 12 | | Web | Next.js (TypeScript) | Веб-интерфейс для пользователей, дашборд, терминал | |
||
| 13 | | Database | PostgreSQL | Хранение данных: пользователи, агенты, сессии, логи | |
||
| 14 | |||
| 15 | 2 | Hardelele User | ### Agent (клиентская часть) |
| 16 | 1 | Hardelele User | |
| 17 | 2 | Hardelele User | | Компонент | Технология | Описание | |
| 18 | | --- | --- | --- | |
||
| 19 | 1 | Hardelele User | | Agent | Rust (.exe) | Запускается на Windows-машинах, подключается к API по WebSocket | |
| 20 | |||
| 21 | 2 | Hardelele User | ## Схема взаимодействия |
| 22 | 1 | Hardelele User | |
| 23 | 2 | Hardelele User | ``` |
| 24 | Browser Next.js Web NestJS API Rust Agent |
||
| 25 | | (app.reckue.com) | | |
||
| 26 | | --- HTTPS ---> | | | |
||
| 27 | | <-- HTML/JS -- | | | |
||
| 28 | | | --- REST/WS ---> | | |
||
| 29 | | | <-- JSON ------- | | |
||
| 30 | | | | <-- WebSocket --- | |
||
| 31 | | | | --- Commands ---> | |
||
| 32 | | | | | |
||
| 33 | | | | --- PostgreSQL | |
||
| 34 | | | | (72.56.119.162) | |
||
| 35 | ``` |
||
| 36 | 1 | Hardelele User | |
| 37 | 2 | Hardelele User | - **Browser** ↔ **Next.js Web** (`app.reckue.com`) — HTTPS, отрисовка интерфейса |
| 38 | - **Next.js Web** ↔ **NestJS API** — REST (данные) + WebSocket (реалтайм) |
||
| 39 | - **NestJS API** ↔ **Rust Agent** — WebSocket (управление сессиями, команды, вывод) |
||
| 40 | - **NestJS API** ↔ **PostgreSQL** — ORM (TypeORM), хранение данных |
||
| 41 | 1 | Hardelele User | |
| 42 | 2 | Hardelele User | ## Серверы |
| 43 | 1 | Hardelele User | |
| 44 | 2 | Hardelele User | | IP | Роль | Домен | ОС | |
| 45 | | --- | --- | --- | --- | |
||
| 46 | | `176.53.162.120` | Git (Gitea) | [git.reckue.com](https://git.reckue.com) | Ubuntu 24.04 | |
||
| 47 | | `72.56.119.246` | Deploy (API + Web) | [app.reckue.com](https://app.reckue.com) | Ubuntu | |
||
| 48 | | `72.56.119.162` | PostgreSQL | — | Ubuntu | |
||
| 49 | 1 | Hardelele User | |
| 50 | 2 | Hardelele User | ## Стек технологий |
| 51 | 1 | Hardelele User | |
| 52 | 2 | Hardelele User | | Слой | Технология | |
| 53 | | --- | --- | |
||
| 54 | 1 | Hardelele User | | Frontend | Next.js (React, TypeScript) | |
| 55 | | Backend | NestJS (TypeScript) | |
||
| 56 | | Agent | Rust | |
||
| 57 | | Database | PostgreSQL | |
||
| 58 | | Контейнеризация | Docker, Docker Compose | |
||
| 59 | | Git-хостинг | Gitea | |
||
| 60 | | CI/CD | Gitea Actions (планируется) | |