Skip to content

SpringBoot REST API starter with Liquibase, Keycloak auth, OpenLDAP synch, Activemq, full microservices monitoring with prometheus and grafana

Notifications You must be signed in to change notification settings

7u4/spring-boot-auth-keycloak

 
 

Repository files navigation

SpringBoot REST API Keycloak Auth

Development setup

Java version: JDK 17

Maven version >= 3.8.x

Run Microservices

docker-compose up

Available microservices:

The blue part in the schema is part of the project https://github.com/trodix/activemq-jms-client

Postgresql

Database for keycloak

Port 5432

Keycloak

Authentication server (SSO)

Port 8080 for web ui

Port 9990 for wildfly managment interface

OpenLDAP

Users and Groups source (synchronized with Keycloak)

port LDAP 1389

port LDAPS 1636

Prometheus

Metrics agregator

Port 9090

Node exporter

Linux metrics collector

Port 5100

Cadvisor

Docker metrics collector

Port 5110

Grafana

Metrics visualisation and alerting

Port 3000

Grafana renderer

Transform metrics Graphs to .png images for mailing alerts

Port 3001

Maildev

Development SMTP server for grafana mail alerts

Port SMTP 1025

Port Webmail 1080

Activemq

Message Broker

Port 61616

Run backend API

mvn spring-boot:run

Open REST API to http://localhost:8000/swagger-ui/index.html

Add users and assign them to roles

Generate a token with Postman

Tests

Generate Code Coveage report

mvn jacoco:prepare-agent test install jacoco:report

Monitoring

With SpringBootAdmin

http://localhost:8000/admin

With grafana:

About

SpringBoot REST API starter with Liquibase, Keycloak auth, OpenLDAP synch, Activemq, full microservices monitoring with prometheus and grafana

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.8%
  • Dockerfile 0.2%