Daemon model

Generated Markdown for references/concept_daemon_model.md.

Open book page Back to the skill graph

# Daemon model

_A two-tier daemon: the supervisor vmlabd (one per user) plus one lab daemon per running lab, auto-started by the CLI._

vmlab runs a **two-tier daemon**, auto-started by the CLI — there is no setup step.


| Tier | Scope | Owns |
| --- | --- | --- |
| Supervisor (`vmlabd`) | One per user, auto-started on first CLI use | Lab registry, global segments, cross-host peering, serialised template-store writes, host watchdogs, aggregated events |
| Lab daemon | One per running lab; spawned on `up`, reaped on `down`/`destroy` | QEMU processes, QMP/agent channels, the userspace network fabric, snapshots, the wscript runtime |

If a lab daemon dies, the supervisor emits `lab.daemon_crashed` and marks the lab
failed — **there is no auto-restart** (restart policy belongs to `on` handlers).
Manual control: `vmlab daemon start | stop | status`.


## Related

- [lab {} block]../references/entity_labs.md

- [Host config]../references/concept_host_config.md

- [Networking model]../references/concept_networking.md

[← Back to SKILL.md]../SKILL.md