infra qioi backends --list
Your providers, your regions — attached, never imposed.
QIOI does not own a cloud. It operates above the infrastructure layer through provider adapters, so capacity comes from proven external providers today and from SpaceOne when it comes online. No single point of dependency, and no forced migration — ever.
the adapter contract
Every provider QIOI runs on implements the same narrow interface. Provisioning, lifecycle, snapshots, and metrics go through the adapter — the platform above it does not care whose hardware is underneath.
// every backend implements this contract
interface InfrastructureProvider {
createInstance(...): Promise<Result>;
getInstance(...): Promise<Result>;
resizeInstance(...): Promise<Result>;
stopInstance(...): Promise<Result>;
startInstance(...): Promise<Result>;
restartInstance(...): Promise<Result>;
deleteInstance(...): Promise<Result>;
createSnapshot(...): Promise<Result>;
restoreSnapshot(...): Promise<Result>;
getMetrics(...): Promise<Result>;
}
attached backends
hetzner[attached]primary capacity · dedicated + cloud instances
ovhcloud[attached]eu capacity · eu-central region
aws[attached]on demand · burst and specialty workloads
vultr[attached]on demand · additional regions
digitalocean[attached]on demand · additional regions
spaceone[standby]ecosystem capacity · canadian data sovereignty — coming online
provider root credentials are held by qioi operations and are never exposed to application instances.
regions
the deployment state machine
Deployment is never a boolean. Every instance moves through explicit, observable states — and a failure in any state has a defined rollback path.
01payment confirmed · order qio-8f2a41 accepted
02deployment queued · position 1
03provisioning 4 vCPU / 8 GB · ca-central
04private network attached · firewall rules applied
05pulling image openwebui:v0.6-stable · verifying signature
06workspace.qioi.app → 203.0.113.24
07certificate issued · auto-renewal scheduled
08health endpoint 200 OK · backups scheduled daily 03:00 UTC
09ready · credentials delivered to dashboard
exit 0 · service ready
failure states: failed · rolling_back · cancelled — each with a defined recovery path