This repo sets up a GitOps-based Kubernetes environment using:
- ✅ Namespaces via Terraform
- ✅ Argo CD via official manifests
- ✅ Helm-based Applications (NGINX Ingress + kube-prometheus-stack)
- ✅ NodePort-based access to Argo CD UI
- Download and run the setup script:
chmod +x setup_with_nodeport.sh
./setup_with_nodeport.sh- Expose Argo CD via NodePort (automatically handled)
After setup, Argo CD will be accessible at:
https://<YOUR_EC2_PUBLIC_IP>:<NODEPORT>
Find the exact NodePort with:
kubectl -n argocd get svc argocd-server- Log in to Argo CD UI
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d && echo- Username:
admin - Password: (use command above)
- Monitor GitOps Apps
ingress-nginxandkube-prometheus-stackwill be installed automatically.- View sync status and health in Argo CD UI.
terraform/ # Manages namespaces
k8s/
├── base/ # Namespace definitions
├── argocd/ # Argo CD install + app-of-apps
└── apps/ # Helm-based apps deployed by Argo CD
scripts/
└── setup_with_nodeport.sh # Automated setup scriptTo verify everything is up:
kubectl get pods -A
kubectl -n monitoring port-forward svc/kube-prom-stack-grafana 3000:80 &Then open http://localhost:3000 (user: admin, pass: prom-operator)
Happy GitOps-ing! 🚀