A complete Cloud Native DevOps Pipeline implementing CI/CD, GitOps, containerization, and Kubernetes deployment using modern DevOps tools.
This project demonstrates a production-style DevOps workflow where application code is automatically built, containerized, pushed to a registry, and deployed to Kubernetes through GitOps.
| Category | Tools Used |
|---|---|
| Version Control | Git, GitHub |
| CI Pipeline | GitHub Actions |
| Containerization | Docker |
| Container Registry | DockerHub |
| GitOps | ArgoCD |
| Container Orchestration | Kubernetes |
| Infrastructure | Terraform |
✔ Automated CI pipeline using GitHub Actions
✔ Docker image build and push to DockerHub
✔ Kubernetes deployment using manifests
✔ GitOps deployment with ArgoCD
✔ Automatic container image updates using ArgoCD Image Updater
✔ Scalable backend deployment (ReplicaSet)
✔ Infrastructure provisioning using Terraform
✔ Monitoring setup using Prometheus & Grafana
cloud-native-devops-platform
│
├── .github
│ └── workflows
│ └── ci.yml
│
├── app
│ └── backend
│ ├── Dockerfile
│ └── application code
│
├── kubernetes
│ ├── deployment.yaml
│ ├── service.yaml
│ └── ingress.yaml
│
├── terraform
│ └── infrastructure configuration
│
├── monitoring
│ ├── prometheus
│ └── grafana
│
└── README.md
Triggered when code is pushed to the main branch.
Pipeline Steps:
- Checkout repository
- Login to DockerHub
- Build Docker image
- Tag image using Git commit SHA
- Push image to DockerHub
Example GitHub Actions pipeline:
Git Push
↓
GitHub Actions
↓
Docker Build
↓
Docker Push
Deployment is handled using GitOps with ArgoCD.
Workflow:
New Docker Image
│
▼
ArgoCD Image Updater
│
▼
Update Kubernetes Manifest
│
▼
ArgoCD Sync
│
▼
Kubernetes Deployment
Docker images are pushed to DockerHub.
Repository:
https://hub.docker.com/r/dvanhu/devops-backend
Images are tagged using Git commit SHA for traceability.
Example:
dvanhu/devops-backend:ed17084659da4ab08...
The backend application is deployed using Kubernetes resources:
- Deployment
- ReplicaSet
- Service
- Ingress
ArgoCD continuously monitors the Git repository and ensures the Kubernetes cluster matches the declared state.
Application Status:
Healthy
Synced
Deployment graph:
Service
↓
Deployment
↓
ReplicaSet
↓
Pods
- CI/CD Automation
- Containerization
- GitOps Deployment
- Kubernetes Orchestration
- Infrastructure as Code
- Monitoring & Observability