How khryptorgraphics/novacron works
NovaCron’s documented product is a KVM VM manager whose canonical api-server coordinates a peer-to-peer fabric: clients request node/job/transfer operations, the server admits peers and measures links, places work, dispatches transfers or migrations, and exposes usage metering. Authentication and access control protect the API; PostgreSQL persists operational state. The tree omits the documented VM runtime source directory, so VM execution is represented only by the available transfer/migration control component. The README supports the principal relationships; other substantial AI, backup, monitoring, and cloud libraries are explicitly described as unwired from the canonical binary.
Main entry points: api-server/main.go API server · cluster_join.go Peer admission · novacron/main.go Fabric CLI · client.ts TypeScript SDK
Components 14
User surfaces
- Fabric CLI
cli/cmd/novacron/main.go - TypeScript SDK
sdk/typescript/src/client.ts - Fabric UI
frontend/src/components/storage/StorageManagementUI.tsx
Fabric control plane
- API server
backend/cmd/api-server/main.go - Peer admission
backend/cmd/api-server/cluster_join.go - Link telemetry
backend/cmd/api-server/cluster_join.go - Job placement
backend/cmd/api-server/fabric_jobs.go - Transfers and migration
backend/cmd/api-server/fabric_transfers.go - Usage metering
backend/cmd/api-server/billing_usage.go
Identity and access
- Authentication
backend/core/auth/auth.go - API access control
backend/api/security/handlers.go
Persistence
- PostgreSQL
Other components
- Operator
- Fabric peer
Connections 18
- Operator → Fabric CLI: runs commands
README.md - Fabric CLI → API server: calls API
README.md - Operator → TypeScript SDK: uses SDK
README.md - TypeScript SDK → API server: calls API
README.md - Operator → Fabric UI: uses UI
README.md - Fabric UI → API server: uses fabric API
README.md - API server → Authentication: authenticates requests
backend/cmd/api-server/main.go - API server → API access control: routes security API
backend/cmd/api-server/main.go - API server → Peer admission: admits peers
README.md - Peer admission → Fabric peer: checks reachability
README.md - API server → Link telemetry: measures links
README.md - API server → Job placement: dispatches jobs
README.md - Job placement → Fabric peer: places workload
README.md - API server → Transfers and migration: coordinates migration
README.md - Transfers and migration → Fabric peer: transfers VM
README.md - API server → Usage metering: serves usage
README.md - Peer admission → PostgreSQL: persists link profiles
README.md - Usage metering → PostgreSQL: writes usage events
README.md