15b5cce8cc2385ff47529ca3d08ea69fdd218993
quality / commitlint (push) Skipped
quality / changes (push) Failing after 8s
quality / openapi (push) Skipped
quality / web (push) Skipped
quality / api (push) Skipped
CD / quality (push) Failing after 9s
quality / docker-check (push) Skipped
CD / publish (push) Skipped
- genReqId (uuid) + x-request-id в каждом ответе и request_id в error envelope — корреляция ошибок между клиентом и логами - RBAC: /agents/:id/(stats|blocked-ips|blocked-ports) классифицируются как fw:stats:read (reset остаётся под fw:agents:write) - web: test-скрипт + 10 unit-тестов (filter-utils, fleet-kpis, parseClaims, nav) - typecheck-скрипты для api/shared/db; CI: тесты shared и web, typecheck всех пакетов - гигиена: .node-version (22), актуальный .dockerignore, drizzle out → ./migrations, удалены 12 лишних .gitkeep и пустой apps/api/test
EvoFirewall
Централизованный firewall controller: Linux / MikroTik agents, IP lists, allow/deny политики, статистика.
Интеграции: auth-portal (SSO, app id fw), EvoBGP (источник префиксов).
Стек
- Monorepo: pnpm workspaces + turbo
apps/web— Vite + React + TanStack + shadcn/ui + ReUI Frameapps/api— Fastify 5 + Drizzle + SQLite- Packages:
@evofw/ui,@evofw/shared,@evofw/db
Быстрый старт
pnpm install
cp .env.example .env
pnpm --filter @evofw/db build
pnpm --filter @evofw/shared build
pnpm --filter @evofw/api dev # :8080
pnpm --filter @evofw/web dev # :5177
Linux agent (short link из UI /agents → Добавить агента):
curl -fsSL http://localhost:8080/agent-install/<id> | bash
# или:
curl -fsSL http://localhost:8080/<slug> | bash
Legacy one-liner:
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
Затем Approve в UI /agents.
Docker
cd deploy/docker
docker buildx bake --allow=fs.read=../.. -f docker-bake.hcl --print default
Compose: deploy/compose/docker-compose.example.yaml. Образ: git.shx.one/<owner>/evofw (алиас evofirewall). CI/релизы: docs/releasing.md.
Docs
См. docs/README.md.
Git
origin https://git.shx.one/denozord/EvoFirewall.git