OpenAPI Specs – Towards Native User Experience of CRDs – Stefan Schimanski, Red Hat

46

OpenAPI Specs – Towards Native User Experience of CRDs – Stefan Schimanski, Red Hat

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 OpenAPI

Stefan is a core contributor to API machinery, client-go and CRDs, and maintainers of the OpenAPI code in Kubernetes.

sched.co/MPZz
Join us for KubeCon + CloudNativeCon in Shanghai June 24 – 26 and San Diego November 18 – 21! Learn more at kubecon.io. The conference features presentations from developers and end users of Kubernetes, Prometheus, Envoy and all of the other CNCF-hosted projects.
Join us for KubeCon + CloudNativeCon in San Diego November 18 – 21. Learn more at bit.ly/2WdUyQ6. The conference features presentations from developers and end users of Kubernetes, Prometheus, Envoy and all of the other CNCF-hosted projects.