Deploy an application

This is a brief and simple tutorial about how you can deploy your app/algorithm on A||go. We try to make it really simple, so, if something looks complicated, send us an email allgo@inria.fr

3 steps are necessary to deploy an app :

  1. Declare your application on the website
  2. Connect by ssh to install your soft
  3. Setup your entrypoint

Note

Note that the required knowledge you need to have, is only how to install your app. We remind you that A||go only works for application without UI, running on linux, without workflow. You need to add your public SSH key in your profile, so you’ll be able to access to your machine later.

1. Create an application on the website

In order to create an new app, you need to use the website by filling a form. You need to specify the application name, the email contact if it’s not yourself, a description (in the form of a README) and select if your application should be public or private.

Note

If you need you can access the “Advanced” tab where you can select a different operating system (the default is Debian 9), the memory limit and default queue type.

After creating your app, you’ll be redirected to a page where you’ll be ask to perform the setup of the sandbox.

2. SSH setup

An ssh command allow you to connect and setup your software.

You are free to install any package you need (compilers, JRE, python, etc, …) and of course your software.

The last step is the entrypoint a file (usually a binary) that will be call to execute your application.

3. Entrypoint

The entrypoint is the file that is launched by allgo to process a job.

The user creating the job may provide command line arguments and input files. The arguments are passed to the entrypoint command, and the input files are located in the current working directory.

For example, an app that works on text files could have the following entrypoint:

#!/bin/sh
for file in *.txt;
do
  echo "Processing $file"
  /usr/local/bin/myapp --input "$file" --output "$file.output" "$@"
done

In this example, myapp is run on each input text file and store the result as FILENAME.output. The extra argument “$@” is there to forward the command line arguments provided to the entrypoint.

Important

Once, you installed your application, do not forget to commit your work through the website (button commit) or it will be lost.

Testing the application

After installing your app, come back on the public application page and create a job with the necessary file(s) and parameters. It’s eventually possible to change the Queue type queue type by accessing the “advanced” tab.

If your job doesn’t work, you’ll need to fix it by connecting to your sandbox using SSH or by editing your Dockerfile and commit your work.

Update your application

Describe the parameters that can be updated and tags.

  • Icon
  • tags
  • description
  • default queue