This project demonstrates an end-to-end deployment of a full-stack application using Kubernetes (EKS) with CI/CD pipelines.
- 🔹 Frontend (React): https://github.com/prateek0007/react-form-frontend
- 🔹 Backend (Spring Boot): https://github.com/prateek0007/java-form-backend
User → Frontend (React) → Backend (Spring Boot API) → Response
Both services are deployed on AWS EKS using Kubernetes.
- React (Frontend)
- Spring Boot (Backend)
- Docker
- Kubernetes (EKS)
- GitHub Actions (CI/CD)
- AWS (EKS, EC2)
- Separate CI/CD pipelines for frontend & backend
- Dockerized applications
- Kubernetes deployments and services
- LoadBalancer exposure
- End-to-end API integration
- Open frontend LoadBalancer URL
- Fill the form
- Data sent to backend API
- Response: "Thankyou detail submitted"
- EKS cluster setup and node group management
- RBAC configuration using aws-auth
- CI/CD automation
- Debugging real-world Kubernetes issues
- Ingress + Domain
- HTTPS (TLS)
- Auto-scaling (HPA)
- Helm charts
Problem:
While Performing GitHub Actions with kubectl Error:
the server has asked for the client to provide credentials
Fix:
Configured aws-auth ConfigMap to map IAM user with Kubernetes RBAC:
- Added GitHub Actions IAM user to
system:mastersgroup - Enabled CI/CD pipeline to access EKS cluster
Problem: EKS node group creation failed with CloudFormation timeout.
Fix:
- Checked CloudFormation logs
- Fixed IAM role permissions
- Recreated node group successfully
Problem: Frontend showed "Something went wrong" on form submission.
Fix:
- Exposed backend using LoadBalancer service
- Updated frontend API URL with external IP
- Verified API response using Postman
Problem:
tag does not exist
Fix:
- Rebuilt Docker image with correct tag
- Ensured consistent naming between build and push
Problem: Spring Boot failed to start due to port conflict.
Fix:
- Identified running process
- Changed backend port configuration
Problem:
failed to download openapi: the server has asked for the client to provide credentials
Fix:
- Configured AWS credentials in GitHub Actions
- Updated kubeconfig dynamically using
aws eks update-kubeconfig
Problem:
Incorrect aws-auth structure caused deployment issues.
Fix:
- Corrected YAML indentation
- Separated
mapRolesandmapUsersproperly
This project helped me understand real-world DevOps challenges beyond just deployment — especially authentication, networking, and CI/CD debugging in Kubernetes environments.


