Skip to content

Commit 8e1263d

Browse files
authored
Merge pull request #1666 from sbueringer/pr-fix-modify-conversion-webhook-panic
🐛 envtest: fix CRD installation
2 parents 394eaa7 + f003102 commit 8e1263d

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

pkg/envtest/crd.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -359,21 +359,26 @@ func modifyConversionWebhooks(crds []apiextensionsv1.CustomResourceDefinition, s
359359
}
360360
url := pointer.StringPtr(fmt.Sprintf("https://%s/convert", hostPort))
361361

362-
for _, c := range crds {
362+
for i := range crds {
363363
// Continue if we're preserving unknown fields.
364-
if c.Spec.PreserveUnknownFields {
364+
if crds[i].Spec.PreserveUnknownFields {
365365
continue
366366
}
367367
// Continue if the GroupKind isn't registered as being convertible.
368368
if _, ok := convertibles[schema.GroupKind{
369-
Group: c.Spec.Group,
370-
Kind: c.Spec.Names.Kind,
369+
Group: crds[i].Spec.Group,
370+
Kind: crds[i].Spec.Names.Kind,
371371
}]; !ok {
372372
continue
373373
}
374-
c.Spec.Conversion.Strategy = apiextensionsv1.WebhookConverter
375-
c.Spec.Conversion.Webhook.ClientConfig.Service = nil
376-
c.Spec.Conversion.Webhook.ClientConfig = &apiextensionsv1.WebhookClientConfig{
374+
if crds[i].Spec.Conversion == nil {
375+
crds[i].Spec.Conversion = &apiextensionsv1.CustomResourceConversion{
376+
Webhook: &apiextensionsv1.WebhookConversion{},
377+
}
378+
}
379+
crds[i].Spec.Conversion.Strategy = apiextensionsv1.WebhookConverter
380+
crds[i].Spec.Conversion.Webhook.ConversionReviewVersions = []string{"v1", "v1beta1"}
381+
crds[i].Spec.Conversion.Webhook.ClientConfig = &apiextensionsv1.WebhookClientConfig{
377382
Service: nil,
378383
URL: url,
379384
CABundle: webhookOptions.LocalServingCAData,

0 commit comments

Comments
 (0)