  - 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: name
                label: "Name (optional)"
                description: "Not required, please set to config when mounting /config or temp when mounting /tmp"
                schema:
                  type: string
              - variable: type
                label: "Type of Storage"
                description: "Sets the persistence type, Anything other than PVC could break rollback!"
                schema:
                  type: string
                  default: "simpleHP"
                  enum:
                    - value: "simplePVC"
                      description: "PVC (simple)"
                    - value: "simpleHP"
                      description: "HostPath (simple)"
                    - value: "emptyDir"
                      description: "emptyDir"
                    - value: "pvc"
                      description: "pvc"
                    - value: "hostPath"
                      description: "hostPath"
                    - 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: setPermissionsSimple
                label: "Automatic Permissions"
                description: "Automatically set permissions on install"
                schema:
                  show_if: [["type", "=", "simpleHP"]]
                  type: boolean
                  default: true
              - variable: setPermissions
                label: "Automatic Permissions"
                description: "Automatically set permissions on install"
                schema:
                  show_if: [["type", "=", "hostPath"]]
                  type: boolean
                  default: true
              - variable: readOnly
                label: "readOnly"
                schema:
                  type: boolean
                  default: false
              - variable: hostPathSimple
                label: "hostPath"
                description: "Path inside the container the storage is mounted"
                schema:
                  show_if: [["type", "=", "simpleHP"]]
                  type: hostpath
              - variable: hostPath
                label: "hostPath"
                description: "Path inside the container the storage is mounted"
                schema:
                  show_if: [["type", "=", "hostPath"]]
                  type: hostpath
              - variable: mountPath
                label: "mountPath"
                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: "999Gi"
              - variable: hostPathType
                label: "(Advanced) hostPath Type"
                schema:
                  show_if: [["type", "=", "hostPath"]]
                  type: string
                  default: ""
                  enum:
                    - value: ""
                      description: "Default"
                    - value: "DirectoryOrCreate"
                      description: "DirectoryOrCreate"
                    - value: "Directory"
                      description: "Directory"
                    - value: "FileOrCreate"
                      description: "FileOrCreate"
                    - value: "File"
                      description: "File"
                    - value: "Socket"
                      description: "Socket"
                    - value: "CharDevice"
                      description: "CharDevice"
                    - value: "BlockDevice"
                      description: "BlockDevice"
              - variable: storageClass
                label: "(Advanced) storageClass"
                description: "Warning: Anything other than SCALE-ZFS or empty will break rollback!"
                schema:
                  show_if: [["type", "=", "pvc"]]
                  type: string
                  default: "SCALE-ZFS"
              - variable: accessMode
                label: "(Advanced) Access Mode"
                description: "Allow or disallow multiple PVC's writhing to the same PV"
                schema:
                  show_if: [["type", "=", "pvc"]]
                  type: string
                  default: "ReadWriteOnce"
                  enum:
                    - value: "ReadWriteOnce"
                      description: "ReadWriteOnce"
                    - value: "ReadOnlyMany"
                      description: "ReadOnlyMany"
                    - value: "ReadWriteMany"
                      description: "ReadWriteMany"
              - variable: advanced
                label: "Show Advanced Options"
                schema:
                  type: boolean
                  default: false
                  show_subquestions_if: true
                  subquestions:
                    - variable: labelsList
                      label: "Labels"
                      schema:
                        type: list
                        default: []
                        items:
                          - variable: labelItem
                            label: "Label"
                            schema:
                              additional_attrs: true
                              type: dict
                              attrs:
                                - variable: name
                                  label: "Name"
                                  schema:
                                    type: string
                                - variable: value
                                  label: "Value"
                                  schema:
                                    type: string
                    - variable: annotationsList
                      label: "Annotations"
                      schema:
                        type: list
                        default: []
                        items:
                          - variable: annotationItem
                            label: "Label"
                            schema:
                              additional_attrs: true
                              type: dict
                              attrs:
                                - variable: name
                                  label: "Name"
                                  schema:
                                    type: string
                                - variable: value
                                  label: "Value"
                                  schema:
                                    type: string
