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

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

  - variable: secretEnv
    group: "App Configuration"
    label: "Image Secrets"
    schema:
      additional_attrs: true
      type: dict
      attrs:
        - variable: USERNAME
          label: "USERNAME"
          description: "Your Steam username goes here if you want to install a game that needs a valid account, otherwise leave it blank (ATTENTION You have to disable Steam Guard)."
          schema:
            type: string
            default: ""
        - variable: PASSWRD
          label: "PASSWRD"
          description: "Your Steam password goes here if you want to install a game that needs a valid account, otherwise leave it blank (ATTENTION You have to disable Steam Guard)."
          schema:
            type: string
            private: true
            default: ""
  - variable: env
    group: "App Configuration"
    label: "Image Environment"
    schema:
      additional_attrs: true
      type: dict
      attrs:
        - variable: GAME_ID
          label: "GAME_ID"
          description: "The GAME_ID that the container download at startup.(https://developer.valvesoftware.com/wiki/Dedicated_Servers_List)"
          schema:
            type: string
            default: "233780"
        - variable: GAME_PARAMS
          label: "GAME_PARAMS"
          description: "Enter your start up commands for the server.Note To change the Port of the server please click on Show more settings button, dont forget to change the other ports."
          schema:
            type: string
            default: ""
        - variable: VALIDATE
          label: "VALIDATE"
          description: "Set the Variable to true if you want to validate the installation otherwise leave it blank."
          schema:
            type: boolean
            default: true
        - variable: MARIA_DB_ROOT_PWD
          label: "MARIA_DB_ROOT_PWD"
          description: "Enter the preffered root password of the database."
          schema:
            type: string
            default: "ExileMod"
        - variable: WORKSHOP_MAN_INST
          label: "WORKSHOP_MAN_INST"
          description: "Please set to true (without quotes) if you want to install the Workshopcontent for ExileMod manually since the account you specified above must have a valid game purchase for ArmA3 (you could also use one account to download the dedicated server files and another to install the Workshop files).A COMPLETE HOW TO WILL BE IN THE CONSOLEWARNING Please let this variable set to true if you initially set it to true."
          schema:
            type: string
            default: ""
        - variable: GAME_PORT
          label: "GAME_PORT"
          description: "Container Variable GAMEPORT"
          schema:
            type: string
            default: "2302"
        - variable: EXILEMOD_SERVER_URL
          label: "EXILEMOD_SERVER_URL"
          description: "Change only if you know what you are doing!"
          schema:
            type: string
            default: "http://www.exilemod.com/ExileServer-1.0.4a.zip"
# 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: 2302
                              required: true
        - variable: udpgameport
          label: 'udpgameport service'
          description: "Same as TCP Game Port"
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
                    - variable: udpgameport
                      label: "udpgameport 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: 2302
                              required: true
        - variable: udpsteamquerry
          label: 'udpsteamquerry service'
          description: "UDP Game Port 1"
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
                    - variable: udpsteamquerry
                      label: "udpsteamquerry 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: 2303
                              required: true
        - variable: udpsteammaster
          label: 'udpsteammaster service'
          description: "UDP Game Port 2"
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
                    - variable: udpsteammaster
                      label: "udpsteammaster 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: 2304
                              required: true
        - variable: udpvonport
          label: 'udpvonport service'
          description: "UDP Game Port 3"
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
                    - variable: udpvonport
                      label: "udpvonport 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: 2305
                              required: true
        - variable: udpbattleyetra
          label: 'udpbattleyetra service'
          description: "UDP Game Port 4"
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
                    - variable: udpbattleyetra
                      label: "udpbattleyetra 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: 2306
                              required: true
        - variable: tcpmariadb
          label: 'tcpmariadb service'
          description: "Not required, only if you want to connect to the database from outside. Delete if you allready have a MariaDB container running."
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
                    - variable: tcpmariadb
                      label: "tcpmariadb 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: 3306
                              required: true
# Include{serviceExpertRoot}
            default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
        - variable: steamcmd
          label: "steamcmd Storage"
          description: "Container Path serverdatasteamcmd"
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: serverfiles
          label: "serverfiles Storage"
          description: "Container Path serverdataserverfiles"
          schema:
            additional_attrs: true
            type: dict
            attrs:
# Include{persistenceBasic}
        - variable: profiles
          label: "profiles Storage"
          description: "serverdata.localshare"
          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 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}
