Remote Execution
Remote Execution¶
Remote runs are orchestrated by lb_controller using Ansible (install the controller extra). The CLI (lb) drives the controller through lb_app and runs workloads on configured hosts or provisioned targets.
Configure remote hosts¶
Use lb config init -i to create a config and prompt for a remote host, or edit the config directly:
"remote_hosts": [
{
"name": "node1",
"address": "192.168.1.10",
"user": "ubuntu",
"become": true,
"vars": {
"ansible_ssh_private_key_file": "~/.ssh/id_rsa",
"ansible_ssh_common_args": "-o StrictHostKeyChecking=no"
}
}
],
"remote_execution": {"enabled": true}
Run with:
lb run --remote
Use --remote/--no-remote to override the config for a single run (local execution is not supported by the CLI).
Provisioned targets (dev-only)¶
The CLI can provision ephemeral nodes for testing:
lb run --dockeruses Docker/Podman containers.lb run --multipassuses Multipass VMs.
These flags are available only in dev mode (.lb_dev_cli or LB_ENABLE_TEST_CLI=1). Use --nodes to select how many targets to provision (max 2).
Stop handling¶
You can create a stop sentinel file during a run to request a graceful stop:
lb run --stop-file /tmp/lb.stop
# touch /tmp/lb.stop to stop
The controller decides when cleanup is allowed; provisioned nodes are preserved if cleanup is disallowed or a failure occurs.