Introduction

Simulation gateway is a component of Gazelle used as backend of the simulation portal, allowing users to see available Simulation sequences and search through them with various filter parameters.

Installation

Prerequisites

  1. Java JDK 21 or higher
  2. Maven 3.8.x or higher
  3. Docker (for running integration tests)

Build

  1. Clone the project:
     git clone (https://gitlab.inria.fr/gazelle/private/kereval/simulation-gateway)[https://gitlab.inria.fr/gazelle/private/kereval/simulation-gateway.git]
    
  2. Build the project:
     ./mvnw clean install
    

You may skip the test by adding -DskipTests option o the command.

At compilation success, a docker image rg.fr-par.scw.cloud/gazelle-snapshot/app/simulation-gateway:X.X.X-SNAPSHOT has been added to your local collection and the quarkus-run.jar file as been produced in the simulation-gateway/target/quarkus-app/ directory. Be aware that it’s not an über-jar as the dependencies are copied into the simulation-gateway/target/quarkus-app/lib/ directory.

Run

Start the Simulation Gateway application using Java:

java -jar simulation-gateway/target/quarkus-app/quarkus-run.jar 

or by using Docker:

docker run -p 127.0.0.1:8087:8087 rg.fr-par.scw.cloud/gazelle-snapshot/app/simuation-gateway:X.X.X-SNAPSHOT

Exposed endpoints and resources

Once running, Simulation-Gateway exposes the following endpoints:

Simulation sequence Lookup API (REST)

http://localhost:8087/simulation-gateway/rest/simulation/v1/sequences

API documentation is available at: http://localhost:8087/simulation-gateway/swagger-ui/#/ or http://localhost:8087/simulation-gateway/openapi?format=json

Health Check

http://localhost:8087/simulation-gateway/health

Configuration

Here is the list of Java properties or env variables that can be used to configure the application:

Java Property ENV Variable Description Default Value
quarkus.http.port QUARKUS_HTTP_PORT The port on which the application will listen. 8087
quarkus.swagger-ui.enable QUARKUS_SWAGGER_UI_ENABLE Enable Swagger UI. true
gzl.service.registry.url GZL_SERVICE_REGISTRY_URL The public URL of the service registry. http://localhost:8088/service-registry
gzl.svs.url GZL_SVS_URL The public URL of SVS Simulator http://localhost:8601/SVSSimulator/rest
gzl.simulation.gateway.sequences.cache.max.timeout.minutes GZL_SIMULATION_GATEWAY_SEQUENCES_CACHE_MAX_TIMEOUT_MINUTES The timeout in minutes of the internal cache for simulation sequence lookup index retention. 720
gzl.simulation.gateway.services.cache.timeout.minutes GZL_SIMULATION_GATEWAY_SERVICES_CACHE_TIMEOUT_MINUTES The timeout in minutes of the internal available simulation services cache 5