Skip to main content

Run code on EDITO or on a remote SSH target

Discover how to run your code on EDITO, on an HPC environment or on a remote SSH target using EDITO pre-configured tool, the Generic process

Context


The Generic process allows you to execute code hosted in a Git repository or packaged as a Docker image:

  • On EDITO Cloud (CPU or GPU)

  • On an external SSH target

  • On an HPC environment

This process is designed for one-time execution.

💡 EDITO Pro Tip: you can save your configuration by giving it a name (1) and clicking on save (7)! Do not forget to save just before launching (8) to have the full configuration saved.

Option 1 - Run your code on EDITO Cloud (CPU or GPU)


If your code is based on a Python or Shell script

Code section (2)

  1. Select “My code is based on a Python or a Shell script”

  2. Configure the Git repository - fill in the Git-related fields:

    • Repository:

      • If your repository is public, only the URL is required. Otherwise, enter your login credentials in the appropriate fields

    • Branch:

      • Optional, by default the value is main

  3. Provide script and environment - you must provide:

    • The path to your main script (Python or Shell)

    • The path to your environment YAML file

    Example of a basic environment file:

    name: my-env
    channels:
    - conda-forge
    dependencies:
    - python=3.13
    - pip

    This environment file is used to install all the dependencies required by your script before execution.

Target section (3)

  1. First, select ​“My process should execute on EDITO Cloud”

  2. Then configure the required resources:

    • CPU guaranteed and maximum

    • Memory guaranteed and maximum

📌 Note: if your process requires a GPU and if your EDITO quota include GPU access, enable “My process relies on GPU”.

S3 Configuration (4)

Provide your S3 credentials here. They will be automatically available as environment variables inside the container. Your script can use them to read/write data inside your bucket.

Copernicus Marine credentials (5)

Same behavior as S3, your credentials are exposed as environment variables.

Custom Runtime Environment Variables (6)

  • Use: “Additional custom Runtime Environment variables”

  • For each variable:

    • Name → environment variable name

    • Value → associated value

These variables will be accessible inside your script.

If your code is based on a Docker image or Dockerfile

Code section (2)

First, select ​“My code is based on Docker”

Then, choose how your image is provided:

  1. If build from a Dockerfile, provide:

    1. Git repository URL and credentials if needed

    2. Branch (optional, default: main)

    3. Specify the Dockerfile path (relative to the root of the repository)

  2. If using an existing Docker image:

    1. Enable “Container image is already built”

    2. Provide the full image URL (eq. docker.mercator-ocean.fr/moi-docker/my-image:latest)

Target section (3)

  1. Select ​“My process should execute on EDITO Cloud”

  2. Then configure the required resources:

  • CPU guaranteed and maximum

  • Memory guaranteed and maximum

📌 Note: if your process requires a GPU and if your EDITO quota include GPU access, enable “My process relies on GPU”. Please, be sure to provide a Dockerfile based on a GPU-compatible image, or a GPU-based image.

S3 Configuration (4)

Provide your S3 credentials here. They will be automatically available as environment variables inside the container. Your script can use them to read/write data inside your bucket.

Copernicus Marine credentials (5)

Same behavior as S3, your credentials are exposed as environment variables.

Custom Runtime Environment Variables (6)

  • Use: “Additional custom Runtime Environment variables”

  • For each variable:

    • Name → environment variable name

    • Value → associated value

These variables will be accessible inside your script.

Option 2 - Run your code on an external SSH/HPC target


If your code is based on a Python or Shell script

Code section (2)

  1. Select “My code is based on a Python or a Shell script”

  2. Configure the Git repository - fill in the Git-related fields:

    • Repository:

      • If your repository is public, only the URL is required. Otherwise, enter your login credentials in the appropriate fields

    • Branch:

      • Optional, by default the value is main

  3. Provide script and environment - you must provide:

    • The path to your main script (Python or Shell)

    • The path to your environment YAML file

Example of a basic environment file:

name: my-env
channels:
- conda-forge
dependencies:
- python=3.13
- pip

This environment file is used to install all the dependencies required by your script before execution. EDITO will automatically build a Docker image from your code.

Target section (3)

  1. Select ​“My process should execute on an external SSH target”

  2. Then provide:

  • SSH user

  • Host

  • Private key (automatically filled)

  • Public key (automatically filled)

