Woodpecker: expose bundle-cache PVC volume to pipeline pods #417

Closed
opened 2026-06-10 01:52:10 +00:00 by ldraney · 0 comments
Owner

Type

Feature

Lineage

Standalone — supports landscaping-assistant#187 pipeline optimization.

Repo

pal-e-platform

User Story

As a CI pipeline, I need access to a persistent gem cache so bundle-install runs in ~10s instead of ~90s.

Context

landscaping-assistant PR #188 added PVC-backed gem caching to .woodpecker.yaml. The PVC woodpecker-bundle-cache has been created in the cluster. The Woodpecker agent needs WOODPECKER_BACKEND_K8S_VOLUMES set so pipeline pods can mount it.

Description

Add one env var to the Woodpecker agent in terraform/modules/ci/main.tf:

WOODPECKER_BACKEND_K8S_VOLUMES = "[{\"name\":\"bundle-cache\",\"persistentVolumeClaim\":{\"claimName\":\"woodpecker-bundle-cache\"}}]"

File Targets

  • terraform/modules/ci/main.tf (1 line added)

Feature Flag

None.

Acceptance Criteria

  • Agent env var set via Terraform
  • terraform apply rolls the agent with the new config
  • landscaping-assistant pipeline can mount /cache/bundle

Test Expectations

After terraform apply, next landscaping-assistant pipeline should populate the gem cache on first run and use it on subsequent runs.

Constraints

  • PVC already created manually (kubectl apply). Future: manage via Terraform resource.
  • ReadWriteOnce means only one pipeline pod can mount it at a time (fine for single-agent setup).

Checklist

  • PVC created in woodpecker namespace
  • Agent env var added to Terraform
  • terraform apply run on infra host
  • landscaping-assistant#187 — pipeline optimization
  • landscaping-assistant PR #188 — .woodpecker.yaml gem cache config
### Type Feature ### Lineage Standalone — supports landscaping-assistant#187 pipeline optimization. ### Repo pal-e-platform ### User Story As a CI pipeline, I need access to a persistent gem cache so bundle-install runs in ~10s instead of ~90s. ### Context landscaping-assistant PR #188 added PVC-backed gem caching to `.woodpecker.yaml`. The PVC `woodpecker-bundle-cache` has been created in the cluster. The Woodpecker agent needs `WOODPECKER_BACKEND_K8S_VOLUMES` set so pipeline pods can mount it. ### Description Add one env var to the Woodpecker agent in `terraform/modules/ci/main.tf`: ``` WOODPECKER_BACKEND_K8S_VOLUMES = "[{\"name\":\"bundle-cache\",\"persistentVolumeClaim\":{\"claimName\":\"woodpecker-bundle-cache\"}}]" ``` ### File Targets - `terraform/modules/ci/main.tf` (1 line added) ### Feature Flag None. ### Acceptance Criteria - [ ] Agent env var set via Terraform - [ ] `terraform apply` rolls the agent with the new config - [ ] landscaping-assistant pipeline can mount /cache/bundle ### Test Expectations After `terraform apply`, next landscaping-assistant pipeline should populate the gem cache on first run and use it on subsequent runs. ### Constraints - PVC already created manually (`kubectl apply`). Future: manage via Terraform resource. - ReadWriteOnce means only one pipeline pod can mount it at a time (fine for single-agent setup). ### Checklist - [x] PVC created in woodpecker namespace - [x] Agent env var added to Terraform - [ ] `terraform apply` run on infra host ### Related - landscaping-assistant#187 — pipeline optimization - landscaping-assistant PR #188 — .woodpecker.yaml gem cache config
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/pal-e-platform#417
No description provided.