OpenAPI Specs Towards Native User Experience of CRDs
Whenever kubectl creates or changes resources, OpenAPI is involved in the background. OpenAPI is a core technology for client-side validation, docs (kubectl explain), intelligent Kubernetes manifest c …
Talk Title | OpenAPI Specs Towards Native User Experience of CRDs |
Speakers | Stefan Schimanski (Prinicpal Software Engineer, Red Hat) |
Conference | KubeCon + CloudNativeCon Europe |
Conf Tag | |
Location | Barcelona, Spain |
Date | May 19-23, 2019 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
Whenever kubectl creates or changes resources, OpenAPI is involved in the background. OpenAPI is a core technology for client-side validation, docs (kubectl explain), intelligent Kubernetes manifest completion in IDEs and the starting point for client generation in other languages than Go.With 1.14, we start publishing OpenAPI specs for CRDs, kubectl explain for CRDs will start working. Providers of CRDs will want to create OpenAPI specs for their resources for a native user experience.The talk will cover:- Intro to OpenAPI specs- CRD validation using OpenAPI- OpenAPI based client generation- Typical Kubernetes API patterns expressed in OpenAPI- Towards a standard openapi-spec-gen to extract specs from Golang types- Expressivity and limits of OpenAPIStefan is a core contributor to API machinery, client-go and CRDs, and maintainers of the OpenAPI code in Kubernetes.