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.:
RabbitMQ messages : see Get RabbitMQ credentials,
rsync : see SSH configuration.
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 alsoterminus_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.