Harthelm Docs

Limits

Plans, quotas and the fixed limits you meet: sizes, counts, timeouts and how long things are kept.

Last updated 2026-10-19

Some limits are set by your installation: the plans you can choose, your team's quota, how long a workspace may idle. Others are fixed in Harthelm. This page lists both. Values marked default are what a new installation ships with; your administrator may have changed them in the chart values.

Plans

A plan is a size. Every workspace has a workspace plan (CPU, memory and the size of its volume), and every steps or container service of a landscape has a service plan (CPU, memory and its most replicas). Pick a workspace plan in Create workspace or with --plan of hart ws create; pick a service plan with the plan key in harthelm.yml.

List the plans your installation offers:

Terminal
curl -H "Authorization: Bearer $HART_TOKEN" https://console.example.com/api/v1/plans

The answer of List plans also says which plan is the default of each kind. A service without plan uses the default service plan.

The plans a new installation ships with (default):

PlanKindCPUMemoryStorageMost replicas
ide-sworkspace0.51.5 GiB10 GiB
ide-mworkspace12 GiB20 GiB
nanoservice0.1128 MiB3
smallservice0.25512 MiB3
mediumservice11 GiB3

The plan's CPU and memory are the limits of each pod. What a pod reserves on the cluster, and what counts toward the team's quota, are its requests: by default 20 % of the CPU and 50 % of the memory. A service with three replicas counts three times.

Managed services have their own plans, and they count toward the quota at their whole plan, not a share. The built-in PostgreSQL (default): Tiny (0.25 CPU, 256 MiB, 1 GiB of storage) and Small (0.5 CPU, 512 MiB, 5 GiB). The plans of MariaDB, Valkey, RabbitMQ and S3 object storage are in Managed services.

Team quota

Each team has a quota over everything its workspaces, services and databases reserve. Default for a new team:

ResourceDefault
CPU requests2
Memory requests4 GiB
Memory limits8 GiB
Storage (volumes)50 GiB

Volumes of recently deleted workspaces still count until they are purged. A team admin sees the usage in the team's settings; an administrator can raise the quota for one team. When a change does not fit, Harthelm refuses it with "Team quota exceeded: needs …, … left" (quota-exceeded). See Plans and quotas.

Disk quota of a workspace. The files of a workspace may use its volume's size. Harthelm measures the usage of awake workspaces every 6 hours; from 90 % on the console warns, and above 100 % Sync and prepare are refused until you delete files.

Sleep, wake and idle

WhatLimit
Idle time before a workspace or service that sleeps when idle goes to sleep60 minutes (default); a workspace or service can set 1 to 1440 minutes
Wakes that start per minute, whole installation30 (default); an administrator can pause waking, and every wake is then refused with "Waking is paused"
An editor connection that dropskeeps its session for 300 seconds (default) before it counts as closed
Waiting for the services a service needs5 minutes, then it starts anyway

harthelm.yml

WhatLimit
File size1 MiB
Nesting depth100 levels
Values after aliases are expanded100 000
Problems listed per check100
Service namelower-case letters, digits and -, starting with a letter, at most 32 characters
Step name1 to 100 characters
Environment variable nameletters, digits and _, not starting with a digit, at most 128 characters; not HART_*
Reserved ports7777 (the workspace agent); 3000 cannot be made public, it is the dev URL's entry port
Restarts of a failing serviceafter 1 s, doubling to 60 s; after 5 failures within 2 minutes the service is Failed. A start that ran 1 minute counts as a fresh start.

Workspaces

WhatLimit
Workspace name1 to 64 characters: letters, digits, space, -, _ and .; starts and ends with a letter or digit
Environment variables per workspace500
Value of one variable32 768 characters
All names and values together256 KiB
Value of one secret64 KiB
Generated passwordat most 256 characters
Terminals per pod32
hart exec command8192 characters; runs 120 s by default, at most 300 s
Output of one exec1 MiB
Output kept per stage and step2 MiB; a longer line is split at 16 KiB
git pull from the console or hart git pull30 seconds
A file in the read-only file viewer1 MiB
Recently deleted workspacescan be restored for 7 days, then they are purged

API and sign-in

WhatLimit
Request body8 MiB
Page size of lists50 by default, at most 200
Idempotency keys255 characters; the answer is kept for 24 hours; bodies up to 1 MiB
Operationsreadable for 7 days after they finish
Lines per log request1000 by default, at most 10 000
Browser sessionends after 12 hours without use, and after 7 days at the latest
hart login sign-inmust be approved within 10 minutes
API keys per user100; a key name has at most 100 characters

Too many requests are answered with 429 and Retry-After.

Custom domains

WhatLimit
Domains per team20 (default)
New domains per team and hour10, deleted ones included (default)
An unverified domain keeps its name7 days (default), then it is removed
A verified domain without its TXT recordlapses after 7 days (default)
Routes per domain50
Workspaces one route splits traffic across10
Request body100 MiB by default; a team admin may set up to 1 GiB (default)
Answer timeout60 s by default; a team admin may set up to 3600 s (default)

Managed services and backups

WhatLimit
A deleted managed servicelisted as recently deleted for 7 days (default)
Database dumps (backups: true)nightly, with the installation's backups
Workspace archivesof workspaces that sleep and changed, daily, if the installation keeps archives

Ask your administrator what your installation keeps; Backups and restore shows the options.

On this page