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.