These credentials allow EDITO to access and execute the job on your target.

HPC configuration (optional)

If your target is an HPC system:

  • Ensure that your EDITO private key (my account -> HPC configuration) is added to your authorized_keys file on the platform. This step has to be manually performed by the user for the targeted platform. If the connection can not be perfomed passwordless the process will stop.

  • Fill SSH user with your HPC user

  • Fill HOST with the HPC address (ex: lir.mercator-ocean.fr)

  • Enable HPC access

  • Partition: corresponds to the SLURM directive #SLURM -P partition

  • Project: corresponds to the project name used in the path /scratch_path/project/user

  • scratch directory: corresponds to the scratch_path used in the path /scratch_path/project/user

  • SLURM account: What will be added to the slurm directive #SLURM -A accout

⚠️ Logs behavior

You must configure S3 credentials, the logs will be stored in S3 and retrieved from there:

  • SSH: Logs are directly visible in EDITO

  • HPC: Logs are automatically pushed to the configured S3 bucket, don't forget to fill out the “S3 configuration” section

GPU usage (optional)

If your target provides GPU resources, enable ​“My process relies on GPU”

EDITO will:

  • Build a GPU-compatible Docker image

  • Run it on your target

S3 Configuration (4)

Provide your S3 credentials here. They will be automatically available as environment variables inside the container. Your script can use them to read/write data inside your bucket.

Copernicus Marine credentials (5)

Same behavior as S3, your credentials are exposed as environment variables.

Custom Runtime Environment Variables (6)

  • Use: “Additional custom Runtime Environment variables”

  • For each variable:

    • Name → environment variable name

    • Value → associated value

These variables will be accessible inside your script.

If your code is based on a Docker image or Dockerfile

Code section (2)

First, select ​“My code is based on Docker”

Then, choose how your image is provided:

  1. If build from a Dockerfile, provide:

    1. Git repository URL and credentials if needed

    2. Branch (optional, default: main)

    3. Specify the Dockerfile path (relative to the root of the repository)

  2. If using an existing Docker image:

    1. Enable “Container image is already built”

    2. Provide the full image URL (eq. docker.mercator-ocean.fr/moi-docker/my-image:latest)

Target section (3)

  1. Select ​“My process should execute on an external SSH target”

  2. Then provide:

  • SSH user

  • Host

  • Private key (automatically filled)

  • Public key (automatically filled)

These credentials allow EDITO to access and execute the job on your target.

HPC configuration (optional)

If your target is an HPC system:

  • Ensure that your EDITO private key (my account -> HPC configuration) is added to your authorized_keys file on the platform. This step has to be manually performed by the user for the targeted platform. If the connection can not be perfomed passwordless the process will stop.

  • Fill SSH user with your HPC user

  • Fill HOST with the HPC address (ex: lir.mercator-ocean.fr)

  • Enable HPC access

  • Partition: corresponds to the SLURM directive #SLURM -P partition

  • Project: corresponds to the project name used in the path /scratch_path/project/user

  • scratch directory: corresponds to the scratch_path used in the path /scratch_path/project/user

  • SLURM account: What will be added to the slurm directive #SLURM -A accout

⚠️ Logs behavior

You must configure S3 credentials, the logs will be stored in S3 and retrieved from there:

  • SSH: Logs are directly visible in EDITO

  • HPC: Logs are automatically pushed to the configured S3 bucket, don't forget to fill out the “S3 configuration” section

GPU usage (optional)

If your target provides GPU resources, enable ​“My process relies on GPU”

EDITO will:

  • Build a GPU-compatible Docker image

  • Run it on your target

S3 Configuration (4)

Provide your S3 credentials here. They will be automatically available as environment variables inside the container. Your script can use them to read/write data inside your bucket.

Copernicus Marine credentials (5)

Same behavior as S3, your credentials are exposed as environment variables.

Custom Runtime Environment Variables (6)

  • Use: “Additional custom Runtime Environment variables”

  • For each variable:

    • Name → environment variable name

    • Value → associated value

These variables will be accessible inside your script.

What's next?


Discover how to connect your own HPC center within a process or a service on EDITO!

If you have any questions, problems, or suggestions, please feel free to contact us via chat using the widget available at the bottom right of the page.

Did this answer your question?