Skip to content

Commit ac3c886

Browse files
committed
fix: kubectl-kcp crd snapshot missing support for webhook. Fail with error message instead of crash.
Signed-off-by: m-szalik <[email protected]>
1 parent 082970b commit ac3c886

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

sdk/apis/apis/v1alpha1/crd_to_apiresourceschema.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package v1alpha1
1818

1919
import (
20+
"errors"
2021
"fmt"
2122

2223
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
@@ -67,6 +68,12 @@ func CRDToAPIResourceSchema(crd *apiextensionsv1.CustomResourceDefinition, prefi
6768
}
6869

6970
if crd.Spec.Conversion.Webhook.ClientConfig != nil {
71+
if crd.Spec.Conversion.Webhook.ClientConfig.Service != nil {
72+
return nil, errors.New("webhooks that refer to services are not supported, please use URL instead")
73+
}
74+
if crd.Spec.Conversion.Webhook.ClientConfig.URL == nil {
75+
return nil, errors.New("webhooks URL must be set")
76+
}
7077
crConversion.Webhook.ClientConfig = &WebhookClientConfig{
7178
URL: *crd.Spec.Conversion.Webhook.ClientConfig.URL,
7279
CABundle: crd.Spec.Conversion.Webhook.ClientConfig.CABundle,

0 commit comments

Comments
 (0)