A full-stack Todo application with a modern Svelte frontend, Go backend, containerization, and Kubernetes-native deployment. This repo demonstrates real-world DevOps with GitHub Actions CI and ArgoCD GitOps CD—all ready for local and cloud-native workflows.
- Frontend: Svelte for a responsive UI (go-todo-frontend/)
- Backend: Go REST API (backend/), containerized for K8s
- Manifests: YAML & Jinja templates for flexible Kubernetes deployment
- CI/CD: Automated with GitHub Actions (CI) and ArgoCD (CD)
- No Vendor Lock-In: Deploy on any Kubernetes cluster (local/cloud)
- DevOps Best Practices: Full pipeline and manifest templating
go-todo-frontend/ # Svelte frontend code
backend/ # Go backend API
manifests/ # K8s manifests & Jinja templates
.github/workflows/ # GitHub Actions CI/CD pipelines
Dockerfile # Container build files
README.md # Project overview
git clone https://github.com/yashpal2104/todo-app-deployment.git
cd todo-app-deploymentcd go-todo-frontend
npm install
npm run devVisit http://localhost:5173 (or as printed in terminal) to view the app.
cd backend
go build -o app
./app- Ensure you have a Kubernetes cluster running (local: Minikube, Kind, K3d, etc.)
- Render any Jinja templates if applicable:
jinja2 manifests/todo-deployment.yaml.j2 > manifests/todo-deployment.yaml - Apply manifests:
kubectl apply -f manifests/todo-deployment.yaml
- CI: All pushes trigger GitHub Actions for lint, build, and test
- CD: ArgoCD (if set up) automatically syncs manifests from this repo to your K8s cluster
- No cloud service is required; works on local Kubernetes.
- Manifests are ready for cloud if you want to deploy later.
- You can tweak the manifests and templates for your needs.
This project is licensed under the MIT License.


