~/talk

Tutorial: Mastering Multi-version CRDs: From YAML to a Serious Development Project

name:Joe Betz
links:none on file
slides:none on file

Starts from a YAML-only CRD and converts it into a multi-version, production-grade API using codegen and webhooks. Uses controller-gen to emit OpenAPI schemas, enables pruning and v1 defaulting, builds a secure conversion webhook (and a validating admission webhook) and a simulator plus controllers deployed to GKE/kind. Tests use Go fuzzer round-trip checks (fixed a nil vs empty-slice bug) with 1000+ round-trip tests to prove conversions are lossless. Requires Kubernetes 1.15/1.16 features.

AI-written summary · about

  1. 0:00Intro
  2. 3:22Getting Started
  3. 9:17Advanced Features
  4. 14:52Example
  5. 15:17Pressure
  6. 16:41Custom Resources
  7. 17:53Multiple Versions
  8. 19:04Simulator UI
  9. 19:27Looking at the Code
  10. 21:49Running the Commands
  11. 22:38Running the Simulator
  12. 23:46Pressure Changes
  13. 24:19Cluster Setup
  14. 26:34Device CID
  15. 27:18Open API
  16. 34:39Pruning
  17. 35:16Missing fields
  18. 38:44Naming
  19. 46:47Debugging
  20. 49:32Multiversion
  21. 51:22Type
  22. 52:10Convert
  23. 55:00Queue Cutter
  24. 57:49Conversion Go
  25. 58:23Conversion Function
  26. 59:49Testing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.