Skip to content

yashpal2104/todo-app-deployment

Repository files navigation

Todo App Deployment

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.


🚀 Features

  • 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

Repository Structure

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 

🏁 Getting Started

1. Clone the Repo

git clone https://github.com/yashpal2104/todo-app-deployment.git
cd todo-app-deployment

2. Frontend: Svelte

cd go-todo-frontend
npm install
npm run dev

Visit http://localhost:5173 (or as printed in terminal) to view the app.


3. Backend: Go API

cd backend
go build -o app
./app

4. Kubernetes Deployment

  1. Ensure you have a Kubernetes cluster running (local: Minikube, Kind, K3d, etc.)
  2. Render any Jinja templates if applicable:
    jinja2 manifests/todo-deployment.yaml.j2 > manifests/todo-deployment.yaml
  3. Apply manifests:
    kubectl apply -f manifests/todo-deployment.yaml

5. CI/CD

  • 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

💡 Notes

  • 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.

📸 Screenshots

App

todo-app

Github Actions CI

github com_yashpal2104_todo-app-deployment_actions

ArgoCD Deployment

argocd


📝 License

This project is licensed under the MIT License.


🤝 Connect

If you like this project, connect with me on LinkedIn.

Made with Svelte Go Backend

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published