Over-engineering : Manifest
This project over-engineers a simple application deployment, using GitOps. Over engineering is not a good thing but it's for purposes of learning.
There are 3 services, an Java based admin service, Golang based API service and a frontend in vanilla JS and HTMl5.
It's designed to be "cloud-agnostic" and also work with either Github Actions or Gitlab CI as CI. For cloud infra it works with GKE and EKS for now.
1. CI
Option 1 : GithubActions
Option 2 : Gitlab Runners
2. CD
Option 1 : Deployment on K8S : AWS
Option 2 : Deployment on K8S : GKE
Option 3. Deployment with Docker Compose on Single Host
3. Monitoring & Observability
Using Prometheus and Grafana for Metrics
Zipkin for Distributed Tracing