Cloud Admin Panel
The bext cloud admin panel at cloud.bext.dev/admin provides a centralized view of all your bext server instances, projects, deployments, and SSL certificates.
Accessing the Admin Panel
The admin panel is restricted to super admins. Navigate to:
https://cloud.bext.dev/admin
You must be logged in via the license portal with a super admin email.
Sections
Dashboard
Platform-wide statistics: users, projects, deploy targets, total deployments, active builds, domains, WordPress sites, proxy sites, SSL certificates, and expiring certificates.
Instances
Live status of all connected bext server instances. For each instance:
- Connection status — green (connected) or red (unreachable)
- Uptime, workers, requests, errors — real-time metrics
- ISR cache entries — current cache size
- Render engine — V8
- License — tier, features, expiration
- Actions — Purge Cache, Reload Pool
Click "Details" for a full instance view with 7 tabs:
| Tab | What it shows |
|---|---|
| Overview | Stats grid, license details, action buttons |
| Requests | Recent requests with path, status, duration, cache status |
| Cache | ISR entry count, browse entries, purge button |
| Workers | Render worker status, queues, durable flows |
| WAF | Blocked request counts, rule status |
| Config | Server configuration as JSON |
| Logs | Recent log events with level filtering |
Projects / Targets / Deployments / Domains / Users / SSL / Server
Full platform management views for all resources across the platform.
Connecting Instances
To manage a bext server from the cloud admin:
1. Enable the admin panel on the server
Add to bext.config.toml:
[admin]
enabled = true
jwt_secret = "your-secret-here"
[[admin.users]]
username = "admin"
password_hash = "$argon2id$v=19$m=19456,t=2,p=1$..."
role = "super_admin"
Generate the credentials with the built-in CLI:
bext config credentials create --username admin --role super_admin
This prompts for a password (hidden input), hashes it with argon2id, and prints the [[admin.users]] block ready to paste into your config. For non-interactive use:
bext config credentials create --username admin --password "your-password"
See Endpoints & Credentials for full documentation.
2. Add the server as a deploy target
In the cloud dashboard, add a deploy target with provider "bext-instance":
- Host: your server's hostname (e.g., cloud.bext.dev)
- TLS: true (for HTTPS)
- Username: the admin username from step 1
- Password: the admin password (plaintext — used to obtain JWT)
3. Verify connection
The Instances page will show the server's status. If it shows "unreachable", check:
- The admin panel is enabled in bext.config.toml
- The /__bext/admin/api/login/json endpoint is accessible
- Credentials match the configured admin user
Admin API
The bext server exposes admin endpoints at /__bext/admin/api/:
| Endpoint | Method | Description |
|---|---|---|
/login/json |
POST | Authenticate and get JWT token |
/overview |
GET | Dashboard stats (uptime, workers, cache, requests) |
/requests |
GET | Recent request log (last 100 entries) |
/cache |
GET | Cache statistics |
/cache/purge |
POST | Purge cache (by tags, pattern, or full GC) |
/cache/entries |
GET | Browse cache entries |
/config |
GET | Server configuration (super admin only) |
/logs |
GET | Recent log events |
/license |
GET | License info |
/metrics |
GET | Aggregated metrics |
/workers |
GET | Worker pool status |
/queues |
GET | Queue statistics |
/flows |
GET | Durable flow runs |
/waf |
GET | WAF statistics |
/realtime |
GET | Realtime hub stats |
/reload |
POST | Reload render pool |
All endpoints (except /login/json) require a Bearer token obtained from login.