docs: Add comprehensive dev launcher platform support roadmap (6 phases)
This commit is contained in:
@@ -0,0 +1,248 @@
|
|||||||
|
# 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
|
||||||
Reference in New Issue
Block a user