249 lines
6.6 KiB
Markdown
249 lines
6.6 KiB
Markdown
# Dev Launcher - Platform Support Roadmap
|
||
|
||
**Goal**: Build a launcher in the dev branch that fully supports all documented platforms with proper detection, health checks, and platform-specific options.
|
||
|
||
---
|
||
|
||
## Phase 1: Enhanced Platform Detection (CURRENT)
|
||
**Status**: ✅ In Progress (Step 1 Complete)
|
||
|
||
### Step 1: Quick System Overview ✅ DONE
|
||
- [x] System info display at startup
|
||
- [x] Quick platform overview in menu
|
||
- [x] Detailed system info menu option (7)
|
||
- [x] Show detected platforms on every menu refresh
|
||
|
||
### Step 2: Platform Health Checks (NEXT)
|
||
- [ ] Create `modules/diagnostics/platform-health-check.sh`
|
||
- Verify control panel is running
|
||
- Check essential services (apache/nginx, mysql/mariadb, php)
|
||
- Firewall status and basic rules
|
||
- CloudFlare integration status
|
||
- Storage and resource warnings
|
||
|
||
- [ ] Create `modules/diagnostics/os-compatibility-check.sh`
|
||
- Verify OS-specific packages installed
|
||
- Check for known incompatibilities
|
||
- Version compatibility matrix verification
|
||
- Kernel version compatibility
|
||
|
||
### Step 3: Platform-Specific Menus
|
||
- [ ] Add dynamic menu options based on detected platform
|
||
- cPanel-specific tools (cPHulk, DKIM, AutoSSL)
|
||
- Plesk-specific tools (Extension management, Packages)
|
||
- InterWorx-specific tools (NodeWorx commands)
|
||
- CloudLinux-specific tools (LVE limits, alt-php)
|
||
|
||
### Step 4: Control Panel Discovery Enhancement
|
||
- [ ] Enhanced cPanel detection
|
||
- Version-specific features
|
||
- Installed plugins (AutoSSL, Immuify, etc.)
|
||
|
||
- [ ] Enhanced Plesk detection
|
||
- Version-aware paths (pre-18.0.50 vs 18.0.50+)
|
||
- Extension detection
|
||
- Module status
|
||
|
||
- [ ] Enhanced InterWorx detection
|
||
- Installed modules
|
||
- Custom plugins
|
||
|
||
- [ ] CloudLinux detection
|
||
- LVE resource limits
|
||
- CloudLinux version and license
|
||
|
||
---
|
||
|
||
## Phase 2: Operating System Support Matrix
|
||
**Status**: ⏳ Planned
|
||
|
||
### Supported Distributions
|
||
- [ ] CentOS/RHEL (7, 8, 9)
|
||
- [ ] AlmaLinux (8, 9)
|
||
- [ ] Rocky Linux (8, 9)
|
||
- [ ] CloudLinux (7, 8, 9)
|
||
- [ ] Ubuntu (20.04 LTS, 22.04 LTS, 24.04)
|
||
- [ ] Debian (11, 12)
|
||
|
||
### Per-OS Checks
|
||
- [ ] Package manager compatibility
|
||
- [ ] Service manager (systemd vs init)
|
||
- [ ] Apache binary (httpd vs apache2)
|
||
- [ ] MySQL socket paths
|
||
- [ ] Firewall type (firewalld vs UFW vs iptables)
|
||
|
||
---
|
||
|
||
## Phase 3: Web Server Support Enhancement
|
||
**Status**: ⏳ Planned
|
||
|
||
### Supported Web Servers
|
||
- [x] Apache (httpd/apache2) - Already detected
|
||
- [x] Nginx - Already detected
|
||
- [x] LiteSpeed - Already detected
|
||
- [x] OpenLiteSpeed - Already detected
|
||
|
||
### Additional Detection
|
||
- [ ] ModSecurity status
|
||
- [ ] Modsecurity rules version
|
||
- [ ] HTTP/2 support detection
|
||
- [ ] SSL/TLS version support
|
||
- [ ] Performance modules (mod_pagespeed, ngx_cache_purge, etc.)
|
||
|
||
---
|
||
|
||
## Phase 4: Database & PHP Deep Dive
|
||
**Status**: ⏳ Planned
|
||
|
||
### Database Detection Enhancement
|
||
- [ ] Detect Percona Server
|
||
- [ ] Database cluster detection (Galera for MariaDB)
|
||
- [ ] Replication status
|
||
- [ ] Backup tool detection (Acronis, Bacula, etc.)
|
||
|
||
### PHP Multi-Version Support
|
||
- [ ] Enumerate all installed PHP versions
|
||
- [ ] Per-domain PHP version mapping
|
||
- [ ] PHP module detection per version
|
||
- [ ] PHP-FPM pools enumeration
|
||
- [ ] OPcache status per version
|
||
|
||
### cPanel-Specific PHP
|
||
- [ ] EA-PHP version matrix
|
||
- [ ] PHP CLI version detection
|
||
- [ ] PHPList management
|
||
|
||
### CloudLinux alt-php
|
||
- [ ] alt-php detection and enumeration
|
||
- [ ] Per-user PHP version limits
|
||
- [ ] CloudLinux PHP selector status
|
||
|
||
---
|
||
|
||
## Phase 5: Service Status Dashboard
|
||
**Status**: ⏳ Planned
|
||
|
||
### Essential Services
|
||
- [ ] Apache/Nginx running status
|
||
- [ ] MySQL/MariaDB status
|
||
- [ ] PHP-FPM status (if installed)
|
||
- [ ] Mail service (Exim/Postfix)
|
||
- [ ] SSH service
|
||
- [ ] Firewall service
|
||
|
||
### Control Panel Services
|
||
- [ ] cPanel daemons (cpanel, cpsrvd)
|
||
- [ ] Plesk core services (sw-engine, sw-cp-server)
|
||
- [ ] InterWorx services (iworx, iworx-httpd)
|
||
|
||
### Optional Services
|
||
- [ ] Nginx/Varnish cache status
|
||
- [ ] Immuify/malware detection
|
||
- [ ] Backup agents (Acronis, etc.)
|
||
- [ ] CloudFlare support
|
||
|
||
---
|
||
|
||
## Phase 6: Intelligence & Recommendations
|
||
**Status**: ⏳ Planned
|
||
|
||
### Platform-Specific Recommendations
|
||
- [ ] cPanel: Recommendations for security hardening, backup setup
|
||
- [ ] Plesk: Extension recommendations, performance tuning
|
||
- [ ] InterWorx: Resource allocation, security features
|
||
- [ ] Standalone: Web server optimization, PHP tuning
|
||
|
||
### Compatibility Warnings
|
||
- [ ] Warn if mixing incompatible tools
|
||
- [ ] Alert on deprecated versions
|
||
- [ ] Suggest upgrades for end-of-life software
|
||
|
||
### Performance Insights
|
||
- [ ] PHP version optimization
|
||
- [ ] Database tuning hints
|
||
- [ ] Caching recommendations
|
||
- [ ] Resource allocation suggestions
|
||
|
||
---
|
||
|
||
## Implementation Priority
|
||
|
||
### IMMEDIATE (Phase 1 - Step 2-3)
|
||
1. Platform Health Checks module
|
||
2. OS Compatibility module
|
||
3. Platform-specific menu options
|
||
|
||
### NEAR TERM (Phase 2-3)
|
||
4. OS support matrix enhancements
|
||
5. Web server detection improvements
|
||
|
||
### MEDIUM TERM (Phase 4-5)
|
||
6. Database & PHP deep dive
|
||
7. Service status dashboard
|
||
|
||
### LONG TERM (Phase 6)
|
||
8. Intelligence & recommendations engine
|
||
|
||
---
|
||
|
||
## Testing Strategy
|
||
|
||
### By Control Panel
|
||
- [ ] Test on cPanel/RHEL
|
||
- [ ] Test on Plesk/Ubuntu
|
||
- [ ] Test on InterWorx/Rocky
|
||
- [ ] Test on Standalone/Debian
|
||
|
||
### By OS
|
||
- [ ] CentOS 7/8/9
|
||
- [ ] AlmaLinux 8/9
|
||
- [ ] Rocky Linux 8/9
|
||
- [ ] CloudLinux 7/8/9
|
||
- [ ] Ubuntu 20.04/22.04/24.04
|
||
- [ ] Debian 11/12
|
||
|
||
### Coverage Matrix
|
||
- All 4 control panels × 6 OSes = 24 test combinations
|
||
- Plus 4 web servers, 2 DB types, multiple PHP versions
|
||
|
||
---
|
||
|
||
## Success Criteria
|
||
|
||
1. ✅ Detect all 4 control panels accurately
|
||
2. ✅ Detect all 6 OS types accurately
|
||
3. ✅ Display platform info without errors
|
||
4. ✅ Recommend appropriate tools per platform
|
||
5. ✅ Provide health checks for detected platforms
|
||
6. ✅ Handle missing/unknown components gracefully
|
||
|
||
---
|
||
|
||
## Files to Create/Modify
|
||
|
||
### New Modules
|
||
- `modules/diagnostics/platform-health-check.sh` (400-500 lines)
|
||
- `modules/diagnostics/os-compatibility-check.sh` (300-400 lines)
|
||
- `modules/platform-tools/` (directory for platform-specific tools)
|
||
|
||
### Modified Files
|
||
- `launcher.sh` - Add platform-specific menu options
|
||
- `lib/system-detect.sh` - Enhance detection functions
|
||
- Various module files - Add platform compatibility checks
|
||
|
||
---
|
||
|
||
## Knowledge Base Integration
|
||
|
||
This roadmap uses the comprehensive knowledge base at `/root/.claude/knowledge-base/`:
|
||
- `control-panels/*/` - Platform-specific implementation details
|
||
- `operating-systems/*/` - OS-specific configuration and differences
|
||
- `databases/*/` - Database detection and management
|
||
- `shared-systems/php-version-detection.md` - PHP multi-version handling
|
||
|
||
---
|
||
|
||
**Last Updated**: 2026-03-19
|
||
**Created By**: Claude Code - Dev Session
|
||
**Status**: Active Development
|