dea27b5459b71c425d56a127cb974acf8c77e295
Normalize email input by stripping whitespace and converting to lowercase in login endpoint, remove EmailStr validation in favor of plain string type, move dark mode class toggle from Layout to App component for better initialization, add theme toggle button to login page, and set dark mode as default theme when no preference is stored
NexaFabric
NexaFabric is an open-source SDN-like network and security control plane for Proxmox VE environments. It runs as an external web application and provides inventory, IPAM, security groups, policy simulation, firewall previews, audit trails, and automation without patching Proxmox itself.
What Is Included
- FastAPI backend with SQLAlchemy 2, Alembic-ready models, JWT auth, RBAC primitives, audit logging, and provider interfaces.
- React + TypeScript frontend with Vite, Tailwind CSS, TanStack Query, React Router, Zustand, dark/light mode, and production-oriented pages.
- PostgreSQL, Redis, worker, API, frontend, and reverse proxy through Docker Compose.
- Demo seed data for clusters, nodes, workloads, networks, tenants, policies, IPAM, jobs, and audit events.
- Tests, lint/type-check scripts, CI workflow, and operational documentation.
Quick Start
cp .env.example .env
docker compose up --build
Then open:
- Frontend: http://localhost:8080
- API docs: http://localhost:8080/api/docs
Demo login:
- Email:
admin@nexafabric.local - Password:
ChangeMe_UseEnvInstead
Repository Layout
backend/ FastAPI API, models, services, worker entrypoint, tests
frontend/ React application, API client, pages, component tests
docs/ Architecture, operations, security, provider and API docs
nginx/ Reverse proxy example
Safety Model
NexaFabric never applies firewall changes without a preview, validation, and audit record. The included Proxmox provider is designed around read-only inventory first. Write-enabled orchestration is intentionally routed through explicit dry-run and apply workflows.
Languages
Python
51.6%
TypeScript
45.3%
Go
2.3%
CSS
0.3%
Shell
0.2%
Other
0.2%