Skip to content

A Production-Grade Microservices on Kubernetes — A cloud-native architecture featuring 8+ microservices orchestrated with K3s, secured with Let’s Encrypt TLS, powered by PostgreSQL, and fully observable with Prometheus & Grafana. Infrastructure is codified with Terraform and automated via GitHub Actions for CI/CD.

License

Notifications You must be signed in to change notification settings

wizzfi1/Wizfi-Microservices

Repository files navigation

WizFi Microservices 🚀

Kubernetes Docker Terraform Prometheus Grafana GitHub Actions PostgreSQL


🔑 Highlights

  • 8+ Microservices (Frontend, Auth, User, Admin, Billing, Payments, Analytics, Notifications)
  • Kubernetes (k3s) orchestration with NGINX Ingress
  • End-to-End SSL/TLS via Let’s Encrypt + cert-manager
  • PostgreSQL with Persistent Volumes for data durability
  • Monitoring & Alerting stack (Prometheus, Grafana, Alertmanager → Slack)
  • Infrastructure as Code with Terraform on AWS EC2
  • Helm-based deployment for modular rollouts & upgrades
  • CI/CD pipelines with GitHub Actions

📌 This is a portfolio-grade project that demonstrates real-world DevOps engineering and cloud-native practices end-to-end.


🏗 Architecture

Architecture


📸 Screenshots

Admin Dashboard Slack Alerts Node Exporter Kubernetes Cluster Dashboard
Dashboard Alerts Node Exporter K8s Dashboard

📂 Project Structure

Wizfi-Microservices/
├── services/ # Microservices
├── postgres/ # Database
├── monitoring/ # Prometheus, Grafana, Alertmanager
├── k8s/ # Kubernetes manifests
├── wizfi-microservices-helm # Helm charts
├── wizfi-EC2/ # Infrastructure as Code
├── docker-compose.yml # Local testing
└── README.md


⚙️ Tech Stack

  • Containerization: Docker
  • Orchestration: Kubernetes (k3s)
  • Ingress & Networking: NGINX Ingress Controller, cert-manager, Let’s Encrypt
  • Database: PostgreSQL with Persistent Volumes
  • Monitoring & Observability: Prometheus, Grafana, Alertmanager → Slack
  • IaC: Terraform on AWS EC2
  • CI/CD: GitHub Actions
  • Packaging: Helm

🚀 Setup & Deployment

1️⃣ Infrastructure (Terraform on AWS EC2)

cd terraform
terraform init
terraform apply

2️⃣ Cluster Setup (K3s)

curl -sfL https://get.k3s.io | sh -

3️⃣ Deploy Microservices

kubectl apply -f k8s/

4️⃣ Helm Deployment

cd wizfi-microservices-helm
helm install wizfi ./ --namespace wizfi

5️⃣ Ingress + SSL/TLS

kubectl apply -f manifests/ingress.yaml

Access via: https://wizfiservices.duckdns.org

⚡ CI/CD Workflow (GitHub Actions)

-Build & Push Docker Images → GitHub Container Registry

-Deploy to K3s via kubeconfig secret

-Auto-SSL Renewal via cert-manager

-Automated Testing with curl-based health checks

📊 Monitoring & Observability

-Grafana Dashboards for cluster + microservices

-Prometheus Alerts → Slack notifications

-Node Exporter + Kube State Metrics for system health

🚀 Future Improvements

-🔒 Service Mesh with Istio or Linkerd

-🌍 Multi-node HA setup

-📦 Canary Deployments & Progressive Delivery

-☸️ Kubernetes Operator for automation

-📈 Advanced SLO/SLI tracking

About

A Production-Grade Microservices on Kubernetes — A cloud-native architecture featuring 8+ microservices orchestrated with K3s, secured with Let’s Encrypt TLS, powered by PostgreSQL, and fully observable with Prometheus & Grafana. Infrastructure is codified with Terraform and automated via GitHub Actions for CI/CD.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published