Skip to content

Quotas

Two gates sit in front of everything that spends money or consumes hardware. Both are enforced server-side on every call — an agent in a loop cannot spend past them.

Your per-tenant quota — the spend cap

Your quota caps each billed dimension. Because billing is on RAM, your RAM cap is effectively your spend cap. get_quota reports, per dimension, your limit, current usage, and the resulting €/month burn against the cap:

kubrain quota

Returns limits & usage for RAM, clusters, volumes, and LB IPs, plus the €/month view. Read it before provisioning anything large — a create_cluster that would breach the cap is refused with a structured error telling you by how much.

Per-host capacity — the metal gate

Separately, a cluster’s nodes have to physically fit on a host in the target zone. regions shows coarse free RAM headroom per zone; if a shape doesn’t fit, the error is written for an agent to act on — e.g. “capacity full for 32 GB nodes in this zone; largest available is 16 GB” — so you can pick a smaller node or a different zone and retry.

How this shows up in practice

  • Planning: estimate + get_quota together answer “can I afford this, and will it fit?” before you commit.
  • At apply: create_cluster/scale_cluster/resize_cluster re-check both gates; a refusal is always a clear, actionable error, never a silent partial.
  • No runaway: hard caps plus rate limits mean a misbehaving agent can’t drain the IP pool or provision 200 clusters.

See also