Microservices Starter Project with Reactive, Reactive DB Driver, Gradle Kotlin DSL, Checkstyle, Coverage, SonarQube, gRPC, EnvoyProxy and Grafana dashboards
log4j2
sonar
junit 5
Jacoco
Google Checkstyle modified to be compatible with 8.30. Method Length, File Length, Cyclomatic Complexity have been added.
Gatling
Load test can be run using one of the following two approaches
gradle load-testing:runTest
IDE - com.github.starter.todo.Runner
Install snyk and authenticate for CLI session
npm install -g snyk
snyk auth
Publish results using
snyk monitor --all-sub-projects
Grpc server for Todo runs on port 8100. Rest Endpoint /todo/ can be made to forward to gRPC using use.grpc
The forwarding of REST request to gRPC is done for illustration purpose.
A jar for each web engines is packed into the generated docker image. Pass environment variable ENGINE to activate one.
#build
./scripts/pack/builder.sh
#run
docker run -e ENGINE=reactor-netty --cpus 1.0 -m 756m -p 8080:8080 -it starter-java:latest
docker run -e ENGINE=undertow --cpus 1.0 -m 756m -p 8080:8080 -it starter-java:latest