Skip to main content

jEAP Spring Boot Starters

jEAP Spring Boot Starters is a collection of Spring Boot starters used when developing a Spring Boot application based on jEAP. Each starter auto-configures a single cross-cutting concern with jEAP-aligned defaults, so a service can focus on business logic instead of infrastructure wiring. The starters cover:

  • OAuth2 resource-server security with JWT validation and simple or semantic role-based authorization
  • OAuth2 client support for calling other secured services (client credentials and token forwarding)
  • Structured JSON logging with distributed-tracing context (traceId/spanId)
  • Monitoring via Spring Boot Actuator, Micrometer and a secured Prometheus endpoint
  • Secrets management with HashiCorp Vault, AWS RDS PostgreSQL with IAM auth, S3 object storage
  • Feature flags (Togglz), OpenAPI/Swagger UI, frontend route handling and web security headers

The Maven parent is ch.admin.bit.jeap:jeap-internal-spring-boot-parent, which pins the Spring Boot and dependency versions; this repository does not declare them directly.

Documentation

Start with Getting started. The two general pages below apply across the starters; for everything else there is one page per module (see the Modules table, where each documented module links to its own docs/<module-name>.md).

General documentationFile
Getting started (add a starter, minimal config)docs/getting-started.md
Configuration property referencedocs/configuration.md

Per-module documentation lives in docs/<module-name>.md — each module in the table below links to its own page.

Modules

Group id for all modules is ch.admin.bit.jeap; the version is managed by the jEAP Spring Boot parent. Modules ending in -it, -it-* or -test are test-support or integration-test modules.

ModulePurpose
jeap-spring-boot-application-starterFrontend route handling, HikariCP pooling and reverse-proxy defaults; bundles logging-starter
jeap-spring-boot-logging-starterStructured JSON logging with tracing context, profile-based appenders (CloudWatch/RHOS/console)
jeap-spring-boot-monitoring-starterActuator + Micrometer/Prometheus metrics with a secured Prometheus endpoint
jeap-spring-boot-security-starterOAuth2 resource server: JWT validation, simple & semantic role authorization
jeap-spring-boot-security-client-starterOAuth2 client: preconfigured RestClient builders (client credentials / token forwarding)
jeap-spring-boot-security-starter-testTest support: token builders, @WithJeapAuthenticationToken, mock auth servers
jeap-spring-boot-rest-request-tracingServlet REST request/response tracing with header masking
jeap-spring-boot-vault-starterSecrets management via HashiCorp Vault (Spring Cloud Vault, AppRole/Kubernetes auth)
jeap-spring-boot-object-storage-starterS3-compatible object-storage client (S3Client) configuration
jeap-spring-boot-postgresql-aws-starterAWS RDS PostgreSQL with IAM auth and optional read replicas (AWS Advanced JDBC Wrapper)
jeap-spring-boot-txRead-replica-aware transaction routing (@TransactionalReadReplica)
jeap-spring-boot-web-config-starterFrontend security headers (CSP, HSTS, ...) and caching headers
jeap-spring-boot-swaggerOpenAPI/Swagger configuration (springdoc) with OAuth2 and HTTPS enforcement
jeap-spring-boot-swagger-starterConvenience starter bundling jeap-spring-boot-swagger and the springdoc Swagger UI
jeap-spring-boot-featureflag-starterFeature flags via Togglz with Spring Cloud config refresh