This directory contains the default local evaluation path for Viaduct.
kvm/: KVM/libvirt XML fixtures for local discoverymigration-window.yaml: example migration spec with execution window, approval requirement, and wave planningtenant-create.json: sample tenant creation payload for the admin APIservice-account-create.json: deterministic operator service-account payload for the dashboard bootstrap flowpilot-workspace-create.json: seeded pilot workspace intake payload for the workspace APIsconfig.yaml: minimal local config for the lab
make build
make web-build
./bin/viaduct startOn a fresh source checkout, viaduct start generates ~/.viaduct/config.yaml automatically when it is missing and points it at the fixtures in this directory.
Then open http://127.0.0.1:8080. For the default local lab path, the dashboard can use the built-in single-user fallback and does not require a pasted browser key.
If you intentionally want to exercise the tenant-scoped bootstrap path, use the seeded payloads in this directory:
tenant-create.jsonservice-account-create.json
The bootstrap screen stores runtime keys in session storage by default. Use the remember option only when you want the browser to retain a key across restarts.
If you are actively editing the dashboard, you can still run npm run dev inside web/ and use the Vite server instead. The default operator path for the lab is the same-origin shell served by viaduct start.
The default dashboard sequence is:
- create workspace
- discover
- inspect
- simulate
- save plan
- export report
When you are finished evaluating the flow, you can delete the workspace from the dashboard. That removes the workspace record and its job history without deleting the underlying snapshots or saved migration records outside the workspace document.
Local lab screenshots are in screenshots/README.md. The broader workspace-first demo assets also live in ../../docs/operations/demo/screenshots/README.md.
If you want to exercise the same fixture set through the CLI:
./bin/viaduct discover --type kvm --source examples/lab/kvm --save
./bin/viaduct plan --spec examples/lab/migration-window.yamlFocused smoke coverage for this path lives in tests/integration/pilot_workspace_smoke_test.go.