apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: nfs-ganesha namespace: nfs spec: interval: 30m chartRef: kind: OCIRepository name: nfs-ganesha values: controllers: app: strategy: Recreate podDisruptionBudget: maxUnavailable: "0" initContainers: mtab-setup: image: repository: hectorm/nfs-ganesha tag: v10 command: - sh - -c - cat /proc/self/mounts > /mtab-vol/mtab containers: app: image: repository: hectorm/nfs-ganesha tag: v10 securityContext: readOnlyRootFilesystem: true capabilities: drop: - ALL add: - CHOWN - DAC_OVERRIDE - DAC_READ_SEARCH - FOWNER - FSETID - SETGID - SETUID - SYS_RESOURCE probes: liveness: enabled: true spec: initialDelaySeconds: 2 periodSeconds: 10 timeoutSeconds: 2 failureThreshold: 3 readiness: enabled: true spec: initialDelaySeconds: 1 periodSeconds: 2 timeoutSeconds: 1 failureThreshold: 2 resources: requests: cpu: 50m memory: 128Mi limits: memory: 512Mi service: app: controller: app type: LoadBalancer labels: loadBalancerPool: nfs ports: nfs: port: 2049 protocol: TCP persistence: config: type: configMap name: nfs-ganesha-config globalMounts: - path: /etc/ganesha/ganesha.conf subPath: ganesha.conf readOnly: true export: type: persistentVolumeClaim accessMode: ReadWriteOnce size: 30Gi storageClass: longhorn retain: true globalMounts: - path: /export run: type: emptyDir globalMounts: - path: /run tmp: type: emptyDir globalMounts: - path: /tmp recovery: type: emptyDir globalMounts: - path: /recovery etc-mtab: type: emptyDir advancedMounts: app: app: - path: /etc/mtab subPath: mtab mtab-setup: - path: /mtab-vol