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

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

# Include{containerBasic}
# Include{containerAdvanced}

  - variable: softserve
    group: App Configuration
    label: Soft Serve Configuration
    schema:
      additional_attrs: true
      type: dict
      attrs:
        - variable: init_admin_key
          label: Soft Serve Initial Admin Key (Optional, Only during installation)
          description: The public key that will initially have admin access to repos
          schema:
            type: string
            default: ""
            private: true
        - variable: key_path
          label: Soft Serve Host Key-Pair Path
          description: SSH host key-pair PATH
          schema:
            type: string
            required: true
            default: /.ssh/soft_serve_server_ed25519
        - variable: host
          label: Soft Serve Host
          description: Address to use in public clone URLs
          schema:
            type: string
            required: true
            $ref:
              - "definitions/nodeIP"

# Include{containerConfig}
# 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: 23231
                              required: true
# Include{serviceExpertRoot}
            default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
        - variable: config
          label: App Config Storage
          description: Stores the Application Configuration.
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: ssh
          label: App SSH Storage
          description: Stores the Application SSH.
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: repo
          label: App Repo Storage
          description: Stores the Application Repo.
          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: 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}
