Quotas & budgets
Outposts are counted separately and cost you nothing here: hardware you own draws no cpu, memory or disk from your pool and appears on no invoice line. There is a limit on how many you may connect, as an abuse control rather than a charge; usage shows it beside your machines.
CPU, memory, and storage are pools shared by all your machines; only machine count is a hard per-item budget. Check them with usage.
The pooled model
Your plan gives your account a resource pool, for example 2 vCPU, 4 GiB of memory, and 50 GiB of storage. Every machine you create boots seeing the full CPU/memory pool inside the guest, and its disk can by default grow into the whole storage pool. You never carve the plan into per-machine chunks; there is nothing to plan up front.
What's limited is actual, combined consumption: all your machines together can never use more CPU time or memory than the pool, and the data they collectively store is what counts against your storage, not the disk sizes they were created with.
| Dimension | How it counts |
|---|---|
| Machines | A count of your machines, whatever their state. |
| CPU (pool) | Shared: your machines' combined CPU time is capped at the pool. Every guest still sees all the pool's cores. |
| Memory (pool) | Shared: your machines' combined memory use is held to the pool. Every guest still sees the full pool. |
| Storage (pool) | Measured: the data your machines and shared drive actually store. Deleting files frees pool room again (within a day). Disk sizes are ceilings, not charges. |
A measured cap on stored inbound email across your machines. When it's full, new mail is refused with a retry-later error until you delete messages (email <machine> rm). |
Checking your usage
ssh
$ ssh dashboard@ironwire.sh usage 2/50 machines · 0/3 outposts · pool 2 vCPU · pool 4 GiB · 14/50 GiB disk · 3/100 MiB email
Left to right: machines used vs allowed, your CPU pool, your memory pool, stored data vs your storage pool, stored inbound mail vs its cap. The disk figure is measured: it goes down when you delete data (guests return freed space daily) or remove machines. The dashboard's top bar additionally shows live pool consumption (current CPU% and memory) while machines are running.
What happens at the limit
Machine count is checked at create; storage is checked when you create, copy, or grow. A full storage pool rejects those with an error naming your usage:
$ ssh dashboard@ironwire.sh create worker quota exceeded: machines 5/5 $ ssh dashboard@ironwire.sh create big storage pool full: used 25400/25600 MiB (+800 MiB for a new machine)
(Same errors on every surface: one-shot, the in-machine
ironwire CLI, or the dashboard's create form.)
CPU and memory never block a create, start, or resume; they only shape how fast things run once the pool is busy. A full storage pool never stops or blocks a running machine either: free room by deleting data inside machines (space returns within a day), removing machines, or clearing out the shared drive.
Disk sizes are ceilings
A machine's disk size is the most it could ever hold: a safety cap, not a reservation. Leave --disk blank and the machine can grow into your whole storage pool; the pool only fills as the machine actually stores data. Pick a smaller explicit --disk when you want to bound a single machine (a runaway process can then fill at most that machine's ceiling, not your whole pool). resize grows a ceiling later; ceilings never shrink.
--disk also accepts the literal max on create and resize; under the pooled model it means the whole pool, the same as leaving the size blank:
ssh
$ ssh dashboard@ironwire.sh create big --disk=max
Paused machines
A paused machine consumes nothing from the CPU/memory pool (it isn't running). Its stored data keeps counting against storage, plus a state snapshot roughly the size of its memory while it stays paused. It still occupies a machine slot. resume is never blocked, not by CPU, memory, or a full storage pool.
The shared drive
Your shared drive counts against storage by what it actually holds, attached or not. Creating or growing it is refused only while the storage pool is full; deleting files inside it frees pool room.