Readme
Last updated
Last updated
This repository contains User Management modules for Gazelle.
JDK 21+/Maven 3.8.8+
Docker 27.0.2+
Docker-compose 2.18.+
PostgreSQL 12+ with authorized prepared transactions
It is possible to generate the artifacts with maven.
This command will directly build the docker image of the project :
rg.fr-par.scw.cloud/gazelle-snapshot/app/gazelle-keycloak:${project.version}
rg.fr-par.scw.cloud/gazelle-snapshot/app/gazelle-quarkus:${project.version}
It is possible to run different types of test in this application :
Unit tests that are run with the following command, the jacoco results can be found in module_path/target/site/jacoco/
Integration tests that can be run with the following command
Mutation tests that can be run with the following command, the results can be found in module_path/target/pit-reports/
In keycloak-provider module, the mutation tests are skipped.
Be careful of tests that need environment variables, they will more than likely not work, so you will need to exclude them from pitest. To do that add the following in the pom.xml of the module, in the configuration section of the pitest plugin, where the classes to exclude are in :
There are many environment variables that can be set to configure the applications.
The first possibility is to deploy GUM with maven-docker-plugin. This process is useful for integrations tests.
The list of applications that will be deployed :
gazelle-database (https://gitlab.inria.fr/gazelle/private/industrialization/docker/gazelle-database)
gazelle-user-management-keycloak (The keycloak instance)
gazelle-user-management-quarkus (The GUM backend micro-service)
Mailhog for testing mails (https://github.com/mailhog/MailHog)
For end-to-end testing you can use the docker-compose to deploy the applications that you need.
Data for gazelle-tm
Environment files (.env)
1) Start the database
2) Import data [First deployment only]
3) Configure realm [Optional]
Copy your realm to /opt/keycloak/data/import/
(create folders if necessary) if additional realms
are required.
4) Start GUM
In CAS file .properties of your client application:
Refer to the for more information.
See the of Keycloak for more information about the environment variables.
Keycloak should be available by default at .
Tips: you can add the flag -Ddocker.follow to your command to automatically follow the logs.
To understand better how the gazelle realm works and how to configure it, see .
In case of problems you can check this to see if your problem is already in here.