Open johnbelamaric opened 1 year ago
The following presentation captures additional consideration when it comes to API design and identifies some actions we need to address as a community to define development best practices.
https://docs.google.com/presentation/d/1DpMxnGYCmO1gPdLYGQICrl5ocJalBLMdZ9JOcCp-laI/edit?usp=sharing
Some more notes / best practice thoughts around K8s API design:
The Configuration-as-Data methodology has the goal to make the hydration process:
To that end, there are some best practices that are helpful when designing CRDs and kpt packages:
/area docs
Doc from K8s community (David Eads mostly): https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/controllers.md
As part of Nephio, we are designing CRD-based APIs for network functions and network topology. We are also developing open source controllers and development kits for vendors to build their own controllers. Given that CRDs are only a few years old, very few people have extensive experience developing high quality APIs and controllers. Thus, a series of talks, blogs, and other educational initiatives is necessary to ensure API and controller quality. Ideas:
There may well be some prior art on this (certainly there are the published K8s API conventions, for example). So first thing should be to try to identify that. Next, we can work with the K8s community on developing some of this material, as it is applicable outside of Nephio as well.