Releases: buildkite/agent-stack-k8s
v0.31.0
v0.31.0 (2025-08-13)
Added
Fixed
- Fix monitor jobs handled metric #670 (@DrJosh9000)
Internal
- chore(deps): Bump github.com/prometheus/client_golang from 1.22.0 to 1.23.0 #666 (@dependabot[bot])
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.31.0
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.31.0
Digest: sha256:55b91e388889e684fbd612dbb6b4570db230d1f2b9ae64c524494460b1f12434
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.31.0
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.31.0
Digest: sha256:2d48f595f78cb08210c737fd221382224fd64fe45983191a5c039d2ee5a24ffe
Agent
Image: ghcr.io/buildkite/agent:3.103.1
Digest: sha256:3b4336137a9684c896841607aee7084f62f5ccca88ea779666bd388f9ff25bdc
v0.30.2
v0.30.2 (2025-08-07)
FIXED
- Return token on context cancellation in worker #663 (@JoeColeman95)
Changed
- Upgrade agent to v3.103.1 #667 (@zhming0)
- Update CODEOWNERS #664 (@DrJosh9000)
- chore(deps): Bump sigs.k8s.io/yaml from 1.5.0 to 1.6.0 in the k8s group #661 (@dependabot[bot])
- chore(deps): Bump github.com/jedib0t/go-pretty/v6 from 6.6.7 to 6.6.8 #662 (@dependabot[bot])
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.30.2
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.30.2
Digest: sha256:6e0fe9f0d8c2acd0b1b240571c21caeb57c87684dc148249ec5999685a7de448
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.30.2
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.30.2
Digest: sha256:17395131b4d495a88148427164d5cb16514f9ff2127f76cfab5b1d1cd5d187a3
Agent
Image: ghcr.io/buildkite/agent:3.103.1
Digest: sha256:3b4336137a9684c896841607aee7084f62f5ccca88ea779666bd388f9ff25bdc
v0.28.3
v0.28.3 (2025-08-04)
Changed
- Return token on context cancellation in worker #665 (@JoeColeman95)
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.28.3
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.28.3
Digest: sha256:dbf33ba8f4563606d52076c8c0bacc2d9340c859cf680163cb7b4de21b68e77c
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.28.3
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.28.3
Digest: sha256:b7a508d17704fbc61034a240efb165d87ed652e648a70706d17dd1c0d5b02378
Agent
Image: ghcr.io/buildkite/agent:3.98.1
Digest: sha256:e57c0c8a003895bfe3bb0a10d15ee892349a3c31b4606ebea17fe92af662fae0
v0.30.1
v0.30.1 (2025-07-29)
Fixed
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.30.1
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.30.1
Digest: sha256:a7c815f3746f7d79d66edd93a914dc69e448577726fdbeec3f30f517e690fae4
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.30.1
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.30.1
Digest: sha256:353870aa4273e69bd73c382ce1ad129e7cf9356b7be2d0421a1da7995ba2ca55
Agent
Image: ghcr.io/buildkite/agent:3.103.0
Digest: sha256:79589467fb78221155c79b8f2b687b79b605ef314a3139ec48fcbb0df0370656
v0.30.0
v0.30.0 (2025-07-23)
Added
You can now use this syntax in your pipeline yaml.
image: "ubuntu:22.04" # apply to all steps.
steps:
- name: ":node: Test"
command: npm test
image: "node:22" # apply to a single step
Coming Soon
- PB-140 part 1: prototype Reserver job handler #650 (@zhming0)
- PB-140 part 2: job reservation support #651 (@zhming0)
Changed
Internal
- Update to use OIDC session tokens on AWS role assumption #652 (@duckalini)
Dependencies
- chore(deps): Bump the k8s group with 3 updates #656 (@dependabot[bot])
- chore(deps): Bump github.com/spf13/pflag from 1.0.6 to 1.0.7 #657 (@dependabot[bot])
- chore(deps): Bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 #655 (@dependabot[bot])
- chore(deps): Bump github.com/buildkite/agent/v3 from 3.101.0 to 3.102.2 #649 (@dependabot[bot])
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.30.0
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.30.0
Digest: sha256:fc2e9340a66f7f5d6beca1bfa444fde3a738f1bd83f4e5532586dbeda4e28702
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.30.0
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.30.0
Digest: sha256:00829ffae1c192126ebc2d0288207caefd049dd51cf31daebe805b119601f595
Agent
Image: ghcr.io/buildkite/agent:3.103.0
Digest: sha256:79589467fb78221155c79b8f2b687b79b605ef314a3139ec48fcbb0df0370656
v0.29.3
v0.29.3 (2025-07-09)
Warning
Breaking changes in v0.29
Starting v0.29.0 we stopped supporting unclustered setup. If you are using unclustered agent setup, please follow this migration guide.
We no longer automatically append a queue=kubernetes tag. Instead, if queue tags are not explicitly specified when the agent is started, then the controller will pull jobs from the default queue.
Added
- PB-164 part 2: add opt-out flag for imagecheck containers #643 (@zhming0)
- PIPE-1263: set user-agent header #641 (@zhming0)
Internal
- PB-133-follow-up: update cmd description for experimental-job-reservation-support #647 (@zhming0)
- PB-164 part 1: relocating imagecheck related logic to another file #642 (@zhming0)
- PB-133: feature flag for job reservation support #644 (@zhming0)
- chore(deps): Bump github.com/go-playground/validator/v10 from 10.26.0 to 10.27.0 #645 (@dependabot[bot])
- chore(deps): Bump github.com/buildkite/agent/v3 from 3.100.1 to 3.101.0 #646 (@dependabot[bot])
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.29.3
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.29.3
Digest: sha256:fd99d548320e609d2c976f160f159b85e67350ad3d81226ea726d18c91fa742d
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.29.3
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.29.3
Digest: sha256:92c9a9edf74f5a155e4edf27c20b7a721275d2e3154dbb957eb49c38e79c8fc3
Agent
Image: ghcr.io/buildkite/agent:3.101.0
Digest: sha256:ad8e8872a03d2c8b1258c8415e8a2814e239e27cc81757557570b4e486b7a7ec
v0.29.2
v0.29.2 (2025-06-26)
Warning
Breaking changes in v0.29
Starting v0.29.0 we stopped supporting unclustered setup. If you are using unclustered agent setup, please follow this migration guide.
We no longer automatically append a queue=kubernetes tag. Instead, if queue tags are not explicitly specified when the agent is started, then the controller will pull jobs from the default queue.
Added
Fixed
- Precreate build and plugins dirs #637 (@DrJosh9000)
Changed
- chore(deps): Bump github.com/buildkite/agent/v3 from 3.100.0 to 3.100.1 #639 (@dependabot[bot])
Internal
- go.mod: remove mapstructure replace #636 (@DrJosh9000)
- PIPE-1111-part-1: allow running k8s agent stack against local bk/bk #630 (@zhming0)
Dependencies
- chore(deps): Bump the k8s group across 1 directory with 5 updates #640 (@dependabot[bot])
- chore(deps): Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 #634 (@dependabot[bot])
- chore(deps): Bump gotest.tools/gotestsum from 1.12.2 to 1.12.3 #633 (@dependabot[bot])
Agent changelog
v3.100.1 (2025-06-25)
Fixed
- Fix regression in pipeline upload with no-interpolation #3359 (@DrJosh9000)
Internal
- Avoid goroutine failing after test #3356 (@DrJosh9000)
Dependencies
- build(deps): bump github.com/buildkite/shellwords from 0.0.0-20180315084142-c3f497d1e000 to 1.0.0 #3352 (@dependabot[bot])
- build(deps): bump github.com/go-chi/chi/v5 from 5.2.1 to 5.2.2 #3353 (@dependabot[bot])
- build(deps): bump the container-images group across 6 directories with 2 updates #3354 (@dependabot[bot])
- build(deps): bump the cloud-providers group with 5 updates #3355 (@dependabot[bot])
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.29.2
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.29.2
Digest: sha256:55b6d53c35f199aba7dc9b07eca8a48f3517577b12cd13b1db715198f5fbde5f
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.29.2
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.29.2
Digest: sha256:dba460b292526b9116d4ff4cb3a579fdae6407d14c8abcb183f53762751dda2b
Agent
Image: ghcr.io/buildkite/agent:3.100.1
Digest: sha256:6152427bdadc8e84e401b97593ba0ff59046e5ef72f0646d34156efbee180003
v0.29.1
v0.29.1 (2025-06-23)
Warning
Breaking changes in v0.29
Starting v0.29.0 we stopped supporting unclustered setup. If you are using unclustered agent setup, please follow this migration guide.
We no longer automatically append a queue=kubernetes tag. Instead, if queue tags are not explicitly specified when the agent is started, then the controller will pull jobs from the default queue.
Changed
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.29.1
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.29.1
Digest: sha256:55bf2096d2e1e299073d55f45f7b0281c32b9c784ae96f66791574288a684217
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.29.1
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.29.1
Digest: sha256:425121143788727c6766f5f84ca88345019525c1d55c303ad820a4e26ef11aae
Agent
Image: ghcr.io/buildkite/agent:3.100.0
Digest: sha256:4b87ac974680ba34fe6784bdb57abd0c7932043bbc66ff42fc47a987518d63ba
v0.29.0
v0.29.0 (2025-06-19)
Warning
Breaking
In v0.29.0
we stopped supporting unclustered setup. If you are using unclustered agent setup, please follow this migration guide.
Another breaking change: we no longer automatically append a queue=kubernetes
tag. Instead, if queue tags are not explicitly specified when the agent is started, then the controller will pull jobs from the default queue.
Change
- Output bad yaml when kube api server rejects the request #624 (@nsuma8989)
- Stack error signal reason #627 (@moskyb)
- PB-5: improve exit code propogation for non-command containers #628 (@zhming0)
Fixed
- PIPE-1171: fix all jobs must match agent tags bug + introduce controller ID #626 (@zhming0)
- PIPE-1072-2: fix explicitly setting job default queue causing controller to miss the job #622 (@zhming0)
Internal
- PIPE-1157: Dogfooding buildkite scoped secret for the graphql token #623 (@zhming0)
- PIPE-1115: update development guide #621 (@zhming0)
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.29.0
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.29.0
Digest: sha256:f42bd765e10e59af2ea8cc58689fd61d04c6c65d1fa85e0c8b2ec6262ae410cf
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.29.0
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.29.0
Digest: sha256:e4b76d971ed538b46ec7c0a2ac50b2fc59e714f24b046204f53305b1800db224
Agent
Image: ghcr.io/buildkite/agent:3.98.2
Digest: sha256:d9377fd83c89828d50a2e82a1a9209b888cc9c0d8ccef12b55632e6a6fd9228e
v0.28.2
v0.28.2 (2025-06-19)
Fixed
Internal
Images
Helm chart
Image: public.ecr.aws/buildkite/helm/agent-stack-k8s:0.28.2
Image: ghcr.io/buildkite/helm/agent-stack-k8s:0.28.2
Digest: sha256:82ca22f9e620185e06589fabeba01438ca5c01cbc559dd8585054e5d1f6c8451
Controller
Image: public.ecr.aws/buildkite/agent-stack-k8s/controller:0.28.2
Image: ghcr.io/buildkite/agent-stack-k8s/controller:0.28.2
Digest: sha256:e64bb010c00527e4d181407573aea6ac7429e47a0cf93c07c86de1e63e451248
Agent
Image: ghcr.io/buildkite/agent:3.98.1
Digest: sha256:e57c0c8a003895bfe3bb0a10d15ee892349a3c31b4606ebea17fe92af662fae0