Spring boot microservice for managing veo accounts.
In the veo application system, veo-accounts acts as a facade to the Keycloak REST API. It allows authorized end users to manage accounts within their own veo client group.
For more information, see the docs
- Java 17 export JAVA_HOME=/path/to/jdk-17 ./gradlew build [-x test]
For verification, we recommend ./gradlew build as a pre-commit git hook.
- Java 17
- Keycloak server
- RabbitMQ
- setup keycloak values (
application.properties>veo.accounts.keycloak.*).
The application can be started on the default port 8099, either with Gradle through the JDK. If Keycloak can only be reached through a proxy, the proxy must be configured at startup.
Gradle
./gradlew bootRun
JDK with Proxy
java -Dhttp.proxyHost=[PROXY_HOST] -Dhttp.proxyPort=[PORT] \
-Dhttps.proxyHost=[PROXY_HOST] -Dhttps.proxyPort=[PORT] \
-jar build/libs/veo-accounts-[VERSION].jar
To run unit tests:
./gradlew test
To run restTests (integration tests using real HTTP and a real Keycloak instance):
./gradlew restTest
By default, restTests use testcontainers to run a RabbitMQ test
instance. This requires docker to be installed. To use an external RabbitMQ instead, run restTests with the
SPRING_RABBITMQ_HOST env variable set.
Launch and visit http://localhost:8099/swagger-ui.html
Spotless is used for linting and license headers:
./gradlew spotlessApply
The Kotlin lint configuration does not allow wildcard imports. Spotless cannot fix wildcard imports automatically, so you should set up your IDE to avoid them.
verinice.veo is released under GNU AFFERO GENERAL PUBLIC LICENSE Version 3 (see LICENSE.txt) and uses third party libraries that are distributed under their own terms.