Docs · Administration

Limits and policies

Your organisation can set its own limits on what its fleet may run, inside what your plan already allows. Set them from any machine in the fleet, or from your account on the web.

Three different things#

A workload refused by a quota would have fitted, and your plan would have permitted it. Keeping these three apart sends a refused person straight to the right place.

What it isWho can change it
LimitWhat your plan grantsA plan change
QuotaYour organisation's own number, set inside the limitA colleague, this minute
PermissionWhat a person in your organisation may doAn administrator

Refusals carry their own codes: a plan limit is LIMIT_REACHED or FEATURE_NOT_ENTITLED, and a quota is QUOTA_EXCEEDED. A governance refusal never borrows a capacity or plan code, so the sentence you read always points at the thing that actually said no.

Setting a policy#

Terminal
nodeau governance                          # show the current policy
nodeau governance --max-workloads 4
nodeau governance --max-gpus 2
nodeau governance --max-batch-workers 2
nodeau governance --allow-model qwen3.5-4b-q4km --allow-model finance-model
nodeau governance --allow-device GPU-c080d9be-9a09-0895-7162-fdb28011a7fd
nodeau governance --allow-node nodeforge
nodeau governance --clear
nodeau governance --json
FlagWhat it sets
--max-workloads <n>The most workloads that may run at once. 0 removes the quota
--max-gpus <n>The most graphics cards in use at once. 0 removes the quota
--max-batch-workers <n>The most batch workers at once. 0 removes the quota
--allow-model <id>Permit a model, by the id a workload runs under. Repeatable
--allow-device <uuid>Permit a graphics card, by UUID. Repeatable. The cards you permit are your GPU pool
--allow-node <name>Permit a machine, by name. Repeatable. The machines you permit are your fleet group
--clearRemove every governance setting from this fleet

With no policy set, nodeau governance says so, and adds that nothing is limited beyond what your plan already allows. A fleet with no policy is a working fleet, and nothing here needs setting unless you want it.

From the web#

The same policy can be set from your account at app.nodeau.ai. Changing it there is remote management, which comes with Home Pro and Business, like every other change made from the browser. Setting it locally with nodeau governance works on every plan. Reading a policy is open to everyone, because somebody refused by a number should always be able to see that number.

Lowering a limit leaves running work alone#

A quota decides what may start. Workloads already placed keep running, and you can stop them the ordinary way whenever you want the capacity back.

A policy never evicts, moves, stops or restarts anything.

Naming a model in a policy#

Use the id a workload runs under: a catalog id, or the alias you imported a custom model as.

Terminal
nodeau governance --allow-model qwen3.5-4b-q4km
nodeau governance --allow-model finance-model

Naming a card#

By its own UUID, which stays with the card, rather than by a number that can move.

Terminal
nodeau fleet list                       # shows each card's UUID
nodeau governance --allow-device GPU-…

A card left out of your pool is healthy, and simply not one this workload may use. Nodeau says it that way.

What a pool is#

A GPU pool or a fleet group is a filter on where work may go. It narrows the candidates, and it reserves nothing: a pool is never "full" or "busy", it either leaves an eligible machine or it does not.

When it leaves none, the refusal is POOL_RESTRICTED.

Where governance sits in the decision#

Governance narrows the candidates before any capacity arithmetic. That order is what keeps the refusal honest: a workload refused by a limit is told it was a limit, in your organisation's own words, and never that it did not fit.

The scheduler then chooses from what is left, with exactly the arithmetic it would have used anyway. A policy decides where work may go; the hardware still decides what fits there.

Finding out which policy refused you#

Terminal
nodeau service explain <name>

The refusal names the code, says which of the three it was, and for a model policy prints what is permitted here.

CodeMeaning
QUOTA_EXCEEDEDThe organisation's own number is spent
POOL_RESTRICTEDA pool or fleet group left no eligible machine
MODEL_NOT_PERMITTEDThe organisation's model policy leaves this model out. Distinct from MODEL_UNSUPPORTED, which is a fact about the runtime rather than a decision somebody made
BATCH_QUOTA_EXHAUSTEDThe organisation's batch allowance is spent

Scope#

A policy narrows where work may go and decides what may start. It never stops, moves or evicts work that is already running.

Governance belongs to every plan: it is your organisation's own rule, and no plan sells or withholds it. Changing it from the browser is remote management, which comes with Home Pro and Business.

Your organisation's other settings live elsewhere:

These docs describe the current release, the beta channel. Spotted something wrong or missing? Tell us. A report from a machine we have never seen is the most useful thing we get.