SP

SysPanel

Control plane MVP

Live control planeEnv: productionUptime: 35m

Operator console

One screen for tenants, nodes, and live cPanel restore work.

This dashboard now reads directly from the SysPanel control plane on the VPS. What you see here is the current tenant inventory, node health, restore queue, and asset surface being served from the live `/v1` API.

Current state

Ready For Execution

Demo restore ready for execution.

Agent ping2234s

Average heartbeat across connected nodes.

Preview drift2 warnings

2 unsupported items in the selected restore preview.

Managed tenants

2

2 plans, 1 active restore job

Servers online

2

2/2 agents connected, 2234s avg heartbeat

Restore queue

2

0 analyzing jobs, 0 executing, 1 ready

Open alerts

1

1 partial-success restore and 0 disconnected agents

Operator actions

Provision tenants and hosted resources from the live panel.

These forms post straight to the running control plane. When a request succeeds, the page refreshes against the live `/v1` API so the new state appears immediately.

Tenants

Create tenant

POST /v1/tenants

Sites

Create site

POST /v1/sites

Databases

Create database

POST /v1/databases

Mailboxes

Create mailbox

POST /v1/mailboxes

Restore controls

Create a restore job and drive it through preview, execution, and cancellation.

The restore request uses the live source sites already tracked by the control plane. Defaults follow the spec: rename collisions, mail off, DNS off, and `php81-compat` as the runtime fallback.

Restores

Create restore job

POST /v1/restores
Requested features

Operator notes

Live workflow
  • Use `Analyze` first when you want to inspect warnings, renames, and unsupported items before execution.
  • `Execute` can also resume a created job because the backend will analyze it automatically if needed.
  • `Cancel` leaves completed and partial-success jobs untouched and only stops in-flight work.

Restore command center

Inspect the selected restore before you commit server changes.

This view keeps one restore in focus, then shows its target mapping, warnings, plan steps, and live event feed without leaving the dashboard.

Focused job

restore_1

Acme Hosting · acme.example.com · control-node-01

Ready For ExecutionLive polling
1

Source archive

acme.example.com selected for restore

2

Target tenant

Acme Hosting, restore to control-node-01

3

Collision policy

rename, DNS off, mail off, php81-compat fallback

4

Preview

5 actions, 2 warnings, 2 unsupported

5

Execute

Current step: Ready For Execution

Domains1

acme.example.com

Databases1

acme_wp

Mailboxes1

admin@acme.example.com

Runtime1m 15s

5 planned actions

Preview notes

2 warnings
  • Mail restore is disabled by default.
  • DNS restore is disabled by default.

Unsupported items

2 items
  • mailbox admin@acme.example.com
  • dns zone for acme.example.com

Requested features

Ready For Execution
CronDatabasesDnsMailboxesSitesSsl

Execution plan

5 steps

Scan source archive

scan

Completed

Restore site files

site.create · acme.example.com

Completed

Restore database

db.create · acme_wp

Completed

Render nginx config

nginx.render

Completed

Issue SSL certificate

ssl.issue

Ready

Restore queue and events

Choose a job, then watch its event stream and controls in place.

Selecting a different restore updates the focused preview on the left and starts polling that job for fresh progress and events.

Live event stream

Waiting for first sync

Live sync polls the selected restore every 15 seconds.

  • 22:09:56 · analysis.started · Restore analysis started.
  • 22:11:56 · analysis.completed · Restore preview is ready.

Tenants and plans

Capacity by customer and service tier.

Plan enforcement and asset usage now come straight from the live control plane instead of mock samples.

Acme Hosting

Starter plan · 1 / 2 sites

Ready For Execution
1 server1 DBs · 1 mailboxes · 1 restores

Blue Orchard

Growth plan · 1 / 10 sites

Active
1 server1 DBs · 1 mailboxes · 1 restores

Growth

10 sites

20 DBs · 40 mailboxes · sites, databases, mailboxes, ssl, cron, dns

Starter

2 sites

4 DBs · 6 mailboxes · sites, databases, mailboxes, ssl, cron

Servers and runtime profiles

Keep the Linux edge simple and visible.

Agent status, heartbeat age, region, and server capacity are all coming from the running control plane.

control-node-01

eu-north · control-01.local

37m ago
Agent 0.1.0ConnectedActive
Sites1/50
Databases1/100

Mailboxes 1/200

restore-node-01

eu-west · restore-01.local

37m ago
Agent 0.1.0ConnectedActive
Sites1/50
Databases1/100

Mailboxes 1/200

PHP 7.4

Legacy

PHP 7.4 · Legacy compatibility profile

PHP 8.0

Preferred

PHP 8.0 · Default runtime for older sites

PHP 8.1 Compatibility

Fallback

PHP 8.1 · Fallback profile used during restore

Sites, databases, and mailboxes

The customer surface remains visible underneath the platform.

The asset inventory below is being read from the live `/v1/sites`, `/v1/databases`, and `/v1/mailboxes` endpoints.

Sites

acme.example.com

Acme Hosting

Active
orchard.example.net

Blue Orchard

Active

Databases

acme_wp

acme.example.com

mysql
orchard_app

orchard.example.net

mysql

Mailboxes

admin@acme.example.com

acme.example.com

Active
hello@orchard.example.net

orchard.example.net

Active

Live API source: http://127.0.0.1:8080 · Refreshed 23:15:24