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

# Include{replicas1}
# Include{podSpec}
# Include{containerMain}
# Include{containerBasic}
# Include{containerAdvanced}

  - variable: youtrack
    group: App Configuration
    label: YouTrack Configuration
    schema:
      additional_attrs: true
      type: dict
      attrs:
        - variable: baseURL
          label: Base URL
          description: The URL that end users request to access your YouTrack installation. For example, https://youtrack.mydomain.com or http://YOUR.SCALE.SERVER.IP:18080
          schema:
            type: string
            required: true
            default: ""
        - variable: webHooksBaseUrl
          label: Webhook Base URL
          description: Sets an alternative base URL for your YouTrack server when sending requests to create webhooks in external services.
          schema:
            type: string
            default: ""
        - variable: defaultPage
          label: Default Page
          description: Sets the default start page for your YouTrack server. Enter a relative path to your base URL with a leading slash.
          schema:
            type: string
            required: true
            default: /dashboard
        - variable: support_email
          label: Support Email
          description: Specifies the email address that is used as the mailto address for the Contact support link on the error screen.
          schema:
            type: string
            default: youtrack-feedback@jetbrains.com
        - variable: hubURL
          label: Hub URL
          description: Stores the web address of an external Hub service, when used.
          schema:
            type: string
            default: ""
        - variable: authThrottlingEnabled
          label: Auth Throttling Enabled
          description: Sets the status of the throttling feature for the Hub authentication module. When true, authentication throttling is enabled.
          schema:
            type: boolean
            default: false
        - variable: disableCheckForUpdate
          label: Disable Check For Update
          description: Enables and disables checking for software updates on startup. When set to true, checking for software updates is disabled.
          schema:
            type: boolean
            default: false
        - variable: minPrefixQueryLength
          label: Min Prefix Query Length
          description: |
            Sets the minimum length of a prefix query string to a set number of characters.
            If prefix queries and wildcard strings do not return all matching word forms
            in a search query, set this value to 2. Setting this system property affects the
            performance of your YouTrack server. The lower the value, the slower
            the performance of your server.
          schema:
            type: int
            required: true
            default: 3
        - variable: mailLimit
          label: Mail Limit
          description: |
            Sets a daily limit for the number of email messages that are sent with the
            issue.sendMail() method in workflows. When set to 0, there is no limit.
          schema:
            type: int
            required: true
            default: 0
        - variable: eventMergeTimeout
          label: Event Merge Timeout
          description: |
            Sets the amount of time YouTrack waits to compile changes that are applied to an issue
            as a digest before sending an email notification, in milliseconds. Reducing this value
            increases the rate at which YouTrack analyzes notifications and can have a negative
            impact on general server performance. Increasing this value from the default (one minute)
            can reduce the overall number of notification emails that are sent by YouTrack.
          schema:
            type: int
            required: true
            default: 0
        - variable: requestHeaderBufferSize
          label: Request Header Buffer Size
          description: |
            Maximum request buffer size. If you see the URI is too large >102400 or Request header
            too large warnings/errors in YouTrack logs, increase the value for this parameter.
          schema:
            type: int
            required: true
            default: 102400
        - variable: licenseName
          label: License Name
          description: Sets the name of your YouTrack license to the name of your YouTrack Server license.
          schema:
            type: string
            default: ""
        - variable: licenseKey
          label: License Key
          description: Sets the name of your YouTrack license to the name of your YouTrack Server license.
          schema:
            type: string
            private: true
            default: ""
        - variable: statisticsUpload
          label: Statistics Upload
          description: Determines whether YouTrack is allowed to collect and share anonymous usage statistics with JetBrains.
          schema:
            type: boolean
            default: false
        - variable: dumbMode
          label: Dumb Mode
          description: |
            Lets you run the YouTrack service without connecting to other services inside your network.
            When true, YouTrack doesn't generate notifications, update webhooks, retrieve email messages
            for Mailbox integrations, or send HTTP requests for workflows. This can be particularly helpful
            for staging environments where you want to test new functionality without disrupting users
            who are working with the live application.
          schema:
            type: boolean
            default: false
        - variable: admin_restore
          label: Admin Restore
          description: Restores the password for the root user account to the default value <root>.
          schema:
            type: boolean
            default: false
        - variable: jvm
          label: JVM Configuration
          schema:
            additional_attrs: true
            type: dict
            attrs:
              - variable: maxHeapSize
                label: Max Heap Size
                schema:
                  type: string
                  required: true
                  default: 1g
              - variable: maxMetaspaceMemory
                label: Max Metaspace Memory
                schema:
                  type: string
                  required: true
                  default: 350m
              - variable: metaspaceMemory
                label: Metaspace Memory
                schema:
                  type: string
                  required: true
                  default: 350m
              - variable: extraJVMOptions
                label: Extra JVM Options
                description: Pass extra JVM options in the format of ( -XX:+HeapDumpOnOutOfMemoryError )
                schema:
                  type: list
                  default: []
                  items:
                    - variable: jvmOptionEntry
                      label: JVM Option Entry
                      schema:
                        type: string
                        required: true
                        default: ""
# Include{containerConfig}
# Include{serviceRoot}
        - variable: main
          label: Main Service
          description: The Primary service on which the healthcheck runs, often the webUI
          schema:
            additional_attrs: true
            type: dict
            attrs:
# 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: 18080
                              required: true
# Include{serviceExpertRoot}
            default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
        - variable: data
          label: Database Storage
          description: This is the location for the database (destination).
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: conf
          label: Configuration Storage
          description: This is the location for the configuration (destination).
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: logs
          label: Logs Storage
          description: This is the location for the logs (destination).
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: backups
          label: Backups Storage
          description: This is the location for backups (destination).
          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{ingressList}
# Include{securityContextRoot}

        - variable: runAsUser
          label: runAsUser
          description: The UserID of the user running the application
          schema:
            type: int
            default: 13001
        - variable: runAsGroup
          label: runAsGroup
          description: The groupID this App of the user running the application
          schema:
            type: int
            default: 13001
# 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}
