In Development
NovaCron is a sophisticated distributed virtual machine management platform with advanced migration capabilities, real-time monitoring, and intelligent resource scheduling.
- Go 1.21 or later
- Node.js 18 or later
- npm or yarn
- libvirt (for KVM support)
Windows:
.\start_development.ps1
Linux/macOS:
./start_development.sh
This will start both the backend API server (port 8090) and frontend development server (port 8092).
docker-compose -f docker-compose.dev.yml up
- VM Lifecycle Management: Complete KVM integration with libvirt
- Advanced Monitoring: Real-time metrics collection and alerting
- Distributed Architecture: Multi-node support with consensus
- Resource-Aware Scheduling: Intelligent VM placement
- Multi-Tenancy & RBAC: Secure tenant isolation
- Storage Management: Distributed storage with replication
- Network-Aware Scheduling: Topology-aware VM placement
- Modern React UI: Built with Next.js and TypeScript
- Real-time Monitoring: WebSocket-based live updates
- Advanced Visualizations: Charts, heatmaps, network topology
- Responsive Design: Mobile-friendly interface
- Multiple Dashboard Views: Overview, VMs, Alerts, Analytics
- Template System: Create and deploy from templates
- VM Cloning: Full VM duplication capabilities
- Snapshot Management: Point-in-time VM snapshots
- Migration Support: Live and offline VM migration
- Storage Volumes: Dynamic volume management
The backend provides a comprehensive REST API:
GET /health # Health check
GET /api/info # API information
GET /api/monitoring/metrics # System metrics
GET /api/monitoring/vms # VM metrics
GET /api/monitoring/alerts # Active alerts
POST /api/monitoring/alerts/{id}/acknowledge # Acknowledge alert
WS /ws/monitoring # Real-time updates
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Frontend β β Backend API β β KVM Manager β
β (React/Next) βββββΊβ (Go/Gorilla) βββββΊβ (libvirt) β
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β β β
β βΌ βΌ
β βββββββββββββββββββ βββββββββββββββββββ
β β Monitoring β β Storage β
β β & Alerting β β Management β
β βββββββββββββββββββ βββββββββββββββββββ
β
βΌ
βββββββββββββββββββ
β WebSocket β
β Real-time β
β Updates β
βββββββββββββββββββ
novacron/
βββ backend/
β βββ api/ # HTTP handlers and routes
β β βββ monitoring/ # Monitoring endpoints
β β βββ vm/ # VM management endpoints
β βββ core/ # Core business logic
β β βββ hypervisor/ # KVM manager implementation
β β βββ monitoring/ # Metrics and alerting
β β βββ vm/ # VM lifecycle management
β β βββ storage/ # Storage subsystem
β β βββ network/ # Network management
β β βββ scheduler/ # Resource scheduling
β βββ cmd/
β β βββ api-server/ # Main API server
β βββ examples/ # Example implementations
βββ frontend/
β βββ src/
β β βββ app/ # Next.js app router
β β βββ components/ # React components
β β β βββ dashboard/ # Dashboard components
β β β βββ monitoring/ # Monitoring dashboard
β β β βββ ui/ # UI components
β β β βββ visualizations/ # Advanced charts
β β βββ lib/ # Utilities
β βββ package.json
β βββ tsconfig.json
βββ docker/ # Docker configurations
βββ config/ # Configuration files
βββ scripts/ # Deployment scripts
βββ docs/ # Documentation
-
Complete Backend Integration
- Fix any remaining import issues
- Implement missing monitoring components
- Add authentication middleware
-
Production Deployment
- Finalize Docker configurations
- Set up CI/CD pipeline
- Create production deployment scripts
-
Testing & Documentation
- Add comprehensive unit tests
- Create API documentation
- Write deployment guides
-
Cloud Provider Integration
- AWS EC2 integration
- Azure VM integration
- Multi-cloud orchestration
-
Advanced Features
- Machine learning analytics
- Predictive scaling
- Advanced migration algorithms
-
Enterprise Features
- LDAP/AD integration
- Advanced RBAC
- Audit logging
# Backend development
cd backend/cmd/api-server
go run main.go
# Frontend development
cd frontend
npm run dev
# Build for production
go build -o novacron-api backend/cmd/api-server/main.go
cd frontend && npm run build
# Run tests
go test ./...
cd frontend && npm test
# Docker development
docker-compose -f docker-compose.dev.yml up --build
The system includes comprehensive monitoring:
- Real-time Metrics: CPU, memory, disk, network usage
- Alert Management: Configurable thresholds and notifications
- Performance Analytics: Historical trends and predictions
- Health Checks: Automated system health monitoring
- WebSocket Updates: Live dashboard updates
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Development Status - Current project status and completion metrics
- Implementation Plan - Comprehensive development roadmap
- Feature Plans - Detailed feature implementation guides
- Developer Guide - Development instructions and architecture overview
- Technical Documentation - Detailed technical guides
- Contributing Guide - How to contribute to the project
- Code Memory - Technical architecture and patterns
For support and questions:
- Check the documentation above
- Review implementation plans
- Check development status
Current Status: ~85% complete - Production-ready core functionality with advanced monitoring dashboard. Ready for deployment and testing.