Galactica access setup

In order to communicate with the Galactica simulation database, your Terminus instance interacts with a messaging server (based on the AMQP protocol) called RabbitMQ. This messaging system allows the Terminus server to :

  • receive job request messages from the Galactica web app., containing information on :

    • which post-processing service to execute,

    • which simulation raw data to post-process,

    • what are the post-processing service parameter values requested by the user.

  • report back job status update messages to the Galactica web app., in order to :

    • display job status message on the user’s personal job requests page,

    • send the user email notifications if his/her job request failed or succeeded.

Upon successful job completion, the produced data tarball needs to be uploaded (using a basic rsync command) to the Galactica server so that the user who submitted the job request can download it from the web application.

To configure these two ways of communication between your Terminus instance and the Galactica web app.:

Get RabbitMQ credentials

To get RabbitMQ credentials, please kindly send an email to the Galactica database administrator (admin@galactica-simulations.eu), providing the following information :

  • Research institute hosting the server on which you want to deploy Terminus,

  • Server hostname or a custom alias of your choice (see also terminus_host_name in Terminus configuration),

  • Server IP address.

The Galactica database administrator will provide you the necessary parameters to setup Terminus (see Terminus configuration) :

  • a RabbitMQ user name

  • a RabbitMQ password

  • a RabbitMQ host

  • a RabbitMQ port

  • a RabbitMQ virtual host

  • a SSH target configuration (to add into your ~/.ssh/config).

Note

You do not necessarily have to create an account on the Galactica simulation database to configure and run a Terminus server linked to the database. You only require RabbitMQ credentials and (obviously) system administration permissions on the machine.

SSH configuration

Providing a SSH public key

So Terminus can upload result tarballs from successful jobs, the user running the Terminus server instance need to create a (passphrase-less) SSH key pair:

$ ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_gal-terminus
    Generating public/private rsa key pair.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in ~/.ssh/id_ed25519_gal-terminus.
    Your public key has been saved in ~/.ssh/id_ed25519_gal-terminus.pub.
    The key fingerprint is:
    SHA256:6u8ZJ+5+5ne1gJ5M7Apb3K72RtPKn=Kgj74by3+zEp0 cluster_admin@hpc_clusterlab
    The key's randomart image is:
    +--[ED25519 256]--+
    |                 |
    |                 |
    |                 |
    |            E    |
    |        S....   .|
    |       ....o.. .+|
    |      .. o*..=.=o|
    |     . oO.--o.B+o|
    |     .=*=&@Osoo..|
    +----[SHA256]-----+

and forward the public key (the content of ~/.ssh/id_ed25519_gal-terminus.pub) by email to the Galactica database administrator. Don’t worry, it IS safe to communicate the public key by email.

Configuring SSH target for Galactica

Configure a SSH target in your ~/.ssh/config file with the SSH key file you just created to be able to upload data to the Galactica remote server:

Host Galactica_storage
Hostname galactica_ip_addr
User ssh_remote_user
Port ssh_port
IdentityFile ~/.ssh/id_ed25519_gal-terminus.pub

Here you can choose the target alias (here Galactica_storage) freely, you will need to provide it during the Terminus configuration step. The Galactica server IP address (galactica_ip_addr), ssh user (here ssh_remote_user) and SSH port (here ssh_port) will be provided to you by the Galactica database administrator, when he receives your SSH public key.