feat(crd-gen): automate the CRDs generation with validations for APIs (#75)

- To generate the CRD spec `make manifest` generate then under
  deploy/yamls directory
- added a update-crd script to automate the steps to generate
  CRDs and its validation of each types

Signed-off-by: prateekpandey14 <prateek.pandey@mayadata.io>
This commit is contained in:
Prateek Pandey 2020-04-01 17:54:20 +05:30 committed by GitHub
parent 8a9ac43ab5
commit 6033789c17
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 509 additions and 82 deletions

View file

@ -85,14 +85,14 @@ func (cb *SnapControllerBuilder) withOpenEBSClient(cs clientset.Interface) *Snap
// withSnapLister fills snap lister to controller object.
func (cb *SnapControllerBuilder) withSnapLister(sl informers.SharedInformerFactory) *SnapControllerBuilder {
snapInformer := sl.Openebs().V1alpha1().ZFSSnapshots()
snapInformer := sl.Zfs().V1alpha1().ZFSSnapshots()
cb.SnapController.snapLister = snapInformer.Lister()
return cb
}
// withSnapSynced adds object sync information in cache to controller object.
func (cb *SnapControllerBuilder) withSnapSynced(sl informers.SharedInformerFactory) *SnapControllerBuilder {
snapInformer := sl.Openebs().V1alpha1().ZFSSnapshots()
snapInformer := sl.Zfs().V1alpha1().ZFSSnapshots()
cb.SnapController.snapSynced = snapInformer.Informer().HasSynced
return cb
}
@ -116,7 +116,7 @@ func (cb *SnapControllerBuilder) withRecorder(ks kubernetes.Interface) *SnapCont
// withEventHandler adds event handlers controller object.
func (cb *SnapControllerBuilder) withEventHandler(cvcInformerFactory informers.SharedInformerFactory) *SnapControllerBuilder {
cvcInformer := cvcInformerFactory.Openebs().V1alpha1().ZFSSnapshots()
cvcInformer := cvcInformerFactory.Zfs().V1alpha1().ZFSSnapshots()
// Set up an event handler for when Snap resources change
cvcInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
AddFunc: cb.SnapController.addSnap,