# Include{groups}
portals:
  open:
# Include{portalLink}
questions:
# Include{global}
# Include{workload}
# Include{workloadDeployment}

# Include{replicas1}
# Include{podSpec}
# Include{containerMain}

                                - variable: env
                                  group: "App Configuration"
                                  label: "Image Environment"
                                  schema:
                                    additional_attrs: true
                                    type: dict
                                    attrs:
                                      - variable: PAPERLESS_ADMIN_USER
                                        label: "PAPERLESS_ADMIN_USER (First Install Only)"
                                        schema:
                                          type: string
                                          required: true
                                          default: ""
                                      - variable: PAPERLESS_ADMIN_PASSWORD
                                        label: "PAPERLESS_ADMIN_PASSWORD (First Install Only)"
                                        schema:
                                          type: string
                                          required: true
                                          private: true
                                          default: ""
                                      - variable: PAPERLESS_ADMIN_MAIL
                                        label: "PAPERLESS_ADMIN_MAIL (First Install Only)"
                                        schema:
                                          type: string
                                          default: ""
                                      - variable: PAPERLESS_URL
                                        label: "PAPERLESS_URL"
                                        description: "This is required if you will be exposing Paperless-ngx on a public domain."
                                        schema:
                                          type: string
                                          default: ""
                                      - variable: PAPERLESS_WEBSERVER_WORKERS
                                        label: "PAPERLESS_WEBSERVER_WORKERS"
                                        description: "The number of worker processes the webserver should spawn."
                                        schema:
                                          type: int
                                          required: true
                                          default: 2
                                      - variable: PAPERLESS_OCR_LANGUAGES
                                        label: "Additional Paperless OCR Languages"
                                        description: "Additional OCR languages to install. By default, paperless comes with English, German, Italian, Spanish and French. If your language is not in this list, install additional languages with this configuration option. Use LangCodes for the additional languages in a SPACED list."
                                        schema:
                                          type: string
                                          default: "eng fra deu spa ita"
                                      - variable: PAPERLESS_OCR_LANGUAGE
                                        label: "Additional Language Selector"
                                        description: "If additional languages are selected above, you can set the default language used with OCR using LangCodes below, default is eng. Can use eng+fra if muliple"
                                        schema:
                                          type: string
                                          default: "eng"
# Include{containerBasic}
# Include{containerAdvanced}

# Include{containerConfig}
# Include{podOptions}
# Include{serviceRoot}
# Include{serviceMain}
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
                    - variable: main
                      label: "Main Service Port Configuration"
                      schema:
                        additional_attrs: true
                        type: dict
                        attrs:
                          - variable: port
                            label: "Port"
                            description: "This port exposes the container port on the service"
                            schema:
                              type: int
                              default: 10140
                              required: true
# Include{serviceExpertRoot}
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
        - variable: data
          label: "App Data Storage"
          description: "This is where paperless stores all its data (search index, classification model, etc)"
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: consume
          label: "To-be consumed Document Storage"
          description: "This where your documents should go to be consumed."
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: media
          label: "App Document Storage"
          description: "This is where your documents and thumbnails are stored."
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
# Include{persistenceList}
# Include{ingressRoot}
        - variable: main
          label: "Main Ingress"
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressAdvanced}
# Include{ingressList}
# Include{securityContextRoot}

              - variable: runAsUser
                label: "runAsUser"
                description: "The UserID of the user running the application"
                schema:
                  type: int
                  default: 0
              - variable: runAsGroup
                label: "runAsGroup"
                description: "The groupID this App of the user running the application"
                schema:
                  type: int
                  default: 0
# Include{securityContextContainer}
# Include{securityContextAdvanced}
# Include{securityContextPod}
              - variable: fsGroup
                label: "fsGroup"
                description: "The group that should own ALL storage."
                schema:
                  type: int
                  default: 568

# Include{resources}
# Include{advanced}
# Include{addons}
# Include{codeserver}
# Include{netshoot}
# Include{vpn}
# Include{documentation}
