Modern microservices for Post-Kubernetes Era.
Monorepo(apps, libs) project to showcase workspace setup with multiple apps and shared libraries
- Polyglot - Support multiple languages (java, kotlin, groovy)
- Support multiple app frameworks (apache-beam, cli, micronaut, quarkus)
- Support multiple serialization methods (JSON, Avro, ProtoBuf)
- A type-safe cascading configuration with konf
- Integrated with best testing frameworks (kotest , MockK)
- Build lightweight Docker and OCI images with Jib
- Build native binaries using GraalVM
- Cloud Native (Service Mesh, health checks, observability)
- Platform independent Observability instrumentation via OpenTelemetry
- Deployment automation with kustomize and Event-driven Autoscaling with KEDA
start app dependencies: postgres, redis
# start local sonarqube
docker compose up postgres # docker compose up -V postgres
# stop local postgres before restart again
docker compose down # docker compose down -v
start optional CI/CD infra dependencies: sonarqube, nexus
# start local sonarqube
docker compose up sonarqube # docker compose up -V sonarqube
# stop local sonarqube before restart again
docker compose down
# (optional) this remove volumes - needed when you upgrade image versions
docker compose down -v
# start local nexus
docker compose up nexus
- SonarQube → Browser http://localhost:9000 →
user: admin, password: admin
- Grafana → Browser http://localhost:3000/plugins/redis-app/ →
user: admin, password: admin
- Redis Insight → Browser http://localhost:8001/
- Jaeger → Browser http://localhost:16686
- Kibana → Browser http://localhost:5601
- Prometheus → Browser http://localhost:9090
See gradle commands for this project.
Explore Wordcount Pipeline
Explore Streaming Ingestion Pipeline
Explore Classifier Pipeline
Explore GraphQL API
Explore Account-gRPC API
Explore Kotlin-gRPC API
Explore Kotlin-gRPC API
Explore Spring-RSocket Chat APP
Explore Spring CRUD + Redis Search API
Explore SvelteKit WebApp
Explore Apache Beam Kotlin Extensions
Explore Shared gRPC Components
Explore Shared Core Code
Explore Shared Model Objects
Explore Shared Pipelines Code
Explore Shared Services Code
Explore Shared ProtoBuf Contracts
Explore Shared Test Fixtures
- Creating a Multi Module Project
- Microservices in a Post-Kubernetes Era link
- Why is a workspace (or monorepo) needed?
- Gradle Setup arara