From 6d3ee206b9f8162cb1b608fb7b9478b74e351247 Mon Sep 17 00:00:00 2001 From: Paul Larson Date: Mon, 23 Oct 2023 12:28:23 -0500 Subject: [PATCH] Add a README to the monorepo base directory --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..43b38984 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# What is Testflinger? + +Testflinger is a system for orchestrating the time-sharing of access to a pool of target machines. + +Each Testflinger system consists of: + +- a web service (called just Testflinger) that provides an API to request jobs by placing them on a queue +- per machine agents that wait for jobs to placed on queues they can service and then process them + +Jobs can be either fully automated scripts that can attempt to complete within the allocated time or interactive shell sessions. + +The Testflinger system is particular useful for sharing finite machine resources between different consumers in a predictable fashion. + +Typically this has been used for managing a test lab where CI/CD test runs and also exploratory testing by human operators is desired. + +# Documentation + +You can find more information and documentation on the [Testflinger Documentation Page](https://testflinger.readthedocs.io/en/latest/). + +# Content of this repository + +A full deployment of testflinger consists of the following components: + +- `Testflinger Server`: The API server, and Web UI +- `Testflinger Agent`: Requests and processes jobs from associated queues on the server on behalf of a device +- `Testflinger Device Connectors`: Handles provisioning and other device-specific details for each type of device +- `Testflinger CLI`: The command-line tool for submitting jobs, checking status of jobs, and retreiving results + +This monorepo is organized in a way that is consistant with the components described above: + +```bash +└── providers + ├── server + ├── agent + ├── device-connectors + ├── cli + └── docs +