  - variable: persistenceList
    label: Additional App Storage
    group: Storage and Persistence
    schema:
      type: list
      default: []
      items:
        - variable: persistenceListEntry
          label: Custom Storage
          schema:
            additional_attrs: true
            type: dict
            attrs:
              - variable: enabled
                label: Enable the storage
                schema:
                  type: boolean
                  default: true
                  hidden: true
              - variable: type
                label: Type of Storage
                description: Sets the persistence type, Anything other than PVC could break rollback!
                schema:
                  type: string
                  default: hostPath
                  enum:
                    - value: pvc
                      description: PVC
                    - value: hostPath
                      description: Host Path
                    - value: emptyDir
                      description: emptyDir
                    - value: nfs
                      description: NFS Share
              - variable: server
                label: NFS Server
                schema:
                  show_if: [["type", "=", "nfs"]]
                  type: string
                  default: ""
              - variable: path
                label: Path on NFS Server
                schema:
                  show_if: [["type", "=", "nfs"]]
                  type: string
                  default: ""
              - variable: setPermissions
                label: Automatic Permissions
                description: Automatically set permissions on install
                schema:
                  show_if: [["type", "=", "hostPath"]]
                  type: boolean
                  default: false
              - variable: readOnly
                label: Read Only
                schema:
                  type: boolean
                  default: false
              - variable: hostPath
                label: Host Path
                description: Path inside the container the storage is mounted
                schema:
                  show_if: [["type", "=", "hostPath"]]
                  type: hostpath
              - variable: mountPath
                label: Mount Path
                description: Path inside the container the storage is mounted
                schema:
                  type: string
                  default: ""
                  required: true
                  valid_chars: '^\/([a-zA-Z0-9._-]+(\s?[a-zA-Z0-9._-]+|\/?))+$'
              - variable: medium
                label: EmptyDir Medium
                schema:
                  show_if: [["type", "=", "emptyDir"]]
                  type: string
                  default: ""
                  enum:
                    - value: ""
                      description: Default
                    - value: Memory
                      description: Memory
              - variable: size
                label: Size Quotum of Storage
                schema:
                  show_if: [["type", "=", "pvc"]]
                  type: string
                  default: 256Gi
