Self-hosted agents

Buildkite's self-hosted agents are Buildkite agents that you run in your own self-hosted environment or infrastructure. This infrastructure could be servers that you host on-premises, or in cloud-based services, such as AWS, Google Cloud, or using Kubernetes.

With self-hosted agents, you have control over managing infrastructure tasks, such as provisioning, scaling, security, and maintaining the servers that run your agents.

The following diagram provides an overview of how Buildkite Pipelines, which is a software-as-as-service (SaaS) platform known as the Buildkite platform, interacts with Buildkite agents in your own self-hosted infrastructure.

Shows the hybrid architecture combining a SaaS platform with your infrastructure

Installation

You can install self-hosted agents on a wide variety of platforms. See the installation instructions for a full list and for information on how to get started.

Starting the agent

To start a self-hosted agent, you'll need an agent token associated with one of your Buildkite organization's clusters, along with a configured self-hosted queue in that cluster. The agent token is passed to the agent using an environment variable or command line flag (with an optional queue tag), and the token will register itself with your Buildkite Pipeline's cluster and wait to accept jobs. Learn more about this process in Assigning a self-hosted agent to a queue.

Configuration

A self-hosted agent has a standard configuration file format on all systems to set meta-data, priority, etc. See the configuration documentation for more details.

Experimental features

Buildkite frequently introduces new experimental features to the agent, which you can try out on self-hosted agents. See Agent experiments for the full list of available and promoted experiments.