Title: Add support for managed files PVC
-
What is your original issue/pain point you want to solve?
I want to deploy a PersistentVolumeClaim (PVC) as part of a Helm chart without having to usekubectl
separately. Mixing Helm-managed and manually-deployed Kubernetes resources is undesirable for maintainability and consistency reasons. -
Which are one or two concrete situations where this problem hurts the most?
- During automated CI/CD deployments, where everything is expected to be Helm-driven, having to inject
kubectl
calls breaks the workflow and introduces complexity. - When managing upgrades or rollbacks via Helm, the manually created PVC is not included in the Helm release lifecycle, which can cause orphaned resources or inconsistencies.
-
Why is it not solvable with the Zammad standard?
The Zammad Helm chart does support custom PVCs for file storage, but they must be externally managed and pre-created. This means the PVC cannot be provisioned as part of the Helm release itself, requiring a separatekubectl
step or external automation. This breaks the goal of having a fully Helm-driven deployment and complicates lifecycle management. -
What is your expectation/what do you want to achieve?
I want to be able to deploy a PVC fully through Helm, ideally as part of the Zammad chart (or a subchart), to keep the entire deployment process consistent, reproducible, and manageable via Helm alone.
I created my own subchart with the following pvc.yaml
:
{{- if eq .Values.application.environment "test" }}
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: zammad-storage
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
storageClassName: netapp
volumeMode: Filesystem
{{- else }}
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: zammad-storage
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 30Gi
storageClassName: netapp
volumeMode: Filesystem
{{- end }}
Your Zammad environment:
- Average concurrent agent count: 3
- Average tickets a day: 50
- What roles/people are involved: IT Department