Plan and deploy¶
Plan is a dry-run. It never writes Git files or EVE. Omitted direction is to_eve (desired Local → managed lab). Copy plan_identity if you later confirm remaining requires_stop work.
Deploy creates the managed lab the first time (IaC → UNL ZIP → native POST /api/import). Node/network/link visuals from eve-presentation.yml are baked into that ZIP; the agent does not PUT every object afterwards. If the managed lab already exists, the IDE asks before replace. CLI: eve-iac deploy returns lab_exists — use plan then Reconcile, or deploy --replace --yes.
Reconcile (to_eve) runs the same pipeline as plan / reconcile: validate → typed Keys → exact contract Lookup → obligations. Independent live-applicable changes apply only when the plan has no unsupported action. Any unsupported transition blocks all EVE writes until you change the YAML. Remaining requires_stop needs explicit confirmation plus a matching plan identity. Partial convergence (pending_stop) is normal after live-safe work. Do not use Deploy against an IMPORT source lab.
Typical CREATE flow¶
- Validate.
- Plan (optional but recommended).
- Deploy the first time.
- Later edits: Plan then Reconcile.
- Start nodes if you want them running.
- Open Lab to see the topology in Simple Browser.
IMPORT / LOAD¶
- IMPORT: deploy/reconcile the managed copy only. Never the source.
- LOAD: no deploy/reconcile/destroy. Lifecycle (start/stop/wipe), live link quality/suspend, and consoles are allowed. Wipe only when you explicitly ask.
Destructive actions¶
| Action | What it does | Confirmation |
|---|---|---|
| Deploy with replace | Stop/wipe/delete then recreate the managed lab | IDE warning |
| Reconcile with prune | Delete extra live objects on to_eve |
IDE warning; CLI --yes plus --plan-identity if stop remains |
Classified stop (requires_stop) |
Stop the listed running nodes, apply that change, start them again | IDE Stop and continue. Leave pending keeps them running. CLI --yes --plan-identity. MCP confirm=true |
| Wipe | Clear node runtime / config so the next boot rereads startup-config | IDE warning or Live config apply |
| Export running config | Copy the running NOS configuration into an existing EVE startup-config set. Does not write Git | Confirmation that names the set and the nodes. Live config apply does not skip it |
| Destroy | Remove the managed lab | IDE warning; never inferred |
A chat message is not consent.
A changed startup-config takes effect only after stop → wipe → start of that node. Wipe between stop and start is mandatory; stop+start without wipe leaves the old runtime. Plan config_update lists that sequence on activation. When Live config apply is off, reconciling a running lab can wipe runtime config for nodes whose startup-config or selector changed. That is expected: EVE applies startup-config on clean boot. Live config apply is not stop consent. requires_stop still needs the Stop confirmation (and matching plan identity).
Next: Pull from EVE if the managed lab should update Git.