Tutorial: Mastering Multi-version CRDs: From YAML to a Serious Development Project
Please bring your laptop fully charged as we will have limited charging stations available in the room.To prepare for the session, follow the setup instructions at: https://bit.ly/2JWsbxCCRDs have bec …
Talk Title | Tutorial: Mastering Multi-version CRDs: From YAML to a Serious Development Project |
Speakers | Stefan Schimanski (Prinicpal Software Engineer, Red Hat), Joe Betz (Software Engineer, Google) |
Conference | KubeCon + CloudNativeCon North America |
Conf Tag | |
Location | San Diego, CA, USA |
Date | Nov 15-21, 2019 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
Please bring your laptop fully charged as we will have limited charging stations available in the room.To prepare for the session, follow the setup instructions at: https://bit.ly/2JWsbxCCRDs have become the main vehicle to extend the Kubernetes API. They are ready to build serious products on-top of them. But with more and more features like admission and conversion they are no longer just a hundred lines of YAML, but involve real software development. In this talk/tutorial we will start with a YAML-only CRD project and step-by-step go through the development life-cycle towards a powerful multi-version CRD:- add schema validation using OpenAPI schema generators- enable pruning- add defaulting- add an admission webhook for powerful turing-complete validation- evolve the CRD to a new version with a conversion webhook- including comprehensive testing.On this journey we will learn a lot of about the expected webhook behaviour, how they fit into API machinery, and about API compatibility and good & bad API practices.