File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -225,8 +225,18 @@ func CreateCRDs(config *rest.Config, crds []*apiextensionsv1beta1.CustomResource
225
225
// Create each CRD
226
226
for _ , crd := range crds {
227
227
log .V (1 ).Info ("installing CRD" , "crd" , crd .Name )
228
- if _ , err := cs .ApiextensionsV1beta1 ().CustomResourceDefinitions ().Create (crd ); err != nil {
229
- return err
228
+ var err error
229
+ if _ , err = cs .ApiextensionsV1beta1 ().CustomResourceDefinitions ().Get (crd .Name , metav1.GetOptions {}); err != nil {
230
+ if apierrors .IsNotFound (err ) {
231
+ _ , err = cs .ApiextensionsV1beta1 ().CustomResourceDefinitions ().Create (crd )
232
+ }
233
+ if apierrors .IsAlreadyExists (err ) {
234
+ log .V (1 ).Info ("CRD already exists, updating" , "crd" , crd .Name )
235
+ _ , err = cs .ApiextensionsV1beta1 ().CustomResourceDefinitions ().Update (crd )
236
+ }
237
+ if err != nil {
238
+ return err
239
+ }
230
240
}
231
241
}
232
242
return nil
You can’t perform that action at this time.
0 commit comments