---
title: Charmhub | Deploy Testflinger Agent Host using Charmhub - The Open Operator
  Collection
description: Deploy the latest version of Testflinger Agent Host on any cloud. Testflinger
  host for device agents
url: https://charmhub.io/testflinger-agent-host
---

# Testflinger Agent Host

[Certification team Juju Charmers](https://charmhub.io/publisher/cert-charmers "View all packages from Certification team Juju Charmers")

* [Certification team Juju Charmers](https://charmhub.io/publisher/cert-charmers "View all packages from Certification team Juju Charmers")

Platform:

24.04

22.04

stable 119

```
juju deploy testflinger-agent-host
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

#### Relevant links

* [Homepage](https://canonical-testflinger.readthedocs-hosted.com/en/latest/)

---

#### Contacts

* [Submit a bug](https://github.com/canonical/testflinger/issues)

---

Share your thoughts on this charm with the community on discourse.

[Join the discussion](https://discourse.charmhub.io/)

---

[Add docs to a charm](https://juju.is/docs/sdk/add-docs-to-your-charmhub-page)

#### Testflinger host for device agents

Testflinger is a system for orchestrating the time-sharing of access to a pool
of target machines.

This charm provides the base system for a host system that will be used for
Testflinger device agents. It installs the base dependencies and provides a
target for deploying the `testflinger-agent` along with
`testflinger-device-connector` on top of. Additionally, it copies the scripts
in `src/tf-cmd-scripts/` to the host system. The scripts would be used by the
`testflinger-agent` to trigger the `testflinger-device-connector` at each
phase.

The Testflinger agent is a per-machine service that runs on an agent host
system. The agent is configured with a set of queues for which it knows how to
run jobs. When it is not running a job, the agent:

* Asks the server for a job to run from the list of configured queues
* Dispatches the device connector to execute each phase of the job
* Reports the results of the job back to the server
* Uploads artifacts (if any) saved from the job to the server
