Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/dwarves

.nornir/agent-pool-for-idiots.md

agent pool — for idiots

Class: for-idiots · the zero-knowledge walkthrough. What it IS: agent-pool-design.md · how to use it: agent-pool-guide.md.

What is an "agent"?

A build server does the actual work (compiling, testing) on worker machines. Each worker that has signed up to do work is called an agent. The whole set of them is the agent pool — the forge's little workforce.

What did we add?

A way to ask the forge who is in its workforce:

dwarves agents

prints something like:

worker fleet (1 agent(s)):
  local-0      group=default    caps=[cargo] cores=12 state=idle

That says: there is one worker, called local-0, in the default team, that knows how to run cargo, has 12 CPU cores, and is currently sitting idle.

Two ways to ask

Both print the same kind of list.

Why it matters

Today there is just one worker (on this machine). But the whole point is that later, many machines can join the pool over the network. When they do, this exact command will list them all — no change needed. Think of it as the forge's staff directory: right now it has one name in it, but it is ready for a whole team.

Where the list comes from

We did not write new code to track workers. The shared jera library already keeps the workforce and can hand it out as data; dwarves agents just asks jera for it and prints it. One list, borrowed — never a second copy that could disagree.