The Basics¶
Konigle Cloud is built around four concepts. Understanding how they fit together makes every CLI command predictable.
Computer¶
A computer is a virtual machine (VM) that runs your web apps and scheduled scripts. Think of it as a server you rent — it stays running 24/7 and you pay for it whether or not anything is deployed on it.
When you create a computer you choose:
| Setting | Options | Notes |
|---|---|---|
| Size | S — 2 GB / 1 vCPU |
Suitable for low-traffic apps |
M — 4 GB / 2 vCPU |
Recommended for production | |
L — 8 GB / 4 vCPU |
High-traffic or background-heavy apps | |
| Region | singapore, us-east-1, … |
Choose the region closest to your users |
Provisioning a computer is asynchronous — it takes a few minutes. The CLI
waits and shows progress by default. You can pass --detach to get a job ID and
come back later.
Each computer hosts exactly one web app. Infrastructure services (Nginx, Postgres, Redis) are installed on the computer and dedicated to that app.
Web App¶
A web app is a named application that lives on a computer. It groups your code, environment variables, and deployment history in one place.
When you create a web app you configure it once:
| Setting | Options | Notes |
|---|---|---|
| Runtime | python3, nodejs |
The language your app runs in |
| Web server | nginx |
Handles incoming HTTP traffic |
| Database | postgres or none |
A PostgreSQL database provisioned for this app |
| Cache | redis or none |
A Redis instance provisioned for this app |
Note
The database and cache are optional. If you don't need them, leave them out — they can't be added to an existing web app later without recreating it.
The web app name must be globally unique — it becomes part of the
platform-assigned subdomain for your app (e.g. my-app.hostbento.app).
Creating a web app automatically provisions two spaces: uat and
production.
Infrastructure Services¶
Infrastructure services are the backing services that your web app depends on. They run on the computer alongside your app.
| Service | Technology | Purpose |
|---|---|---|
| Web server | Nginx | Routes HTTP traffic to your app process |
| Database | PostgreSQL | Relational database for your app |
| Cache | Redis | In-memory cache / queue broker |
You declare which services you need at webapp creation time. The platform provisions and manages them — you get a connection string as an environment variable inside your app.
Spaces¶
A space is a deployment slot for a web app. Every web app has exactly two spaces:
| Space | Purpose |
|---|---|
uat |
Test your latest deployment before releasing |
production |
The live version your users see |
Each space gets its own platform subdomain:
You can also map a custom domain to the production space.
The deployment flow¶
- Deploy — ZIP your code and upload it to the
uatspace. - Verify — Check that everything looks right on the
uatURL. - Promote — Copy the live
uatimage toproduction. No re-upload or rebuild — promotion is instant.
You can only deploy to uat. There is no direct path to production — every
release must go through uat first and be explicitly promoted.
Isolation between spaces¶
uat and production are fully isolated — they do not share data or
processes:
| Resource | uat | production |
|---|---|---|
| Database | Separate logical database | Separate logical database |
| Cache | Separate instance | Separate instance |
| Processes | Run independently | Run independently |
| Environment variables | Set independently | Set independently |
This means a migration or bad data write in uat has no effect on
production, and vice versa.