bext.dev
DocsCloud
Cloud3 min read
On this page

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:

code
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:

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:

bash
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:

bash
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.

Tip

If the Instances page shows a server as "unreachable", the fastest check is whether /__bext/admin/api/login/json returns a 200 from outside the host. A firewall rule or a missing [admin] enabled = true in bext.config.toml are the two most common causes.

Edit this page ↗Need a hand? ↗
FIND YOUR NEXT STEP

Start with a topic, a command, or a question.