mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 21:47:07 +00:00
decode admission responses into a fresh object
This commit is contained in:
parent
f1d9962fec
commit
9adcbd72fb
@ -242,20 +242,21 @@ func (a *GenericAdmissionWebhook) callHook(ctx context.Context, h *v1alpha1.Exte
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return &ErrCallingWebhook{WebhookName: h.Name, Reason: err}
|
return &ErrCallingWebhook{WebhookName: h.Name, Reason: err}
|
||||||
}
|
}
|
||||||
if err := client.Post().Context(ctx).Body(&request).Do().Into(&request); err != nil {
|
response := &admissionv1alpha1.AdmissionReview{}
|
||||||
|
if err := client.Post().Context(ctx).Body(&request).Do().Into(response); err != nil {
|
||||||
return &ErrCallingWebhook{WebhookName: h.Name, Reason: err}
|
return &ErrCallingWebhook{WebhookName: h.Name, Reason: err}
|
||||||
}
|
}
|
||||||
|
|
||||||
if request.Status.Allowed {
|
if response.Status.Allowed {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if request.Status.Result == nil {
|
if response.Status.Result == nil {
|
||||||
return fmt.Errorf("admission webhook %q denied the request without explanation", h.Name)
|
return fmt.Errorf("admission webhook %q denied the request without explanation", h.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
return &apierrors.StatusError{
|
return &apierrors.StatusError{
|
||||||
ErrStatus: *request.Status.Result,
|
ErrStatus: *response.Status.Result,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user