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

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

  - variable: plausible
    group: "App Configuration"
    label: "Plausible Configuration"
    schema:
      additional_attrs: true
      type: dict
      attrs:
        - variable: BASE_URL
          label: BASE_URL
          description: The hosting URL of the server, used for URL generation. In production systems, this should be your ingress host.
          schema:
            type: string
            default: http://localhost
            required: true
        - variable: DISABLE_AUTH
          label: DISABLE_AUTH
          description: Disables authentication completely, no registration, login will be shown.
          schema:
            type: boolean
            default: false
        - variable: DISABLE_REGISTRATION
          label: DISABLE_REGISTRATION
          description: Disables registration of new users, keep your admin credentials handy ;)
          schema:
            type: boolean
            default: false
        - variable: ADMIN_USER_NAME
          label: ADMIN_USER_NAME
          description: Admin user's name (First Install Only)
          schema:
            type: string
            default: admin
            required: true
        - variable: ADMIN_USER_EMAIL
          label: ADMIN_USER_EMAIL
          description: The default ("admin") user email (First Install Only)
          schema:
            type: string
            default: admin@example.com
            required: true
        - variable: ADMIN_USER_PWD
          label: ADMIN_USER_PWD
          description: The default ("admin") user password (First Install Only)
          schema:
            type: string
            default: ""
            required: true
            private: true
        - variable: CLICKHOUSE_FLUSH_INTERVAL_MS
          label: CLICKHOUSE_FLUSH_INTERVAL_MS
          description: nterval (in milliseconds) between flushing events and sessions data to Clickhouse. Consult Clickhouse docs before changing it.
          schema:
            type: int
            default: 5000
            required: true
        - variable: CLICKHOUSE_MAX_BUFFER_SIZE
          label: CLICKHOUSE_MAX_BUFFER_SIZE
          description: Maximum size of the buffer of events or sessions. Consult Clickhouse docs before changing it.
          schema:
            type: int
            default: 10000
            required: true
        - variable: MAILER_EMAIL
          label: MAILER_EMAIL
          description: The email id to use for as from address of all communications from Plausible.
          schema:
            type: string
            default: hello@plausible.local
            required: true
        - variable: SMTP_HOST_ADDR
          label: SMTP_HOST_ADDR
          description: The host address of your smtp server.
          schema:
            type: string
            default: localhost
            required: true
        - variable: SMTP_HOST_PORT
          label: SMTP_HOST_PORT
          description: The port of your smtp server.
          schema:
            type: int
            default: 25
            required: true
        - variable: SMTP_USER_NAME
          label: SMTP_USER_NAME
          description: The username/email in case SMTP auth is enabled.
          schema:
            type: string
            default: ""
        - variable: SMTP_USER_PWD
          label: SMTP_USER_PWD
          description: The password in case SMTP auth is enabled.
          schema:
            type: string
            default: ""
            private: true
        - variable: SMTP_HOST_SSL_ENABLED
          label: SMTP_HOST_SSL_ENABLED
          description: If SSL is enabled for SMTP connection
          schema:
            type: boolean
            default: false
        - variable: SMTP_RETRIES
          label: SMTP_RETRIES
          description: Number of retries to make until mailer gives up.
          schema:
            type: int
            default: 2
            required: true
        - variable: MAILER_ADAPTER
          label: MAILER_ADAPTER
          description: Mailer Adapter
          schema:
            type: string
            required: true
            default: Bamboo.SMTPAdapter
            enum:
              - value: Bamboo.SMTPAdapter
                description: Bamboo.SMTPAdapter
              - value: Bamboo.PostmarkAdapter
                description: Bamboo.PostmarkAdapter
        - variable: POSTMARK_API_KEY
          label: POSTMARK_API_KEY
          description: Enter your API key.
          schema:
            type: string
            default: ""
            private: true
        - variable: GOOGLE_CLIENT_ID
          label: GOOGLE_CLIENT_ID
          description: The Client ID from the Google API Console for your Plausible Analytics project
          schema:
            type: string
            default: ""
        - variable: GOOGLE_CLIENT_SECRET
          label: GOOGLE_CLIENT_SECRET
          description: The Client Secret from the Google API Console for your Plausible Analytics project
          schema:
            type: string
            default: ""
            private: true
        - variable: LOG_LEVEL
          label: LOG_LEVEL
          description: Logging Level
          schema:
            type: string
            required: true
            default: warn
            enum:
              - value: debug
                description: debug
              - value: info
                description: info
              - value: warn
                description: warn
              - value: error
                description: error
# 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: 10277
                              required: true
# Include{serviceExpertRoot}
            default: false
# Include{serviceExpert}
# Include{serviceList}
# 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: 1000
        - variable: runAsGroup
          label: "runAsGroup"
          description: "The groupID this App of the user running the application"
          schema:
            type: int
            default: 1000
# 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}
