Skip to content

Commit

Permalink
internal/generate/clusterserviceversion: default admissionReviewVersi…
Browse files Browse the repository at this point in the history
…ons and sideEffects
  • Loading branch information
estroz committed Sep 15, 2020
1 parent 838ed74 commit a8ec8f1
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 0 deletions.
7 changes: 7 additions & 0 deletions changelog/fragments/csv-whdescs-defaults.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
entries:
- description: >
Default a CSV's `spec.webhookDefinition[].admissionReviewVersions` to "v1beta1".
kind: addition
- description: >
Default a CSV's `spec.webhookDefinition[].sideEffects` to "None".
kind: addition
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,9 @@ func applyWebhooks(c *collector.Manifests, csv *operatorsv1alpha1.ClusterService
csv.Spec.WebhookDefinitions = webhookDescriptions
}

// The default AdmissionReviewVersions set in a CSV if not set in the source webhook.
var defaultAdmissionReviewVersions = []string{"v1beta1"}

// validatingToWebhookDescription transforms webhook into a WebhookDescription.
func validatingToWebhookDescription(webhook admissionregv1.ValidatingWebhook) operatorsv1alpha1.WebhookDescription {
description := operatorsv1alpha1.WebhookDescription{
Expand All @@ -292,6 +295,14 @@ func validatingToWebhookDescription(webhook admissionregv1.ValidatingWebhook) op
TimeoutSeconds: webhook.TimeoutSeconds,
AdmissionReviewVersions: webhook.AdmissionReviewVersions,
}
if len(description.AdmissionReviewVersions) == 0 {
description.AdmissionReviewVersions = defaultAdmissionReviewVersions
}
if description.SideEffects == nil {
seNone := admissionregv1.SideEffectClassNone
description.SideEffects = &seNone
}

if serviceRef := webhook.ClientConfig.Service; serviceRef != nil {
if serviceRef.Port != nil {
description.ContainerPort = *serviceRef.Port
Expand All @@ -316,6 +327,14 @@ func mutatingToWebhookDescription(webhook admissionregv1.MutatingWebhook) operat
AdmissionReviewVersions: webhook.AdmissionReviewVersions,
ReinvocationPolicy: webhook.ReinvocationPolicy,
}
if len(description.AdmissionReviewVersions) == 0 {
description.AdmissionReviewVersions = defaultAdmissionReviewVersions
}
if description.SideEffects == nil {
seNone := admissionregv1.SideEffectClassNone
description.SideEffects = &seNone
}

if serviceRef := webhook.ClientConfig.Service; serviceRef != nil {
if serviceRef.Port != nil {
description.ContainerPort = *serviceRef.Port
Expand Down

0 comments on commit a8ec8f1

Please sign in to comment.