Skip to main content

Application Versions

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.

The basics#

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.

Time constraints#

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.

The options#

Active
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.

Activate ASA
You can also integrate telemetry to your game server to have accurate data about every game played on this server.

Inject context
Adds some information about external context as environment variables in the deployment.

Caching
You can activate the caching system. We will ensure that your application is always present at every location available. This will improve the deployment time of your application.

Using a private repo#

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.

Ports#

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.

Environment variables#

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.