Application versions define most of the behaviour of your deployments and allow for a lot of flexibility. This page serves as a reference for the different fields you can configure while creating an app version so that you can accurately get what you (and your game) needs!
For the tutorial, we used an already containerized application. To deploy your app, you will need a docker repository. You can find more information here. Get in touch with your Edgegap team to get help on containerizing your game, and we have tools we can provide to help you on your way.
Let's go over the fields that you will find in the application version creation form.
A valid app version needs, minimally, a name, the docker repository, image and tag, and the resource usage for CPU, Memory and GPU. All other fields are optional and not required to make your application deployable. Note that the version name must be unique among all versions of an application.
We offer two time-related options for your app versions:
Game max duration
Set a number of minutes after which an active deployment of this app version will be terminated. The most common use case is to set this as a failsafe if your game couldn't properly request its termination. If left empty, the system will not terminate the game unless explicitly requested to.
Maximum time to deploy
It makes it possible to ensure Arbitrium doesn't falsely signal an error on the deployment of a larger container. A default number of minutes after which deployment is considered in error if it is not yet ready, and this setting allows overriding to avoid errors on large containers.
Allows you to deactivate an app version to ensure no more deployment is made using it. You can reactivate the app version at any time.
You can also integrate telemetry to your game server to have accurate data about every game played on this server.
Adds some information about external context as environment variables in the deployment.
The system will automatically cache this version on every Edgegap locations to increase deployment speed. This option will be deactivated automatically after 48 hours of inactivity from the version. We consider a version inactive if it has not been updated and no deployments have been made.
Enable every location availableBy enabling this, your request will use every potential location available, including those which may require a longer time to deploy. This means that your application could take significantly more time before being ready. We do not recommend this feature if your players are actively looking to start a match. This functionality does not support ACL and Caching at the moment.
Using a private repository helps make your containers more secure. Please have a look at our Harbor page for more info.
If you're using a private Docker repository, you will need to fill in the Private registry username and Private registry token.
While not mandatory, configuring ports is a must if you want your users to connect to your game. Select the port numbers and the protocol, and you're done! If a specified port has to be opened before the users can connect, enable verifications when setting up the port.
You can enter environment variables that your containerized app might require with a simple key-value form. Setting an environment variable as secret hides it from the view so curious passers-by won't see your sensitive info.
You can inject context into your deployment for that specific version. Note that this will override the value set up in the App version. Refer to this for more details.