A production-style Java Spring Boot application deployed on Amazon EKS using Terraform, Docker, Jenkins, and Kubernetes.
This project demonstrates an end-to-end DevOps workflow, from infrastructure provisioning to automated application deployment.
Developer
│
▼
GitHub Repository
│
▼
Jenkins CI/CD
│
▼
Docker Build
│
▼
Container Image
│
▼
Amazon EKS
│
▼
Kubernetes Service
│
▼
AWS Load Balancer
│
▼
Users
- Java Spring Boot REST API
- Docker containerization
- Jenkins CI/CD pipeline
- Infrastructure as Code using Terraform
- Amazon EKS deployment
- Kubernetes manifests
- ConfigMaps
- Ingress Controller
- Production-style infrastructure
- Java
- Spring Boot
- Maven
- Docker
- Kubernetes
- Terraform
- Jenkins
- AWS EKS
- AWS VPC
app/
Dockerfile
Jenkinsfile
k8s/
terraform/
Terraform provisions:
- VPC
- Subnets
- Internet Gateway
- EKS Cluster
- Node Groups
- IAM Roles
The application is deployed using:
- Deployment
- Service
- Ingress
- ConfigMap
- Developer pushes code
- Jenkins builds Maven project
- Docker image created
- Image pushed to registry
- Kubernetes deployment updated
- Application becomes available on EKS
- GitHub Actions pipeline
- Helm charts
- ArgoCD
- Horizontal Pod Autoscaler
- Prometheus
- Grafana
- ELK Stack
- HTTPS with ACM
This project strengthened my understanding of:
- Infrastructure as Code
- Kubernetes deployments
- CI/CD automation
- Cloud networking
- Container orchestration