Skip to content

Repository files navigation

KubeOps: Enterprise Microservices GitOps & Service Mesh Deployment Pipeline

Terraform AWS EKS Istio ArgoCD GitHub Actions Helm Prometheus Grafana OPA Gatekeeper


🚀 Enterprise Resume Project Overview

KubeOps is an end-to-end, production-grade DevOps & Cloud Infrastructure project demonstrating Infrastructure as Code (IaC) via Terraform, automated microservice containerization, CI/CD automation via GitHub Actions, continuous delivery with ArgoCD GitOps, service mesh canary deployment with Istio, Helm Chart packaging, security governance via OPA Gatekeeper & HashiCorp Vault, stateful database orchestration with PostgreSQL StatefulSets, and full observability using Prometheus & Grafana.


📌 CV / Resume Bullet Points

  • Provisioned Cloud Infrastructure via Terraform (IaC): Automated multi-AZ VPC, subnets, IAM OIDC roles, and AWS EKS cluster deployment with automated Helm operator bootstraps.
  • Containerized Multi-Service Architecture: Orchestrated Node.js Express & Python Flask microservices alongside PostgreSQL StatefulSets and Redis caching on Kubernetes.
  • Configured Service Mesh & Canary Traffic Management (Istio): Defined VirtualService and DestinationRule specs to execute zero-downtime 90/10 traffic shifting and enforced strict mTLS encryption.
  • Automated CI/CD Pipeline & Security Scanning: Integrated GitHub Actions for Docker Buildx multi-arch compilation, Trivy vulnerability audits, and automated GitOps state syncs.
  • Enforced Security & Policy Governance (OPA Gatekeeper): Designed ConstraintTemplates disallowing root execution and injected dynamic secrets via HashiCorp Vault.
  • Observability & Health Telemetry: Created custom Prometheus Alertmanager rules (High CPU, CrashLoopBackOff) and dynamic Grafana cluster dashboards.

🏗 End-to-End Enterprise Architecture Flowchart

flowchart TD
    A[👨‍💻 Infrastructure / Code Commit] -->|Terraform Apply| B[☁️ AWS EKS Cluster Provisioning]
    B -->|Trigger| C[⚡ GitHub Actions CI/CD Pipeline]
    C -->|Build & Test| D[🧪 Helm Lint & Node.js Unit Tests]
    C -->|Buildx & Audit| E[🛡 Trivy Security Vulnerability Audit]
    E -->|Push Image| F[📦 GitHub Container Registry - GHCR]
    F -->|GitOps State Commit| G[🔄 ArgoCD Continuous Delivery]
    G -->|Declarative Rollout| H[☸️ Kubernetes Cluster]
    H -->|mTLS & Canary Traffic| I[🕸 Istio Service Mesh]
    H -->|Policy Audit| J[🛡 OPA Gatekeeper / Vault]
    H -->|Scrape Metrics| K[📊 Prometheus Alertmanager]
    K -->|Telemetry Visualization| L[📈 Grafana & KubeOps NOC UI]
Loading

📂 Comprehensive Repository Structure

KubeOps/
├── .github/
│   └── workflows/
│       └── ci-cd.yml                # GitHub Actions CI/CD pipeline workflow
│
├── terraform/                       # Infrastructure as Code (IaC)
│   ├── main.tf                      # AWS EKS cluster & VPC provisioning
│   ├── variables.tf                 # Cluster & network configuration parameters
│   ├── outputs.tf                   # Kubeconfig & endpoint outputs
│   └── helm_releases.tf             # Terraform Helm provider auto-bootstrap
│
├── istio/                           # Service Mesh & Traffic Shifting
│   ├── gateway.yaml                 # Istio Ingress Gateway
│   ├── virtual-service.yaml         # Canary 90/10 traffic routing
│   └── destination-rule.yaml        # Subsets, mTLS & circuit breaker rules
│
├── helm/
│   └── kubeops/                     # Helm Chart package
│       ├── Chart.yaml               # Helm chart metadata
│       ├── values.yaml              # Parameterized environment values
│       └── templates/               # Kubernetes templates
│           ├── deployment-frontend.yaml
│           ├── deployment-api.yaml
│           ├── service.yaml
│           └── hpa.yaml
│
├── k8s/                             # Kubernetes Manifests & Stateful Infrastructure
│   ├── configmap.yaml               # Environment configurations
│   ├── secrets.yaml                 # Base64 secrets
│   ├── frontend-deployment.yaml     # Frontend deployment
│   ├── api-deployment.yaml          # Core API deployment
│   ├── auth-deployment.yaml         # Flask Auth deployment
│   ├── hpa.yaml                     # HorizontalPodAutoscaler
│   ├── ingress.yaml                 # Ingress routing
│   └── database/                    # Stateful Database & Cache Layer
│       ├── postgres-statefulset.yaml# PostgreSQL StatefulSet & PVC (5Gi)
│       └── redis-deployment.yaml    # Redis caching layer
│
├── security/                        # Security & Governance Policies
│   ├── opa-gatekeeper.yaml          # OPA ConstraintTemplate for non-root execution
│   └── vault-secret-provider.yaml   # HashiCorp Vault Agent Injector spec
│
├── monitoring/                      # Observability & Monitoring
│   ├── prometheus-rules.yaml        # Alertmanager rules (High CPU, CrashLoopBackOff)
│   └── grafana-dashboard.json       # Grafana telemetry dashboard configuration
│
├── services/                        # Microservices Source Code
│   ├── frontend/                    # Next-Gen NOC Dashboard & Express Server
│   │   ├── Dockerfile
│   │   ├── server.js
│   │   └── public/                  # Futuristic UI (index.html, styles.css, app.js)
│   ├── api-service/                 # Core API Microservice
│   │   ├── Dockerfile
│   │   ├── server.js
│   │   └── test.js
│   └── auth-service/                # Python Flask Auth Microservice
│       ├── Dockerfile
│       └── app.py
│
├── gitops/                          # ArgoCD Continuous Delivery Specs
│   ├── argocd-app.yaml              # ArgoCD Application CRD
│   └── kustomization.yaml           # Kustomize environment overlays
│
├── scripts/                         # Automation & Cluster Bootstrap CLI
│   ├── cluster-setup.sh             # Linux/macOS Kind cluster bootstrap script
│   └── cluster-setup.bat            # Windows CMD/PowerShell cluster script
│
├── docker-compose.yml               # Local multi-container orchestration
├── .gitignore                       # Git ignore filters
└── README.md                        # Documentation

🛠 Helm & Cluster Deployment Commands

# 1. Lint the Helm Chart
helm lint helm/kubeops

# 2. Render templates locally (Dry Run)
helm template kubeops-prod helm/kubeops --values helm/kubeops/values.yaml

# 3. Upgrade / Install Helm Release on Kubernetes Cluster
helm upgrade --install kubeops-prod helm/kubeops \
  --namespace default \
  --create-namespace \
  --set frontend.replicaCount=3 \
  --set frontend.image.tag="v1.4.2"

🖥 Local Interactive NOC Dashboard UI

To run the interactive KubeOps NOC Dashboard UI locally:

cd services/frontend
npm start

Access the dashboard at http://localhost:3050.


📄 License

MIT License. Built for Cloud & DevOps Engineers.

About

KubeOps is a production-ready GitOps-based CI/CD pipeline that automates containerized application deployment using Docker, Kubernetes, ArgoCD, GitHub Actions, Helm, Prometheus, Grafana, and AWS EC2

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages