~ whoami

Jocelyn Choo

>

Building a 3-node Proxmox homelab, GitOps pipelines, and infrastructure-as-code — in public. Solutions Engineer by day, DevOps by night.

family-prod · uptime 99.9%
Jocelyn Choo

01 — About

Great things are yet to be done

Currently a Solutions Engineer in Hong Kong, building homelab-infra on the side — a 3-node Proxmox cluster that's both my family's private cloud and a production-grade DevOps playground: Terraform, Ansible, K3s, ArgoCD, and CI/CD, all as code.

"Live like no one else today, so that you can live like no one else tomorrow." — Dave Ramsey

Experience 2+ yrs System Engineering 1+ yr Backend Development
Education B.Sc. Internet & Multimedia Technologies A.A. Pre-Computer Science

02 — Skills

The toolchain

$ devops --tools

  • Linux Experienced
  • Shell & Bash Intermediate
  • Build Tools Intermediate
  • Python Experienced
  • Docker Experienced
  • GitOps · ArgoCD Basic

$ cicd --automation

  • Jenkins Intermediate
  • AWS Cloud Intermediate
  • AWS EKS Basic
  • Kubernetes Basic
  • Terraform Basic
  • Ansible Basic
  • Prometheus & Grafana Basic
  • GitLab CI Basic

03 — Flagship project

homelab-infra

A 3-node Proxmox homelab, rebuilt from git in under 30 minutes — a family media platform and a Kubernetes/DevOps playground, everything as code. The lab tier is torn down and rebuilt from this repo on purpose, monthly: if it isn't in git, it doesn't exist.

Proxmox VE Terraform Ansible K3s ArgoCD Jenkins · JCasC GitLab CI Prometheus · Grafana · Loki Cloudflare Tunnel
GitHub Repo Design Decisions (ADRs)

Architecture

Homelab architecture diagram

Traffic enters through a Cloudflare Tunnel (no open ports) and hits one reverse proxy; only user-facing apps are public. Admin planes (Proxmox, Jenkins, Grafana) sit behind Tailscale. Quorum survives losing the disposable lab node.

Coming soon

5-Minute Demo Video

One git push travels through CI, security scanning (Trivy), and ArgoCD to a live Kubernetes rollout — recorded end to end.

Phase 2

Live Proof

Public Grafana snapshot / Uptime Kuma status page showing the real cluster, really running — landing once observability is migrated.

Phase 5

The AWS Party Trick

./demo.sh up stands up a mini k3s lab on AWS spot in ~4 minutes and prints a live URL; ./demo.sh down tears it down — a few cents per run, nothing left behind.

Write-ups

  • Soon Migrating my family's media platform to Proxmox — with zero downtime
  • Soon GitOps-ing my homelab with ArgoCD
  • Soon What rebuilding my lab from scratch taught me about IaC

04 — Contact

Let's build something

jocelyn_cys@jchoo.me LinkedIn GitHub