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

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

  - variable: env
    group: "App Configuration"
    label: "Image Environment"
    schema:
      additional_attrs: true
      type: dict
      attrs:
        - variable: LOG_LVL
          label: "LOG_LVL"
          description: "Set the log level (from 2=only fatal errors to 7=very verbose)"
          schema:
            type: string
            default: "4"
        - variable: MOD_NAME
          label: "MOD_NAME"
          description: "Enter the module name to load here (located in your serverdirectory Neverwinter Nightsmodules without the .mod extension)"
          schema:
            type: string
            default: ""
        - variable: MAX_CLIENTS
          label: "MAX_CLIENTS"
          description: "Set the maximum number of connections to the game server."
          schema:
            type: string
            default: "4"
        - variable: MINLEVEL
          label: "MINLEVEL"
          description: "Set the minimum character level required by the server."
          schema:
            type: string
            default: "1"
        - variable: MAXLEVEL
          label: "MAXLEVEL"
          description: "Set the maximum character level allowed by the server."
          schema:
            type: string
            default: "40"
        - variable: PAUSEAPLAY
          label: "PAUSEAPLAY"
          description: "Set if a player or DM can pause the game (0 = game can only be paused by DM, 1 = game can by paused by players)"
          schema:
            type: string
            default: "0"
        - variable: PVP
          label: "PVP"
          description: "Set wich PVP mode do you want (0 = none, 1 = party, 2 = full)"
          schema:
            type: string
            default: "0"
        - variable: SERVERVAULT
          label: "SERVERVAULT"
          description: "Set if local or server characters (0 = local characters only. 1 = server characters only)"
          schema:
            type: string
            default: "0"
        - variable: ELC
          label: "ELC"
          description: "Set enforcing legal characters (0 = dont enforce legal characters, 1 = do enforce legal characters)"
          schema:
            type: string
            default: "0"
        - variable: ILR
          label: "ILR"
          description: "Set enforcing item level restriction (0 = dont enforce item level restrictions, 1 = do enforce item level restrictions)"
          schema:
            type: string
            default: "0"
        - variable: ONEPARTY
          label: "ONEPARTY"
          description: "Set if one or more parties are allowed (0 = allow only one party, 1 = allow multiple parties)"
          schema:
            type: string
            default: "0"
        - variable: DIFF
          label: "DIFF"
          description: "Set difficutly (1 = easy, 2 = normal, 3 = D&amp;D hardcore, 4 = very difficult)"
          schema:
            type: string
            default: "1"
        - variable: AUTO_SAV_I
          label: "AUTO_SAV_I"
          description: "Set how frequently (in minutes) to autosave.  0 disables autosave."
          schema:
            type: string
            default: "5"
        - variable: SRV_NAME
          label: "SRV_NAME"
          description: "Set the name this server appears as in the mulitplayer game listing."
          schema:
            type: string
            default: "Docker NWNEE"
        - variable: PPW
          label: "PPW"
          description: "Set the password required by players to join the game."
          schema:
            type: string
            default: "Docker"
        - variable: APWD
          label: "APWD"
          description: "Set the password required to remotely administer the game. Currently unused."
          schema:
            type: string
            default: "adminDocker"
        - variable: PUBLIC_SRV
          label: "PUBLIC_SRV"
          description: "Set if you want to list the game publicly (0 = do not list server with the matching service. 1 = list server with the matching service)."
          schema:
            type: string
            default: "0"
        - variable: RLD_W_E
          label: "RLD_W_E"
          description: "Restart module if server becomes empty (0 = module state is persistant as long as server is running, 1 = module state is reset when the server becomes empty)."
          schema:
            type: string
            default: "0"
        - variable: GAME_PARAMS
          label: "GAME_PARAMS"
          description: "Enter your extra game startup parameters if needed here (eg -dmpassword supersecretpassword -quiet without quotes)."
          schema:
            type: string
            default: ""
        - variable: UMASK
          label: "UMASK"
          description: "Container Variable UMASK"
          schema:
            type: string
            default: "000"
# 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: 5121
                              required: true
# Include{serviceExpertRoot}
            default: false
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
        - variable: serverfiles
          label: "serverfiles Storage"
          description: "Container Path nwnee"
          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}
