Describe the bug
After deleting a Qdrant app CR, the StatefulSet data PVC remains, consuming storage permanently.
Environment
- Cozystack version: v1.4.0-rc.2
- Provider: on-prem (bare-metal)
To Reproduce
- Create a tenant, deploy
Qdrant/test.
- Wait until Ready.
- Delete the Qdrant CR; wait ~120s.
kubectl -n <ns> get pvc — qdrant-storage-qdrant-test-0 remains.
Expected behaviour
Data PVC is released (or explicitly cleaned) after the CR is deleted.
Actual behaviour
pvc/qdrant-storage-qdrant-test-0 Bound
Additional context
- Root cause: Identical mechanism to OpenBAO. The app renders a Flux
HelmRelease (<release>-system) over the vendored upstream Qdrant chart (packages/apps/qdrant/templates/qdrant.yaml:32-36, persistence). The persistence: block passes only size/storageClassName, no retention policy; the STS-templated PVC survives STS deletion.
- Proposed fix: Same as OpenBAO — (A)
values.qdrant.persistence.persistentVolumeClaimRetentionPolicy: { whenDeleted: Delete } if the upstream chart supports it, or (B) a post-delete PVC cleanup hook.
Found during a create→delete leak sweep of all 22 apps on Cozystack v1.4.0-rc.2.
Describe the bug
After deleting a
Qdrantapp CR, the StatefulSet data PVC remains, consuming storage permanently.Environment
To Reproduce
Qdrant/test.kubectl -n <ns> get pvc—qdrant-storage-qdrant-test-0remains.Expected behaviour
Data PVC is released (or explicitly cleaned) after the CR is deleted.
Actual behaviour
Additional context
HelmRelease(<release>-system) over the vendored upstream Qdrant chart (packages/apps/qdrant/templates/qdrant.yaml:32-36,persistence). Thepersistence:block passes onlysize/storageClassName, no retention policy; the STS-templated PVC survives STS deletion.values.qdrant.persistence.persistentVolumeClaimRetentionPolicy: { whenDeleted: Delete }if the upstream chart supports it, or (B) apost-deletePVC cleanup hook.Found during a create→delete leak sweep of all 22 apps on Cozystack v1.4.0-rc.2.