A Node.js web application for managing cluster configurations and generating iPXE boot files for mass server deployment. This project combines a haiku display site with powerful cluster management tools.
- Intuitive Navigation: Easy-to-use navigation bar with keyboard shortcuts (Alt+H, Alt+C, Alt+B)
- Quick Start Guide: Step-by-step guidance for new users
- Cluster Link Management: Configure and manage multiple cluster endpoints
- iPXE Boot File Generator: Generate boot configuration files for mass server deployment
- Watson X Orchestrator Integration: AI-powered cluster orchestration with IBM Watson X.ai
- Benchmark Testing: Run stress tests on cluster endpoints
- Continuous Testing: Run tests until failure detection for VMware container benchmarks
- Multiple Builder Types: Support for Docker Cloud, Kubernetes, OpenShift, Watson X, and generic clusters
- Responsive Design: Mobile-friendly interface that works on all devices
- Real-time Validation: Instant form feedback and help text
- Node.js (version 14.0.0 or higher)
- npm (version 6.0.0 or higher)
- β Windows (Windows 10, 11, Server 2016+)
- β macOS (macOS 10.14+)
- β Linux (Ubuntu 18.04+, Debian 9+, CentOS 7+, RHEL 7+, and others)
See PLATFORM_SUPPORT.md for detailed platform-specific instructions.
- Clone the repository:
git clone https://github.com/NaTo1000/QuanV1.git
cd QuanV1- Install dependencies:
npm installThe installation automatically detects your platform and configures appropriately.
Windows Users: Use PowerShell or Command Prompt. Both forward slashes (/) and backslashes (\) work.
macOS Users: You may need to install Xcode Command Line Tools:
xcode-select --installLinux Users: Ensure Node.js is installed via your package manager or nvm.
npm run devnpm startThe application will be available at:
- Local:
http://localhost:3000 - Network:
http://<your-ip>:3000(automatically displayed on startup)
Windows (PowerShell):
$env:PORT=8080; npm startWindows (Command Prompt):
set PORT=8080 && npm startmacOS/Linux:
PORT=8080 npm startnpm install -g pm2
pm2 start process.json
pm2 save
pm2 startup # Follow the instructions to enable startup on bootPress Ctrl+C on any platform to gracefully shut down the server.
QuanV1/
βββ index.js # Main application server
βββ package.json # Project dependencies
βββ process.json # PM2 configuration
βββ haikus.json # Haiku data
βββ public/ # Static assets
β βββ css/ # Stylesheets
β βββ images/ # Image files
βββ views/ # EJS templates
β βββ index.ejs # Home page
β βββ cluster-config.ejs # Cluster configuration page
β βββ ipxe-boot.ejs # iPXE boot generator page
βββ web.config # IIS/iisnode configuration
GET /api/cluster-links- Get all cluster linksPOST /api/cluster-links- Create a new cluster linkDELETE /api/cluster-links/:id- Delete a cluster link
POST /api/ipxe/generate- Generate iPXE boot configuration file
POST /api/benchmark/run- Run benchmark/stress testPOST /api/test/run-until-fail- Run continuous test until failure
- Visit the home page to see the Quick Start Guide
- Follow the 3-step process to get started
- Use keyboard shortcuts: Alt+H (Home), Alt+C (Clusters), Alt+B (Boot Generator)
Navigate to /cluster-config (or press Alt+C) and fill in the form:
- Link Name: Production Cluster
- Builder Type: Kubernetes (or Watson X Orchestrator for AI-powered management)
- Endpoint URL: https://cluster.example.com:9092
- Credentials: Your API key or token (optional)
- Navigate to Cluster Configuration
- Select "Watson X Orchestrator" as the builder type
- Enter your Watson X endpoint URL
- Add your Watson X API credentials
- The platform will automatically leverage AI for intelligent cluster management
- Navigate to
/ipxe-boot - Enter cluster name and number of servers
- Optionally customize boot image URL and kernel parameters
- Click "Generate & Download iPXE File"
QuanV1 now supports IBM Watson X.ai integration for intelligent cluster orchestration:
- AI-Powered Orchestration: Automated resource allocation and predictive scaling
- Real-time Analytics: Performance monitoring with AI-driven insights
- Cost Optimization: Intelligent suggestions for resource optimization
- Anomaly Detection: Automatic detection and alerting of cluster issues
- Add a Watson X cluster in the Clusters section
- Configure your Watson X endpoint and API credentials
- The platform automatically leverages Watson X capabilities for all operations
- Cluster credentials are stored in
cluster-links.json(excluded from git) - Keep your credentials secure and never commit them to version control
- The
.gitignorefile is configured to exclude sensitive files - All credentials, including Watson X API keys, are stored locally and never transmitted to external services
QuanV1 is designed to work seamlessly across all major platforms:
- File Paths: Uses Node.js
pathmodule for cross-platform path handling - Line Endings: Automatically handles CRLF (Windows) and LF (Unix/Mac)
- Process Signals: Graceful shutdown works on Windows, macOS, and Linux
- System Info: View platform details at
/api/system-info
For detailed platform-specific instructions, see PLATFORM_SUPPORT.md
Contributions are welcome! Please ensure changes work across all platforms:
- Use
path.join()for file paths - Use
os.EOLfor line endings - Test on multiple platforms if possible
- See PLATFORM_SUPPORT.md for guidelines
This project is licensed under the MIT License.