This repository demonstrates a complete CI/CD pipeline using Terraform, Jenkins, Kubernetes (EKS), and ArgoCD, enabling automated deployment of a Node.js application on AWS infrastructure.
- Infrastructure as Code: Terraform
- Containers: Docker
- Orchestration: Kubernetes (EKS)
- CI/CD: Jenkins, ArgoCD, Helm
- Database: Amazon RDS
- Networking: NGINX Ingress, Cert-Manager, Route53
- IAM Integration: OIDC/IRSA
- App: Node.js + Express
- AWS CLI and credentials configured
- Terraform, Helm, Kubectl, Docker installed
- A registered domain with a hosted zone in Route53
- Jenkins with access to GitHub and AWS
A Node.js API with two endpoints:
/client-ip– stores client IP in RDS/client-ip/list– returns all stored IPs
.
├── terraform/ # IaC to provision EKS, RDS, VPC, etc.
├── k8s/ # Kubernetes manifests (Deployment, Service, Secrets)
├── helm/ # Helm chart for the app
├── jenkins_files/ # CI/CD pipeline scripts
├── app/ # Node.js source code
└── README.md # You're here