DiamondLightSource / DiamondLightSource/blueapi
Creation of Arbitrarily Named PVCs
- Dominant language
- Python
- Stars
- 13
- Forks
- 13
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 25
Description
Blueapi currently [creates a PVC](https://github.com/DiamondLightSource/blueapi/blob/6d08154b0cea91858fb08c34b9cba54566fd8611/helm/blueapi/templates/volumes.yaml#L1) if `.Values.initContainer.persistentVolume.enabled` is true, and `.Values.initContainer.persistentVolume.existingClaimName` does _not_ have a value.
This means that while Blueapi can [connect to arbitrarily named PVCs](https://github.com/DiamondLightSource/blueapi/blob/6d08154b0cea91858fb08c34b9cba54566fd8611/helm/blueapi/templates/statefulset.yaml#L64), it can only create one PVC per version.
There is a use case for beamlines needing a clean PVC, without having changed versions and whilst retaining a roll-back option.
## Acceptance Criteria
- Blueapi can create and connect to arbitrary PVCs
Contributor guide
Research direction
Start with helm/blueapi/templates/volumes.yaml and helm/blueapi/templates/statefulset.yaml, then inspect the related values under initContainer.persistentVolume. Render the chart with different PVC names and verify that the created claim and StatefulSet reference the same arbitrary name. Done means Blueapi can create and connect to a newly named PVC while retaining existing-claim and rollback behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100