Skip to content

Repository files navigation

NebulaGrid

Infrastructure Control Plane — Rust + React

Manage servers, containers, VMs, Kubernetes, storage, backups, policies, certificates, configuration, and plugins from a single API and dashboard.

Rust CI Frontend CI License

Wiki: Architecture & guides · Docs: setup · API


Quick start

docker compose -f labs/docker-compose.lab.yml --profile full up -d --build
# Dashboard: http://localhost:5173  (login admin / admin123)
# API:       http://localhost:8080

Manual:

# Gateway
cd control-plane && cargo run -p nebula-gateway

# Dashboard
cd dashboard && npm install && npm run dev

Architecture

                         ┌─────────────────────────┐
                         │   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, …)

Repository layout

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

Managers (UI ↔ API)

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.


Documentation

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

License

MIT

About

Infrastructure control plane — Rust Axum gateway + React dashboard for servers, containers, VMs, K8s, storage, and more

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages