Harthelm Docs
Concepts

Plans and quotas

Workspace plans, service plans and the team quota.

Last updated 2026-10-19

A plan sets the size of one thing: an IDE, or one replica of a service. The team quota caps what all of a team's awake workspaces and services use together. Your installation defines both; the numbers below are a fresh installation's defaults.

Workspace plans

A workspace plan sizes the IDE and its disk. You pick it in Create workspace as IDE plan, or with hart ws create --plan.

PlanCPUMemoryDisk
ide-s (IDE S)0.5 vCPU1536 MiB10 GiB
ide-m (IDE M)1 vCPU2048 MiB20 GiB

Service plans

A service plan sizes each replica of a steps or container service. Set it with plan in harthelm.yml; without one, the installation's default service plan applies.

PlanCPUMemoryReplicas at most
nano0.1 vCPU128 MiB3
small0.25 vCPU512 MiB3
medium1 vCPU1024 MiB3

replicas runs that many pods of the plan, up to maxReplicas, which is at most the plan's maximum. Scale between 1 and maxReplicas without a Sync, in the Run panel or with hart scale:

Terminal
hart scale web=2

Changing the plan itself is a change of the file, needs a Sync and restarts the pods. The Sync review and hart validate with a key show your installation's plans.

Managed services have plans of their own, from their provider; see Managed services.

The team quota

Team Settings → Quota shows what the team uses and may use:

ResourceDefault limit
CPU requests2 cores
Memory requests4 GiB
Memory limits8 GiB
Storage50 GiB

A plan's numbers are limits. What counts against the CPU and memory requests is a share of them, which your installation sets; the Sync review shows the team quota before and after the change. A managed service counts with its whole plan, since its server reserves all of it.

What counts:

  • the IDEs of the team's awake workspaces,
  • the replicas of the services of awake workspaces,
  • the team's managed services that are not paused, at their whole plan,
  • the disks of all workspaces, including recently deleted ones until they are purged.

Creating, syncing, scaling up or waking anything that does not fit is refused with "The team's quota does not fit this". Put something to sleep, use a smaller plan, purge a recently deleted workspace, or ask a cluster admin for a larger quota. A smaller quota never stops what already runs.

Next steps

On this page