A Staging Environment Per Pull Request: Building Our Own Controller!
summary
A Kubernetes-based controller takes GitHub webhooks, creates a custom review deployment third‑party resource, launches a build pod that docker builds and pushes the PR image, then creates a runtime pod plus Service and Ingress (wildcard DNS via nginx) so each PR has a public URL. The prototype is ~100 lines of Go, works live in demo, and is thrown together in a couple of days but is not production hardened.
AI-written summary · about
chapters (12)
- 0:00Intro
- 4:28Demo
- 7:27Why This Works
- 8:43Kubernetes Architecture
- 13:40ThirdParty Resources
- 15:08Custom Deployments
- 15:30Pull Request Architecture
- 16:27Review Deployment
- 17:18Review Deployment Controller
- 18:21Review Kubernetes Controller
- 19:53Deploying from the Internet
- 21:40Questions
related talks
30mWho Let the Pods Out? Extending Kubernetes with Custom Controllers and CRDs
26mThe Control Loop As An Application Development Framework
32mKubernetes as a platform for platforms
24mBeyond Review Apps: Orchestrating Full-Stack Ephemeral Environments...
28mDriving Monorepo Adoption With Backstage
36mLet's Build Kubernetes, With a Spreadsheet and Volunteers!
35mPlays Well with Others: Composability for Cloud Native Applications
36mDesigning Staging Environments
