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 documentation | File |
|---|---|
| Getting started (add a starter, minimal config) | docs/getting-started.md |
| Configuration property reference | docs/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.
| Module | Purpose |
|---|---|
jeap-spring-boot-application-starter | Frontend route handling, HikariCP pooling and reverse-proxy defaults; bundles logging-starter |
jeap-spring-boot-logging-starter | Structured JSON logging with tracing context, profile-based appenders (CloudWatch/RHOS/console) |
jeap-spring-boot-monitoring-starter | Actuator + Micrometer/Prometheus metrics with a secured Prometheus endpoint |
jeap-spring-boot-security-starter | OAuth2 resource server: JWT validation, simple & semantic role authorization |
jeap-spring-boot-security-client-starter | OAuth2 client: preconfigured RestClient builders (client credentials / token forwarding) |
jeap-spring-boot-security-starter-test | Test support: token builders, @WithJeapAuthenticationToken, mock auth servers |
jeap-spring-boot-rest-request-tracing | Servlet REST request/response tracing with header masking |
jeap-spring-boot-vault-starter | Secrets management via HashiCorp Vault (Spring Cloud Vault, AppRole/Kubernetes auth) |
jeap-spring-boot-object-storage-starter | S3-compatible object-storage client (S3Client) configuration |
jeap-spring-boot-postgresql-aws-starter | AWS RDS PostgreSQL with IAM auth and optional read replicas (AWS Advanced JDBC Wrapper) |
jeap-spring-boot-tx | Read-replica-aware transaction routing (@TransactionalReadReplica) |
jeap-spring-boot-web-config-starter | Frontend security headers (CSP, HSTS, ...) and caching headers |
jeap-spring-boot-swagger | OpenAPI/Swagger configuration (springdoc) with OAuth2 and HTTPS enforcement |
jeap-spring-boot-swagger-starter | Convenience starter bundling jeap-spring-boot-swagger and the springdoc Swagger UI |
jeap-spring-boot-featureflag-starter | Feature flags via Togglz with Spring Cloud config refresh |