Zammad-Helm managed files PVC

Title: Add support for managed files PVC

  1. 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 use kubectl separately. Mixing Helm-managed and manually-deployed Kubernetes resources is undesirable for maintainability and consistency reasons.

  2. 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.
  1. 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 separate kubectl step or external automation. This breaks the goal of having a fully Helm-driven deployment and complicates lifecycle management.

  2. 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