feat: реализовать EvoFirewall V1 control plane
API, UI, Linux/MikroTik agents, IP lists, политики, stats, CI и интеграция с auth-portal/EvoBGP. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -1,67 +1,42 @@
|
||||
# EvoFirewall
|
||||
|
||||
Централизованный firewall controller: Linux / MikroTik agents, blocklists, статистика.
|
||||
Централизованный firewall controller: Linux / MikroTik agents, IP lists, allow/deny политики, статистика.
|
||||
|
||||
Интеграции (план): **auth-portal** (SSO, app id `fw`), **EvoBGP** (источник префиксов).
|
||||
Интеграции: **auth-portal** (SSO, app id `fw`), **EvoBGP** (источник префиксов).
|
||||
|
||||
## Стек (как CFDM / VPS Tracker)
|
||||
## Стек
|
||||
|
||||
- Monorepo: pnpm workspaces + turbo
|
||||
- `apps/web` — Vite + React + TanStack Router/Query + shadcn/ui + ReUI
|
||||
- `apps/api` — Fastify + Drizzle + SQLite
|
||||
- `packages/ui` — `@evofw/ui` (shadcn primitives)
|
||||
- `packages/shared` — Zod-контракты
|
||||
- `packages/db` — схема и репозитории
|
||||
|
||||
## Структура
|
||||
|
||||
```
|
||||
apps/
|
||||
web/ # SPA
|
||||
api/ # HTTP API
|
||||
packages/
|
||||
ui/ # shadcn CLI output
|
||||
shared/ # contracts
|
||||
db/ # drizzle
|
||||
docs/
|
||||
deploy/
|
||||
scripts/
|
||||
data/ # SQLite (gitignored)
|
||||
```
|
||||
- `apps/web` — Vite + React + TanStack + shadcn/ui + ReUI Frame
|
||||
- `apps/api` — Fastify 5 + Drizzle + SQLite
|
||||
- Packages: `@evofw/ui`, `@evofw/shared`, `@evofw/db`
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
```bash
|
||||
pnpm install
|
||||
cp .env.example .env
|
||||
# ReUI PRO: apps/web/.env.local уже с ключом (из CFDM) или скопируйте:
|
||||
# copy ..\cloudflare-domain-manager\apps\web\.env.local apps\web\.env.local
|
||||
pnpm --filter @evofw/db build
|
||||
pnpm --filter @evofw/shared build
|
||||
pnpm --filter @evofw/api dev # :8080
|
||||
pnpm --filter @evofw/web dev # :5177
|
||||
```
|
||||
|
||||
Scaffold пока без Vite/Fastify — следующий шаг: init web/api по образцу CFDM.
|
||||
|
||||
## ReUI PRO
|
||||
|
||||
Skill + MCP установлены официальным инсталлером (`https://mcp.reui.io/install`):
|
||||
|
||||
- Skill: `.agents/skills/reui` (версия `42d70dcc3d`)
|
||||
- MCP: `.mcp.json` / `.cursor/mcp.json` → `https://mcp.reui.io/api/mcp`
|
||||
- Rules: `.cursor/rules/reui-mcp.mdc`, `reui.mdc`, `shadcn-*.mdc`, `frontend-*.mdc`
|
||||
- Contract: [`docs/ui-design-contract.md`](docs/ui-design-contract.md) — surface **frame**
|
||||
Linux agent:
|
||||
|
||||
```bash
|
||||
cd apps/web
|
||||
# нужен REUI_LICENSE_KEY в .env.local (уже из CFDM)
|
||||
pnpm dlx shadcn@latest add @reui/frame --yes
|
||||
curl -fsSL http://localhost:8080/v1/agent/install.sh | \
|
||||
EVOFW_CP_URL=http://localhost:8080 \
|
||||
EVOFW_SEED=dev-enroll-seed-change-me \
|
||||
EVOFW_CLIENT_NAME="web-01" \
|
||||
bash
|
||||
```
|
||||
|
||||
Обновить skill/MCP:
|
||||
Затем Approve в UI `/agents`.
|
||||
|
||||
```bash
|
||||
curl -fsSL https://mcp.reui.io/install | node -
|
||||
```
|
||||
## Docs
|
||||
|
||||
Docs: https://reui.io/docs/license-setup · https://reui.io/llms.txt · https://reui.io/docs/mcp · https://reui.io/docs/agent-skills
|
||||
См. [`docs/README.md`](docs/README.md).
|
||||
|
||||
## Git
|
||||
|
||||
|
||||
Reference in New Issue
Block a user