forked from rook/rook
Finally! We can now stop editing manually our crds definition. Simply run `make crds-gen`. These two files: * `cluster/examples/kubernetes/ceph/crds.yaml` * `cluster/charts/rook-ceph/templates/resources.yaml` will be autogenerated for us. We rely on the controller-gen tool, it reads our API definitions from `pkg/apis/` and produces the CRD files accordingly. It uses "markers" to add extra yaml fields to the CRD, for instance we have a lot fields with: ``` nullable: true x-kubernetes-preserve-unknown-fields: true ``` The corresponding API type markers are: ``` // +kubebuilder:pruning:PreserveUnknownFields // +nullable ``` For more API convention see https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#optional-vs-required and for the markers see: https://book.kubebuilder.io/reference/markers/crd-validation.html Signed-off-by: Sébastien Han <seb@redhat.com>
Rook Feature Proposal
Please follow the design section guideline.