The Buildkite Agent Stack for Kubernetes (also known as agent-stack-k8s) is a Kubernetes controller that uses the Buildkite Agent API to watch for scheduled jobs assigned to the controller's queue.
Note
Starting with v0.28.0, the Buildkite GraphQL API is no longer used. If you are upgrading from an older version, your GraphQL-enabled token can be safely removed from your configuration or Kubernetes secret. Only the Agent token is required.
- A Kubernetes cluster.
- A Buildkite Agent Token.
The simplest way to launch a stack on the default queue:
helm install agent-stack-k8s oci://ghcr.io/buildkite/helm/agent-stack-k8s \
--set agentToken=<buildkite-agent-token>To specify a non-default queue:
helm install agent-stack-k8s oci://ghcr.io/buildkite/helm/agent-stack-k8s \
--set agentToken=<buildkite-agent-token> \
--set config.queue=arm64Most installations need no controller ID configuration. If multiple independent controller installations service the same queue, give each installation a distinct controller ID (its Agent API stack key), stable across restarts and upgrades.
With Helm, use distinct release full names or set
BUILDKITE_K8S_STACK_CONTROLLER_ID through controllerEnv to leave Kubernetes
resource names unchanged. Non-Helm deployments can set the same environment
variable or pass --id.
Full instructions can be found in the documentation.
Comprehensive documentation for the Buildkite Agent Stack for Kubernetes controller can be found in the Agent Stack for Kubernetes section of the Buildkite Docs.
For guidelines and requirements regarding contributing to the Buildkite Agent Stack for Kubernetes controller, please see the Development guide.