Testflinger is a microservice that provides an API to request and enqueue tests, which can be serviced by any agent capable of handling the test.
Testflinger is a basic Flask application.
You can run it (for example) with gunicorn:
gunicorn --bind: 0.0.0.0:5000 app:appTo learn about the API endpoints, refer to the API documentation.
To interact with the server via the CLI, refer to the Testflinger CLI.
To interact with the server via GitHub workflows, refer to the Testflinger GitHub actions.
Testflinger is available on all major Linux distributions.
On juju-ready systems, you can deploy it on the command-line with:
juju deploy testflinger-k8sTo learn more about the Testflinger server configuration, deployment, and maintenance, refer to the following documentation sets:
You can report any issues, bugs, or feature requests on the project's GitHub repository.
Testflinger is open source. Contributions are welcome.
If you're interested, start with the Server development guide and the contribution guide.
Testflinger Server is released under the GPL-3.0 license.
© 2025 Canonical Ltd.