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.
Some checks failed
CI / Node — lint, typecheck, test, build (push) Failing after 12s
CI / Go — node-agent tests (push) Failing after 9s
CI / Go — edge-gateway build (push) Successful in 17s

This commit is contained in:
TheOnlyMace
2026-07-05 18:39:53 +02:00
parent bf36cb3159
commit 50cd4b3ffd
225 changed files with 17824 additions and 436 deletions

View 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)