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