DEV Community

chitranjan Jegadeesan
chitranjan Jegadeesan

Posted on

Learn a real production Kubernetes platform by running one — offline, on your laptop, in 5 minutes

TL;DR: lab-in-a-box is a single-command, fully offline Kubernetes stack with GitOps, observability, security policies, and a full CI/CD pipeline — and a guided walkthrough that teaches you each layer as it runs. No cloud, no bill. github.com/BubblyWolf/lab-in-a-box

I wanted to understand how platform teams actually build and run things. Not just "hello world" Kubernetes — the real stuff: Argo CD syncing apps from Git, Prometheus scraping custom metrics, policies blocking bad deployments before they reach the cluster, CI pipelines that sign container images and generate SBOMs.

The problem? Doing this in the cloud costs money. Tutorials are fragmented. And you never see the wiring between tools.

So I spent weekends wiring everything together into one reproducible repo. Then I made it run locally with one command.

What you get in 5 minutes:

make up # Kind cluster + Argo CD + Prometheus/Grafana/Loki + Kyverno
make deploy-local # 3-microservice "Pulse" app with health checks and metrics
make demo # Argo CD, Grafana, and the app — all open in browser
The full stack:

☸️ Kind — multi-node Kubernetes cluster in Docker
🔄 Argo CD — GitOps with app-of-apps pattern, Git as source of truth
📊 Prometheus + Grafana + Loki — custom "Pulse" dashboard, metrics-to-logs correlation
🔐 Kyverno + Sealed Secrets + Trivy — admission policies, encrypted secrets, vulnerability scanning
🚀 GitHub Actions — build, scan, SBOM, cosign sign, push to GHCR
🎯 Pulse app — Node.js API, worker, and frontend + Redis — all wired for observability
Why this exists:

It's a learning environment that doesn't lie. The policies actually block things. The dashboards show real data. The GitOps sync fails if you break the manifests. You can experiment, break, fix, and understand — without a $200 cloud bill or a 2am page.

What I'd love:

⭐ Star it if it saves you time or teaches you something
🍴 Fork it to build your own internal platform demo
💬 Tell me what you built, what broke, what I got wrong
Issues, ideas, and PRs welcome. This is a community learning project first.

Top comments (0)