75 lines
2.3 KiB
Markdown
75 lines
2.3 KiB
Markdown
# WHMCS module upgrades
|
|
|
|
Upgrade paths for `integrations/whmcs` server and addon modules alongside GameCloud API releases.
|
|
|
|
## Version compatibility
|
|
|
|
Check release notes for minimum pairs:
|
|
|
|
| GameCloud API | Server module | Addon module |
|
|
|---------------|---------------|--------------|
|
|
| 1.0.x | 1.0.x | 1.0.x |
|
|
| 1.1.x | 1.1.x | 1.1.0+ (SQL migrations) |
|
|
|
|
Module metadata declares `APIVersion` in `hexagamecloud_MetaData()`.
|
|
|
|
## Upgrade order
|
|
|
|
1. **GameCloud API** — deploy new control plane ([upgrades](../../operations/upgrades.md))
|
|
2. **Database migrations** — addon SQL in `modules/addons/hexagamecloud/sql/upgrade-*.sql`
|
|
3. **WHMCS addon module** — copy files, run upgrade hook
|
|
4. **WHMCS server module** — copy files (usually no DB change)
|
|
5. **Verify** — dashboard health, test suspend/unsuspend
|
|
|
|
Never upgrade WHMCS modules before the API when release notes specify API-first ordering.
|
|
|
|
## Addon SQL migrations
|
|
|
|
WHMCS runs `hexagamecloud_upgrade()` on version bump. Manual apply if needed:
|
|
|
|
```bash
|
|
mysql whmcs < integrations/whmcs/modules/addons/hexagamecloud/sql/upgrade-1.1.0.sql
|
|
```
|
|
|
|
Back up WHMCS database before upgrade.
|
|
|
|
## File deployment
|
|
|
|
```bash
|
|
# From packaging script output or git
|
|
cp -r integrations/whmcs/modules/addons/hexagamecloud /path/to/whmcs/modules/addons/
|
|
cp -r integrations/whmcs/modules/servers/hexagamecloud /path/to/whmcs/modules/servers/
|
|
cp integrations/whmcs/hooks/hexagamecloud.php /path/to/whmcs/includes/hooks/
|
|
```
|
|
|
|
Clear WHMCS template cache if admin UI looks stale.
|
|
|
|
## Zero-downtime considerations
|
|
|
|
- Running game servers unaffected by module file update
|
|
- Brief API restart during GameCloud upgrade may delay WHMCS module calls — retry logic in `ApiClient.php` handles transient 502
|
|
- Place WHMCS in maintenance mode only if API breaking change requires it
|
|
|
|
## Rollback
|
|
|
|
1. Restore previous module files from backup
|
|
2. Roll back GameCloud images if API incompatible
|
|
3. Restore WHMCS DB if SQL migration ran
|
|
|
|
Product mappings table is forward-compatible unless release notes say otherwise.
|
|
|
|
## Packaging
|
|
|
|
```bash
|
|
cd integrations/whmcs/packaging
|
|
./build-package.sh
|
|
```
|
|
|
|
Distribute ZIP to production WHMCS via change-controlled deploy.
|
|
|
|
## Related
|
|
|
|
- [Installation](installation.md)
|
|
- [Troubleshooting](troubleshooting.md)
|
|
- [Control plane upgrades](../../operations/upgrades.md)
|