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:
71
docs/integrations/whmcs/products.md
Normal file
71
docs/integrations/whmcs/products.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# WHMCS products
|
||||
|
||||
Creating WHMCS products that provision HexaHost GameCloud Minecraft servers.
|
||||
|
||||
## Product setup
|
||||
|
||||
**Setup → Products/Services → Create New Product**
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| Product type | Other |
|
||||
| Module | HexaHost GameCloud (`hexagamecloud`) |
|
||||
| Server group | Server entry with GameCloud API hostname |
|
||||
|
||||
## Plan mapping
|
||||
|
||||
Each product must resolve to a GameCloud **plan slug** (defines RAM, CPU, backup slots, etc.).
|
||||
|
||||
**Recommended:** Configure via addon **Mappings** tab — [product mappings](../product-mappings.md)
|
||||
|
||||
**Fallback:** Set config option **GameCloud Plan Slug** on the product module settings.
|
||||
|
||||
Validate slugs against live catalog:
|
||||
|
||||
```http
|
||||
GET /api/v1/catalog/plans
|
||||
```
|
||||
|
||||
Only active plans appear in the addon mapping dropdown.
|
||||
|
||||
## Example products
|
||||
|
||||
| WHMCS product name | Plan slug | Target audience |
|
||||
|--------------------|-----------|-----------------|
|
||||
| Minecraft Starter | `starter` | 2 GB RAM, 10 slots |
|
||||
| Minecraft Pro | `pro` | 4 GB RAM, backup included |
|
||||
| Minecraft Enterprise | `enterprise` | Custom limits |
|
||||
|
||||
Plan slugs are defined in GameCloud admin/catalog — not in WHMCS.
|
||||
|
||||
## Software defaults
|
||||
|
||||
Set per mapping or config options:
|
||||
|
||||
- **Minecraft Version** — e.g. `1.21.1`
|
||||
- **Software Family** — `VANILLA`, `PAPER`, `PURPUR`, `FABRIC`, `FORGE`, etc.
|
||||
|
||||
Customers may change software via panel after provision if plan allows.
|
||||
|
||||
## Billing cycle
|
||||
|
||||
WHMCS owns billing cycles. GameCloud receives `externalServiceId` and syncs lifecycle (suspend on overdue invoice via WHMCS module actions or events).
|
||||
|
||||
Usage-based overages: see [usage billing](../usage-billing.md).
|
||||
|
||||
## Client area
|
||||
|
||||
The server module renders status and **Login to Panel** (SSO). Domain field is used as display name default (`server-{serviceId}` if empty).
|
||||
|
||||
## Testing
|
||||
|
||||
1. Create admin-only product group
|
||||
2. Place test order with 100% discount
|
||||
3. Confirm `CreateAccount` success in module log
|
||||
4. SSO into panel and verify server RUNNING or STARTING
|
||||
|
||||
## Related
|
||||
|
||||
- [Configurable options](configurable-options.md)
|
||||
- [Addons](addons.md)
|
||||
- [Installation](installation.md)
|
||||
Reference in New Issue
Block a user