stable/buildkite/README.md
This chart is deprecated! You can find the new chart in:
helm repo add buildkite https://buildkite.github.io/charts/
This chart bootstraps a buildkite agent builder on a Kubernetes cluster using the Helm package manager.
As it sets service account it can be used to build Docker images and deploy them using kubectl and helm clients in the same cluster where agents run, without any extra setup.
In order for the chart to configure the Buildkite Agent properly during the installation process, you must provide some minimal configuration which can't rely on defaults. This includes at least one element in the agent list token:
To install the chart with the release name bk-agent:
$ helm install stable/buildkite --name bk-agent --namespace buildkite --set agent.token="BUILDKITE_AGENT_TOKEN"
To install the chart with the release name bk-agent and set Agent meta-data and git repo SSH key:
$ helm install stable/buildkite --name bk-agent --namespace buildkite \
--set agent.token="$(cat buildkite.token)",agent.meta="role=production",privateSshKey="$(cat buildkite.key)"
Where --set values contain:
agentToken: Buildkite token read from file
agentMeta: tagging agent with - role=production
privateSshKey: private SSH key read from file
Tip: List all releases using
helm list
To uninstall/delete the bk-agent release:
$ helm delete bk-agent
The command removes all the Kubernetes components associated with the chart and deletes the release.
The following table lists the configurable parameters of the buildkite chart and their default values.
| Parameter | Description | Default |
|---|---|---|
replicaCount | Replicas count | 1 |
image.repository | Image | buildkite/agent |
image.tag | Image tag | 3.0 |
image.pullPolicy | Image pull policy | IfNotPresent |
agent.token | Agent token | Must be specified |
agent.meta | Agent meta-data | role=agent |
extraEnv | Agent extra env vars | nil |
privateSshKey | Agent ssh key for git access | nil |
registryCreds.gcrServiceAccountKey | GCP Service account json key | nil |
registryCreds.dockerConfig | Private registry docker config.json | nil |
resources | pod resource requests & limits | {} |
nodeSelector | node labels for pod assignment | {} |
Check for examples of pipeline.yml and build/deploy scripts here.