Help / Servers & operations
Provisioning lifecycle
PENDING_PAYMENT → PROVISIONING → INSTALLING → ACTIVE in under 60 seconds.
From paid order to working dialer in under 60 seconds. Each step is a transition in the server state machine; every transition writes an audit-log row.
Step by step
PENDING_PAYMENT — order paid, server row created. Customer sees "Provisioning" banner.
PROVISIONING — the cloud platform allocates the VPS and cloud-init writes a server-id marker so the deploy worker can identify it. (~30s)
The orchestrator polls until the VPS is running, reads the public IPv4, and creates a Cloudflare A record for the FQDN.
INSTALLING — control passes to the Python deploy worker. It SSHes in, runs the VICIdial install script, requests a Let's Encrypt cert via DNS-01, and configures Apache/Nginx. (~5–6 min)
Python posts a result back. On success: ACTIVE, send "your server is ready" email with the admin URL.
Failure modes
Any step can transition to FAILED. Provisioning failures within 1 hour of payment trigger the auto-refund. Installation failures get an admin alert; we usually retry from the admin panel.
Tags: provisioning, lifecycle, state-machine