Infrastructure Control Plane — Rust + React
Manage servers, containers, VMs, Kubernetes, storage, backups, policies, certificates, configuration, and plugins from a single API and dashboard.
Wiki: Architecture & guides · Docs: setup · API
docker compose -f labs/docker-compose.lab.yml --profile full up -d --build
# Dashboard: http://localhost:5173 (login admin / admin123)
# API: http://localhost:8080Manual:
# Gateway
cd control-plane && cargo run -p nebula-gateway
# Dashboard
cd dashboard && npm install && npm run dev ┌─────────────────────────┐
│ React Dashboard │
│ Vite · TypeScript │
│ :5173 (Compose) │
└───────────┬─────────────┘
│ HTTP / JWT
▼
┌────────────────────────────────────────────────────────────┐
│ Gateway (Rust · Axum) │
│ Auth · RBAC · REST /api/* · WebSocket hub · seed state │
│ :8080 │
└───────┬──────────────┬──────────────┬───────────────────────┘
│ │ │
▼ ▼ ▼
Agents / sims Compose infra Service crates
(metrics POST) Postgres/Redis (node, docker, vm,
NATS (optional) k8s, storage, …)
| Path | Role |
|---|---|
control-plane/gateway |
Main API gateway (Axum) |
control-plane/*-service |
Domain service crates (NATS-oriented scaffolds) |
dashboard |
React control UI |
agent |
Rust host agent (sysinfo → gateway) |
labs |
Docker Compose stack + Python agent simulators |
deployment |
Dockerfiles, Compose, Helm, Terraform |
proto |
gRPC / Protobuf definitions |
docs |
Setup, API, architecture |
| Area | UI | API |
|---|---|---|
| Nodes | /servers |
/api/nodes |
| Containers | /containers |
/api/containers |
| VMs | /vms |
/api/vms |
| Kubernetes | /kubernetes |
/api/k8s/* |
| Networks | /networks |
/api/networks |
| Storage | /storage |
/api/storage/* |
| Backups | /backups |
/api/backups |
| Monitoring / Logs | /monitoring, /logs |
/api/monitoring/*, container logs |
| Inventory / Policies | /inventory, /policies |
/api/inventory, /api/policies |
| Certificates / Config | /certificates, /config |
/api/certificates, /api/config |
| Plugins / Jobs / Alerts | /plugins, /jobs, /alerts |
matching /api/* |
Default credentials for local stacks: admin / admin123.
Gateway currently serves a rich in-memory control plane suitable for demos and development. Wire Postgres/Redis/NATS and edge TLS when hardening for long-lived deployments.
| Resource | Link |
|---|---|
| Wiki Home | Wiki |
| Setup | docs/setup.md |
| API reference | docs/api.md |
| Architecture | docs/architecture.md |
| Compose profiles | labs/README.md |
| Contributing | CONTRIBUTING.md |
MIT