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

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

# Include{containerConfig}
  - variable: domains
    group: "App Configuration"
    label: "Domains"
    description: "Please refer to CoreDNS docs for options"
    schema:
      type: list
      default: []
      items:
        - variable: domainEntry
          label: ""
          schema:
            additional_attrs: true
            type: dict
            attrs:
              - variable: domain
                label: "Domain name"
                schema:
                  type: string
                  required: true
                  default: "example.com"
              - variable: dnsChallenge
                label: "Forward dnsChallenge"
                description: "Optional configuration option for DNS01 challenge that will redirect all acme"
                schema:
                  additional_attrs: true
                  type: dict
                  attrs:
                    - variable: enabled
                      label: "Enable"
                      schema:
                        type: boolean
                        default: false
                        show_subquestions_if: true
                        subquestions:
                          - variable: domain
                            label: "Forward to Domain"
                            schema:
                              type: string
                              required: true
                              default: "dns01.clouddns.com"
  - variable: forward
    group: "App Configuration"
    label: "Forward DNS To"
    schema:
      additional_attrs: true
      type: dict
      attrs:
        - variable: enabled
          label: "Enabled"
          schema:
            type: boolean
            default: true
            show_subquestions_if: true
            subquestions:
              - variable: primary
                label: "Primary"
                schema:
                  type: string
                  required: true
                  default: "1.1.1.1"
              - variable: secondary
                label: "Secondary"
                schema:
                  type: string
                  required: true
                  default: "1.0.0.1"
              - variable: options
                label: "Forward Options"
                description: "Please refer to CoreDNS docs for options"
                schema:
                  type: list
                  default: []
                  items:
                    - variable: optionEntry
                      label: "Option"
                      schema:
                        additional_attrs: true
                        type: dict
                        attrs:
                          - variable: name
                            label: "Name"
                            schema:
                              type: string
                              required: true
                              default: ""
                          - variable: value
                            label: "Value"
                            schema:
                              type: string
                              required: true
                              default: ""
# 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: 53
                              required: true
# Include{serviceExpertRoot}
            default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceList}
# 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}
