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.
- 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
VirtualServiceandDestinationRulespecs 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
ConstraintTemplatesdisallowing 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.
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]
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
# 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"To run the interactive KubeOps NOC Dashboard UI locally:
cd services/frontend
npm startAccess the dashboard at http://localhost:3050.
MIT License. Built for Cloud & DevOps Engineers.