Migrating GitHub Actions with Nested Virtualization to a Cloud Native Ecosystem
summary
Describes replacing macOS nested-virtualization CI by running self-hosted GitHub Actions on a home cluster: a ~$250 Intel NUC hosts three concurrent runners, KubeVirt launches a VM per job from a prebaked golden image and destroys it after the run, while GitHub Action Runner Controller handles scaling. The full stack uses KubeVirt, TopoLVM, Action Runner Controller, Tekton and CDI and was validated across ten projects to eliminate the hosted macOS dependency.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 1:29Personal VM projects
- 3:59GitHub Actions macOS loss
- 5:31Self-hosted NUC solution
- 6:54Hardware selection
- 7:58Cloud native stack
- 9:48Kubernetes with CubeSpray
- 10:51Golden images with Tecton
- 13:20Topo LVM and CDI setup
- 15:31Golden image customization
- 16:13Action Runner Controller install
- 18:02VM templates definition
- 20:11GitHub Actions integration
- 23:55Labels and runner customization
- 26:47Connection and security
- 28:54Scalability and runners
- 31:52Register runners in Kubernetes
- 33:39Reconciliation loop
- 34:03Summary
related talks
36mRunning the Runners: How CNCF Powers GitHub Actions at Scale
34mRunning the Runners: How CNCF Powers GitHub Actions at Scale
41mSecuring Self-Hosted GitHub Actions with Kubernetes & Actions-Runner-Controller
59mIntroduction to GitHub Actions
43mRewriting an Old CI/CD on GitHub Actions for 280 Contributors?
41mScaling GitHub Actions To the CNCF
30mSpend More Time Coding & Automate the Boring Stuff
50mGitHub Actions Self-Hosting Runners in k8s
