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

# Include{replicas1}
# Include{podSpec}
# Include{containerMain}
                                - variable: imageSelector
                                  label: "Select Image"
                                  schema:
                                    type: string
                                    default: "image"
                                    enum:
                                      - value: "image"
                                        description: "Default Image"
                                      - value: "j17Image"
                                        description: "Java 17"
                                      - value: "j11Image"
                                        description: "Java 11"
                                      - value: "j8Image"
                                        description: "Java 8"
                                - variable: env
                                  label: "Image Environment"
                                  schema:
                                    additional_attrs: true
                                    type: dict
                                    attrs:
                                      - variable: RCON_PASSWORD
                                        label: "RCON Password"
                                        description: "This uses a third-party plugin to work, orblazer/bungee-rcon, which is automatically downloaded"
                                        schema:
                                          type: string
                                          private: true
                                          default: ""
                                      - variable: TYPE
                                        label: "Server Type"
                                        description: "The type of the server. When the type is set to CUSTOM, the environment setting BUNGEE_JAR_URL is required."
                                        schema:
                                          type: string
                                          required: true
                                          default: "WATERFALL"
                                          enum:
                                            - value: "BUNGEECORD"
                                              description: "Bungeecord"
                                            - value: "WATERFALL"
                                              description: "Waterfall"
                                            - value: "VELOCITY"
                                              description: "Velocity"
                                            - value: "CUSTOM"
                                              description: "Custom"
                                      - variable: BUNGEE_JAR_URL
                                        label: "Bunge Jar URL"
                                        description: "Used to download a comma separated list of *.jar urls to the plugins folder."
                                        schema:
                                          type: string
                                          default: ""
                                          required: true
                                          show_if: [[TYPE, "=", "CUSTOM"]]
                                      - variable: PLUGINS
                                        label: "Plugins"
                                        description: "Used to download a comma separated list of *.jar urls to the plugins folder."
                                        schema:
                                          type: string
                                          default: ""
                                      - variable: SPIGET_PLUGINS
                                        label: "Spiget Plugins"
                                        description: "The SPIGET_PLUGINS variable can be set with a comma-separated list of SpigotMC resource IDs."
                                        schema:
                                          type: string
                                          default: ""
                                      - variable: ENABLE_RCON
                                        label: "Enable RCON"
                                        schema:
                                          type: boolean
                                          default: true
                                      - variable: REPLACE_ENV_VARIABLES
                                        label: "Replace Env Variables"
                                        description: "Replace variables that match your defined environment variables in all the files in /server."
                                        schema:
                                          type: boolean
                                          default: false
                                      - variable: ONLINE_MODE
                                        label: "Enable Online Mode"
                                        description: "MUST set to false which is required by bungeecord"
                                        schema:
                                          type: boolean
                                          default: false
                                      - variable: advancedenvironment
                                        label: "Show Advanced Server Settings"
                                        schema:
                                          type: boolean
                                          default: false
                                          show_subquestions_if: true
                                          subquestions:
                                            - variable: MEMORY
                                              label: "Memory"
                                              description: "The Java memory heap size to specify to the JVM."
                                              schema:
                                                type: string
                                                required: true
                                                default: "512M"
                                            - variable: INIT_MEMORY
                                              label: "Init Memory"
                                              description: "Can be set to use a different initial heap size."
                                              schema:
                                                type: string
                                                required: true
                                                default: "512M"
                                            - variable: MAX_MEMORY
                                              label: "Max Memory"
                                              description: "Can be set to use a different max heap size."
                                              schema:
                                                type: string
                                                required: true
                                                default: "512M"
                                            - variable: NETWORKADDRESS_CACHE_TTL
                                              label: "Network Address Cache TTL"
                                              description: "Number of seconds to cache the successful network address lookups."
                                              schema:
                                                type: int
                                                default: 60
                                            - variable: JVM_OPTS
                                              label: "JVM Options"
                                              schema:
                                                type: string
                                                default: ""
                                            - variable: JVM_XX_OPTS
                                              label: "JVM -X Options"
                                              schema:
                                                type: string
                                                default: ""
# Include{containerBasic}
# Include{containerAdvanced}
# 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: 25565
                              required: true
        - variable: rcon
          label: "RCON Service"
          description: "RCON service"
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
                    - variable: rcon
                      label: "RCON 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: 25578
                              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: server
          label: "App Server Storage"
          description: "Stores the Application Server."
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: plugins
          label: "App Plugins Storage"
          description: "Stores the Application Plugins."
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
# 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 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}
