fix(storage): follow the existing local PV convention for CI #61

Merged
morten-olsen merged 1 commit from fix/573f2ae1-ci-local-volumes into main 2026-10-12 21:49:07 +02:00
Owner

Summary

The first live SSD acceptance exposed that the new class defaulted to hostPath PVs, while K3s's existing local-path class carries defaultVolumeType: local. Add the same annotation to woodpecker-ci so subsequent volumes follow the established local PV convention. Filesystem paths, node affinity, cleanup and permissions are unchanged.

Evidence

  • Before: two successful simultaneous installs used node-affine hostPath PVs on /mnt/ssd/woodpecker-ci.
  • After: the new rendered annotation assertion passes after failing on the old class; the full storage/alert checks and server dry-run pass. Verify actual subsequent PVs have .spec.local.path on the same SSD.

Merge danger

Door: two-way. Existing volumes are unaffected; only subsequent provisioning changes PV type.
Blast radius: pipeline.

Rollback and verification

  • Roll back: remove this annotation through Forgejo; preserve class/config until PVCs drain.
  • Verify: green pipeline, mirror/Argo revision, and new PV local path under the SSD CI folder during the five-workflow acceptance.
  • Reviewers: self-reviewed against task and conventions. This restores the existing PV convention and widens no access; core #60's Security review already covered path/cleanup guards.
## Summary The first live SSD acceptance exposed that the new class defaulted to hostPath PVs, while K3s's existing local-path class carries `defaultVolumeType: local`. Add the same annotation to woodpecker-ci so subsequent volumes follow the established local PV convention. Filesystem paths, node affinity, cleanup and permissions are unchanged. ## Evidence - Before: two successful simultaneous installs used node-affine hostPath PVs on `/mnt/ssd/woodpecker-ci`. - After: the new rendered annotation assertion passes after failing on the old class; the full storage/alert checks and server dry-run pass. Verify actual subsequent PVs have `.spec.local.path` on the same SSD. ## Merge danger **Door:** two-way. Existing volumes are unaffected; only subsequent provisioning changes PV type. **Blast radius:** pipeline. ## Rollback and verification - **Roll back:** remove this annotation through Forgejo; preserve class/config until PVCs drain. - **Verify:** green pipeline, mirror/Argo revision, and new PV local path under the SSD CI folder during the five-workflow acceptance. - **Reviewers:** self-reviewed against task and conventions. This restores the existing PV convention and widens no access; core #60's Security review already covered path/cleanup guards.
fix(storage): use local PVs for CI like the default class
All checks were successful
ci/woodpecker/push/charts Pipeline was successful
ci/woodpecker/pr/charts Pipeline was successful
6f2833a355
Sign in to join this conversation.
No description provided.