Enhance API with OIDC support, including login and callback endpoints. Update environment variables for OIDC configuration in .env.example. Add new features to the catalog service for listing software families, Minecraft versions, and deployment regions. Implement server management actions such as kill, delete, and update in the servers module. Integrate feature flags for maintenance mode in server operations. Update pnpm-lock.yaml with new dependencies and versions.
This commit is contained in:
74
docs/integrations/whmcs/upgrades.md
Normal file
74
docs/integrations/whmcs/upgrades.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user