# uptimerunner-vagrant This scenario verifies a real remote runner shape with two Vagrant machines: 1. `controller` runs the uptime.link runner protocol handler. 2. `runner` compiles and installs `uptimerunner` as a systemd service. 3. `runner` also runs a local HTTP target on `127.0.0.1`. 4. The controller assigns a check for that runner-local target. 5. The remote runner heartbeats, executes the check from its own VM, and submits the result back to the controller. Run it with: ```bash pnpm scenario:uptimerunner-vagrant ``` Override the default private-network addresses if they collide locally: ```bash UPTIMELINK_VAGRANT_CONTROLLER_IP=192.168.60.10 \ UPTIMELINK_VAGRANT_RUNNER_IP=192.168.60.11 \ pnpm scenario:uptimerunner-vagrant ``` The scenario defaults to `UPTIMELINK_VAGRANT_PROVIDER=libvirt`. If this host uses VirtualBox instead, run: ```bash UPTIMELINK_VAGRANT_PROVIDER=virtualbox pnpm scenario:uptimerunner-vagrant ``` If the current shell has not picked up newly added `libvirt` group membership, run: ```bash sg libvirt -c 'pnpm scenario:uptimerunner-vagrant' ```