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,93 @@
# WHMCS installation
Install the HexaHost GameCloud provisioning and addon modules on WHMCS 8.x+.
## Prerequisites
- WHMCS with SSL (HTTPS admin and client area)
- GameCloud control plane deployed (`deploy/compose/compose.prod.yml`)
- `BILLING_PROVIDER=whmcs` on GameCloud
- Matching credentials prepared (`WHMCS_INTEGRATION_ID`, `WHMCS_API_SECRET`)
## Package contents
Source tree: `integrations/whmcs/`
| Component | WHMCS path |
|-----------|------------|
| Server module | `/modules/servers/hexagamecloud/` |
| Addon module | `/modules/addons/hexagamecloud/` |
| Hooks | `/includes/hooks/hexagamecloud.php` |
Build a distributable ZIP:
```bash
cd integrations/whmcs/packaging
./build-package.sh
```
## Installation steps
### 1. Copy server module
```bash
cp -r integrations/whmcs/modules/servers/hexagamecloud /path/to/whmcs/modules/servers/
```
**Setup → Products/Services → Servers → Create New Server**
- Type: **HexaHost GameCloud**
- Hostname: `api.example.net` (GameCloud API host only — no path)
- Username / Password: leave empty (credentials are per-product module settings)
### 2. Copy addon module
```bash
cp -r integrations/whmcs/modules/addons/hexagamecloud /path/to/whmcs/modules/addons/
```
**Setup → Addon Modules → HexaHost GameCloud → Activate**
Configure global settings — see [configuration](configuration.md).
### 3. Install hooks
```bash
cp integrations/whmcs/hooks/hexagamecloud.php /path/to/whmcs/includes/hooks/
```
Hooks enable daily event polling and optional auto-reconciliation.
### 4. Configure GameCloud
On the control plane `.env.prod`:
```env
BILLING_PROVIDER=whmcs
WHMCS_INTEGRATION_ID=prod-whmcs-main
WHMCS_API_SECRET=<same-as-addon>
INTEGRATION_MTLS_ENABLED=true
```
Restart API after changes.
### 5. Verify connectivity
In WHMCS: **Addons → HexaHost GameCloud → Dashboard**
Expected: green health, catalog plan count, zero pending critical events.
## File permissions
WHMCS web user must read module PHP files. Do not make `lib/` or `templates/` web-writable.
## Multi-environment
Use separate `WHMCS_INTEGRATION_ID` values for staging and production GameCloud installations. Never point staging WHMCS at production GameCloud.
## Related
- [Configuration](configuration.md)
- [Products](products.md)
- [Security](security.md)
- [Addon module](../addon-module.md)