Introduction

Modern microservices for Post-Kubernetes Era.

Monorepo(apps, libs) project to showcase workspace setup with multiple apps and shared libraries

Features

  1. Polyglot - Support multiple languages (java, kotlin, groovy)

  2. Support multiple app frameworks (apache-beam, cli, micronaut, quarkus)

  3. Support multiple serialization methods (JSON, Avro, ProtoBuf)

  4. A type-safe cascading configuration with konfarrow-up-right

  5. Integrated with best testing frameworks (kotestarrow-up-right , MockKarrow-up-right)

  6. Build lightweight Docker and OCIarrow-up-right images with Jibarrow-up-right

  7. Build native binaries using GraalVMarrow-up-right

  8. Cloud Native (Service Mesh, health checks, observability)

  9. Platform independent Observability instrumentation via OpenTelemetryarrow-up-right

  10. Deployment automation with kustomizearrow-up-right and Event-driven Autoscaling with KEDAarrow-up-right

  11. End-to-End Google Cloud DevOps flow pop-kustomizearrow-up-right

Checkarrow-up-right Versionarrow-up-right Licensearrow-up-right

Quality

Quality Gate Statusarrow-up-right Maintainability Ratingarrow-up-right Security Ratingarrow-up-right Reliability Ratingarrow-up-right Bugsarrow-up-right Vulnerabilitiesarrow-up-right

Sub Modules

Setup

Prerequisites

IntelliJ Plugins

Contribution

Pre-commit checks

Run tests, lint, coverage for all subprojects

Code Quality

Software Composition Analysis (SCA) tool that attempts to detect publicly disclosed vulnerabilities contained within a project’s dependencies.

Maintenance

Run

Docker

start app dependencies: postgres, redis

start optional CI/CD infra dependencies: sonarqube, nexus

Dashboard access

  • 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.

Apps

Apache Beam Pipelines

Explore Wordcount Pipelinearrow-up-right

Explore Streaming Ingestion Pipelinearrow-up-right

Explore Classifier Pipelinearrow-up-right

Quarkus

Explore REST, OpenAPI, OpenID Connect, APIarrow-up-right

Explore GraphQL APIarrow-up-right

Kotlin-gRPC

Explore Account-gRPC APIarrow-up-right

Explore Kotlin-gRPC APIarrow-up-right

Explore Kotlin-gRPC APIarrow-up-right

Spring

Explore Spring-RSocket Chat APParrow-up-right

Explore Spring CRUD + Redis Search APIarrow-up-right

Svelte

Explore SvelteKit WebApparrow-up-right

Libs

Reusable libraries

Explore Apache Beam Kotlin Extensionsarrow-up-right

Explore Shared gRPC Componentsarrow-up-right

Shared code within this repo

Explore Shared Core Codearrow-up-right

Explore Shared Model Objectsarrow-up-right

Explore Shared Pipelines Codearrow-up-right

Explore Shared Spring Services Codearrow-up-right

Explore Shared Spring GraphQL Services Codearrow-up-right

Explore Shared ProtoBuf Contractsarrow-up-right

Explore Shared Test Fixturesarrow-up-right

Inspiration

Last updated

Was this helpful?