Operating model
Providers
Supported providers, billing units, and planned GPU adapters.
Reviewed 2026-09-06
Chalupa runs on DigitalOcean for CPU and GPU workloads, and Hetzner for CPU
workloads. More GPU providers are planned, but their adapters do not exist yet.
Only digitalocean and hetzner are accepted in chalupa.yml today.
Bring your own account
You rent compute in your own provider account and pay the provider directly. Keep credentials in tvault, never in YAML. Chalupa never rents on the platform's key or marks up silicon.
Implemented providers
Billing follows the provider's resource lifecycle. Powering off a machine does not necessarily end its charges; retained storage bills separately.
| Provider | Workloads | Billing unit and limits |
|---|---|---|
DigitalOcean (digitalocean) |
CPU + GPU; host Ollama inference | Hourly compute. A powered-off GPU still bills until destroyed. Volumes bill in $/GiB-month and continue billing after compute is destroyed. |
Hetzner (hetzner) |
CPU cloud servers only | Hourly compute capped monthly. The adapter has no GPU support. |
See remote GPU inference for the current workflow and costs and idle observation for estimate boundaries.
Planned
These are roadmap entries, not selectable providers. No price is shown until an adapter reads it live; marketplace rates are not hardcoded quotes.
| Provider | Status and limits to resolve |
|---|---|
RunPod (runpod) |
First extra GPU cloud to implement. Requires its own adapter before use. |
Vast.ai (vast) |
Research interruptible GPU capacity, availability, and persistence guarantees. |
Lambda (lambda) |
Research GPU availability, account setup, billing, and lifecycle support. |
Hetzner GEX (hetzner-gex) |
Dedicated GPU servers, monthly billing plus a setup fee; not an hcloud size. Requires a separate adapter. |
Lium (lium) |
Parked: renter signup friction and possible 12-month lock-in; reopen only after a clean card + API key signup. |
Shadeform-style aggregators and Paperspace, Modal, Fly, and Voltage Park remain backlog research. None has an implemented Chalupa adapter or a price claim.
What an adapter must provide
Every adapter must support the same private access and explicit lifecycle contract before its provider becomes selectable:
- Credential spec: vault key, token validation, SSH key registration, and account or project scope.
- List and quote: live available compute, currency, billing unit, and any minimum charge or setup fee.
- Provision, wait, and SSH: create compute, wait for readiness, and connect with services bound to loopback.
- Destroy: delete the intended compute resource and state what storage survives and continues billing.
- Tags or labels: identify Chalupa resources so inventory, audits, and garbage collection can find them.
- Honest limits: document the service-level agreement (SLA), spot or interruptible behavior, and persistence guarantees.
The Taskfile continues to own the lifecycle. Provider support must not imply that hourly billing, dedicated capacity, or persistent disks behave the same across vendors.