Skip to content

GenomicDataInfrastructure/gdi-userportal-access-management-service

Repository files navigation

REUSE status example workflow example workflow example workflow Quality Gate Status GitHub contributors Contributor Covenant

Genomic Data Infrastructure Logo

GDI User Portal - Access Management Service

The GDI User Portal Access Management Service is a crucial component of the Genomic Data Infrastructure (GDI) project, which aims to facilitate access to genomic, phenotypic, and clinical data across Europe. The GDI project is committed to establishing a federated, sustainable, and secure infrastructure to enable seamless data access. Leveraging the outcomes of the Beyond 1 Million Genomes (B1MG) project, the GDI project is actively realizing the ambitious goals set forth by the 1+Million Genomes (1+MG) initiative.

The GDI User Portal Access Management Service serves as an interface between User Portal and the data authorities. It is developed using Quarkus version 3.9.1 and GraalVM for Java 21. This application plays a crucial role in enabling access request integration between the Data User and different Data Authorities.

Installation

Ensure you have Maven and GraalVM installed in your machine. We recommend to use SDKMAN!.

sdk install java 21.0.2-graal
sdk install maven 3.9.6
echo -e "\nexport GRAALVM_HOME="$HOME/.sdkman/candidates/java/21.0.2-graal/" >> $HOME/.zprofile
echo -e "\nryuk.container.privileged=true" >> $HOME/.testcontainers.properties
echo -e "\nexport TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=${HOME}/.colima/docker.sock" >> $HOME/.zprofile
echo -e "\nexport DOCKER_HOST=\"unix:///${HOME}/.colima/docker.sock\"" >> $HOME/.zprofile
echo -e "\nexport TESTCONTAINERS_RYUK_DISABLED=true" >> $HOME/.zprofile

Running the application in dev mode

You can run your application in dev mode that enables live coding using:

mvn compile quarkus:dev

NOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.

Packaging and running the application

The application can be packaged using:

mvn package

It produces the quarkus-run.jar file in the target/quarkus-app/ directory. Be aware that it’s not an über-jar as the dependencies are copied into the target/quarkus-app/lib/ directory.

The application is now runnable using java -jar target/quarkus-app/quarkus-run.jar.

If you want to build an über-jar, execute the following command:

mvn package -Dquarkus.package.type=uber-jar

The application, packaged as an über-jar, is now runnable using java -jar target/*-runner.jar.

Creating a native executable

You can create a native executable using:

mvn package -Dnative

You can then execute your native executable with: ./target/*-runner

If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.

Running tests

All tests are automatically executed when you build a new package.

License

  • All original source code is licensed under Apache-2.0.
  • All documentation is licensed under CC-BY-4.0.
  • For more accurate information, check the individual files.