Setup

Installing dependencies

As described in the previous section, Sandalphon depends on Jophiel, Sealtiel, and Gabriel. Make sure you have installed them.

Installing Sandalphon

First, follow the main Judgels setup instructions if you haven’t. This means that you should have installed Sandalphon by running

judgels pull sandalphon

and should have modified the common configuration keys in conf/application.conf and conf/db.conf.

Configuring Sandalphon

First, let’s configure the dependencies so that they can work with Sandalphon. During the configuration, we will set some configuration keys in Sandalphon’s conf/application.conf.

  1. Add Sandalphon as a client in Jophiel. Then, assign the client JID and secret values to Sandalphon’s jophiel.clientJid and jophiel.clientSecret. Assign jophiel.baseUrl to Jophiel’s base URL.
  2. Add Sandalphon as a client in Sealtiel. Then, assign the client JID and secret values to Sandalphon’s sealtiel.clientJid and sealtiel.clientSecret. Assign sealtiel.baseUrl to Sealtiel’s base URL.
  3. Add Gabriel as a client in Sealtiel. Then, assign the client JID and secret values to Gabriel‘s sealtiel.clientJid and sealtiel.clientSecret. Assign Gabriel‘s sealtiel.baseUrl to Sealtiel’s base URL. Finally, assign the client JID to Sandalphon‘s sealtiel.gabrielClientJid.
  4. Add acquaintances between Sandalphon and Gabriel, vice-versa, in Sealtiel.

Running Sandalphon

See Running Judgels Play applications.

Configuring Gabriel

Finally, add Gabriel as a Sandalphon’s grader. This is required to allow Gabriel to fetch test cases from Sandalphon. It is worth noting that Gabriel connects directly to Sandalphon for fetching test cases, not via Sealtiel, since this should be a synchronous operation.

  1. Open Sandalphon and click Graders menu on the left.

  2. Click Create New.

  3. Fill in these values:

    Name

    The grader name. For example: Gabriel #1.

  4. Click Create New.

Assign the JID and secret you obtained to Gabriel’s sandalphon.clientJid and sandalphon.clientSecret. Assign Gabriel’s sandalphon.baseUrl to Sandalphon’s base URL.

Adding initial admin

Sandalphon has been successfully installed and configured. Now, we need to have a user with admin role.

  1. Find your user JID in Jophiel.
  2. Set the roles column to user,admin in the corresponding row (that contains your user JID) in the sandalphon_user table.
  3. Re-log in to Sandalphon. Verify that you can view the Clients menu on the left.