Michal 62f896593d feat: CLI subcommands, PID self-restart, unit tests (22 passing)
CLI restructured:
  lab init bastion standalone start/stop/status
  lab provision list/install/reprovision/forget

- Nested commander subcommand groups (init > bastion > standalone, provision)
- PID file management: auto-kills old bastion on start, cleans up on stop
- stop command reads PID file and sends SIGTERM
- status command shows running state, port, machine counts
- forget command (DELETE /api/machines/:mac) removes from all state

Unit tests (22 tests, 3 files):
- kickstart.test.ts: worker/infra roles, SSH keys, partitions, admin user
- state.test.ts: load/save, atomic writes
- dispatch.test.ts: install/discover/local-boot routing, progress, forget

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 11:12:17 +00:00
2026-03-15 23:50:43 +00:00
2026-03-15 23:50:43 +00:00
2026-03-15 23:50:43 +00:00
2026-03-15 23:50:43 +00:00
2026-03-15 23:50:43 +00:00
2026-03-15 23:50:43 +00:00
2026-03-15 23:50:43 +00:00
2026-03-15 23:50:43 +00:00
Description
No description provided
1.6 MiB
Languages
TypeScript 83.4%
Shell 15.2%
JavaScript 0.7%
C 0.5%
Dockerfile 0.2%