kubekite is a manager for buildkite-agent jobs in Kubernetes. It watches the Buildkite API for new build jobs and when one is detected, it launches a Kubernetes job resource to run a single-user pod of buildkite-agent. When the agent is finished, kubekite cleans up the job and the associated pod.
Kubekite is designed to be run within Kubernetes as a single-replica deployment. An example deployment spec can be found here. You can build and deploy kubekite from within Buildkite using the included pipeline.
Note that you will have to modify the deployment spec, these scripts, and the pipeline.yml
to suit your infrastructure and preferred Docker registry.