Bump Woodpecker CI to v3.16.0 #297
Reference in New Issue
Block a user
Delete Branch "benvin/woodpecker-3.16.0"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
Upgrade the Woodpecker CI instance from v3.14.1 to v3.16.0 to pick up upstream fixes and the k8s-backend privilege-escalation hardening (GHSA-qf34-295c-26v8). Server and agent must move together.
The chart is pulled at build time (
kustomize build --enable-helm); the image tag defaults to the chartappVersion, so bumping the chart moves both images. Chart 3.6.5 -> appVersion 3.16.0 (verified against upstreamhelm/charts/woodpecker/Chart.yaml); subchart deps are unchanged from 3.6.3 (server 3.0.1, agent 2.0.1), so there is no values-schema migration.What
3.6.3(appVersion 3.14.1) to3.6.5(appVersion 3.16.0) in the au-syd1 overlay. Server + agent both render asv3.16.0.WOODPECKER_BACKEND_K8S_SERVICE_ACCOUNT_NAME_ALLOW_FROM_STEP: "true"on the agent.CRITICAL: k8s backend serviceAccountName gating (required change)
v3.16.0 (PR #6792, GHSA-qf34-295c-26v8) gates step-level
serviceAccountNamebehind a new agent flagWOODPECKER_BACKEND_K8S_SERVICE_ACCOUNT_NAME_ALLOW_FROM_STEP, defaultfalse. When disabled, anybackend_options.kubernetes.serviceAccountNameset by a pipeline is silently ignored and the namespacedefaultSA is used instead.Every terraform pipeline in the estate sets
backend_options.kubernetes.serviceAccountName(e.g.terraform-git,terraform-vault,terraform-artifactapi) and relies on that SA for Vault k8s auth / Consul state. Without this flag those jobs would run asdefaultand lose their Vault identity. This PR sets the flag totrueto preserve current behaviour. No other newly-gated backend_options keys (pod labels/annotations from step, native secrets) are used by the estate.Migration / rollback
woodpecker) should be taken before merge.3.6.5->3.6.3reverts the images to v3.14.1, but because migrations are one-way, a clean rollback requires restoring the CNPG DB from the pre-merge backup, not just pinning the old image.Validation
kustomize build --enable-helm apps/overlays/au-syd1/woodpeckerrenderswoodpecker-server:v3.16.0andwoodpecker-agent:v3.16.0; agent carries the new env var.kubeconform(k8s 1.33.7): 24/24 resources valid.Follow-up (not in this PR)
Woodpecker images are pulled from
docker.io/ghcr.iodirectly, not the artifactapi proxy. Proxying them via artifactapi is a possible follow-up but out of scope for this version bump.https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv