Course 1 of 7 · The deployment/infra track
Containers & Local Dev, from newcomer to interview-ready
The foundation the whole deployments/ stack stands on — anchored to the local stack you run every day.
You asked to cover all of this repo's deployment domain — Kubernetes, Helm, Istio, runners, monitoring, Terraform. That's seven courses (see the plan below). This is Course 1, and it comes first for one reason: every one of those tools ultimately builds, ships, runs, or orchestrates a container. Get the container right and the rest has something to stand on.
Unlike the Airflow course (adjacent-team code), this one is grounded in files you touch
daily — local/Dockerfile.development, local/docker-compose.*.yaml,
local/run.bash. Two parts, built one at a time. Lessons are short — one win
each. Read them in order.
Part 1 — Containers & Docker available now
What a container actually is, how images are built, and how you run and wire them.
1 · What a container is (vs a VM)
Isolated process, not a machine — namespaces, cgroups, and the shared kernel.
ready2 · Images, layers & Dockerfiles
The read-only template, why layers are cached, and this repo's multi-stage build.
ready3 · Running containers
Ports, volumes (named vs bind), env vars, networks — and debugging one that won't start.
ready4 · Docker Compose & multi-service stacks
One YAML, many containers — depends_on, healthchecks, and the repo's stack.
Part 2 — This repo's local dev & the env×org model available now
From "a container" to "the whole backend running locally" — and the on-ramp to Kubernetes.
5 · The env × org model
Environment × organisation → namespaces & {env}-{org}-values.yaml.
6 · The two local stacks
docker-compose (run.bash) vs kind+Skaffold (sk.bash) — when each.
7 · Skaffold: build, render, deploy
How skaffold.*.yaml composes and hydrates the manifests.
8 · The local dev loop
Code → binary → hot-swap into a running container (modd + docker cp).
The 7-course deployment track
Decided this session, after surveying deployments/, local/ and .github/. Ordered bottom-up.
| # | Course | Covers |
|---|---|---|
| 1 | Containers & Local Dev ← here | Docker, images/layers, Compose, the local stacks, env×org |
| 2 | Kubernetes | Pods, Deployments, Services, KEDA, HPA/VPA/PDB, the objects Helm renders |
| 3 | Helm | ~106 charts, the shared library chart, values layering, SOPS secrets |
| 4 | Istio & Service Mesh | VirtualServices, EnvoyFilters, the ingress gateway |
| 5 | CI/CD & Delivery | ~99 GitHub workflows, trunk-based deploy, ARC runners, binary authorization |
| 6 | Observability & Monitoring | Prometheus, Grafana, Thanos, Jaeger, OTel, Kiali, Grafana OnCall |
| 7 | Infrastructure as Code | Terraform (~34 modules), GCP (GKE/Cloud SQL/VPC/IAM/KMS), Workload Identity |
Reference shelf
Cheat sheet
Dense revision sheet + interview one-liners.
Glossary
The canonical vocabulary, opinionated.
Repo map
Ground truth: Dockerfile, compose files, run.bash, sk.bash.
Resources
Docker, OCI, Compose, Skaffold, kind — official docs.