  - 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: autoPermissions
                label: Automatic Permissions Configuration
                description: Automatically set permissions
                schema:
                  show_if: [["type", "!=", "pvc"]]
                  type: dict
                  additional_attrs: true
                  attrs:
                    - variable: enabled
                      label: enabled
                      schema:
                        type: boolean
                        default: false
                        show_subquestions_if: true
                        subquestions:
                          - variable: chown
                            label: Run CHOWN
                            description: |
                              It will run CHOWN on the path with the given fsGroup
                            schema:
                              type: boolean
                              default: false
                          - variable: chmod
                            label: Run CHMOD
                            description: |
                              It will run CHMOD on the path with the given value</br>
                              Format should be 3 digits, e.g. 770
                            schema:
                              type: string
                              valid_chars: '[0-9]{3}'
                              default: ""
                          - variable: recursive
                            label: Recursive
                            description: |
                              It will run CHOWN and CHMOD recursively
                            schema:
                              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
