Durable benchmark orchestrator for Testflinger and Phoronix Test Suite
BenchLease reserves machines through the Testflinger HTTP API, deploys a
detached on-host agent that runs Phoronix Test Suite benchmarks (surviving
disconnects), ingests the results into a relational store, and compares them
across hardware/OS environments.
Two commands ship in this snap:
- benchlease.benchctl -- the control-plane CLI (import suites, declare
desired runs, reserve machines, run/schedule benchmarks, compare).
- benchlease.web -- a read-only FastAPI + HTMX dashboard over the same
database (listens on 127.0.0.1:8000 by default).
The snap is strictly confined. benchctl reads and writes its database,
artifact tree and SSH keystore relative to the working directory, so run it
from somewhere under your home directory (the home interface is connected
automatically). Testflinger credentials come from BenchLease's own YAML
config, from $TESTFLINGER_CLIENT_ID / $TESTFLINGER_SECRET_KEY, or from the
testflinger-cli snap's config under ~/snap/testflinger-cli/.
See the "Snap" section of the README for the optional interfaces
(ssh-keys, dot-phoronix-test-suite, removable-media) and when to connect them.