Skip to content
/ micro-apps Public template
forked from xmlking/micro-apps

Microservices in Post-Kubernetes Era. A polyglot monorepo

License

Notifications You must be signed in to change notification settings

reachlakstar/micro-apps

 
 

Repository files navigation

Micro Apps

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 konf
  5. Integrated with best testing frameworks (kotest, MockK)
  6. Build lightweight Docker and OCI images with Jib
  7. Build native binaries using GraalVM
  8. Cloud Native (Service Mesh, health checks, observability)
  9. Deployment automation with kustomize and Event-driven Autoscaling with KEDA

Check Version License

Quality

Quality Gate Status Maintainability Rating Security Rating Reliability Rating Bugs Vulnerabilities

Run

Docker

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

access sonarqube at http://localhost:9000/ (admin/admin)

See gradle commands for this project.

Apache Beam pipelines

Start wordcount Pipeline

Start streaming Pipeline

Quarkus

Start Greeting API

Kotlin-gRPC

Start Kotlin-gRPC API

Micronaut

Start Greeting API

Inspiration

About

Microservices in Post-Kubernetes Era. A polyglot monorepo

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 90.6%
  • Java 3.6%
  • Shell 2.8%
  • HTML 2.3%
  • Dockerfile 0.7%