diff --git a/api/v1alpha1/promise_webhook.go b/api/v1alpha1/promise_webhook.go index 659bd692..c165a1ae 100644 --- a/api/v1alpha1/promise_webhook.go +++ b/api/v1alpha1/promise_webhook.go @@ -48,6 +48,13 @@ func (p *Promise) SetupWebhookWithManager(mgr ctrl.Manager, cs *clientset.Client Complete() } +var _ webhook.Defaulter = &Promise{} + +// Default implements webhook.Defaulter so a webhook will be registered for the type +func (p *Promise) Default() { + promiselog.Info("default", "name", p.Name) +} + // +kubebuilder:webhook:path=/validate-platform-kratix-io-v1alpha1-promise,mutating=false,failurePolicy=fail,sideEffects=None,groups=platform.kratix.io,resources=promises,verbs=create;update,versions=v1alpha1,name=vpromise.kb.io,admissionReviewVersions=v1 var _ webhook.Validator = &Promise{} diff --git a/config/default/webhookcainjection_patch.yaml b/config/default/webhookcainjection_patch.yaml index 27a17339..b6575943 100644 --- a/config/default/webhookcainjection_patch.yaml +++ b/config/default/webhookcainjection_patch.yaml @@ -1,18 +1,18 @@ # This patch add annotation to admission webhook config and # the variables $(CERTIFICATE_NAMESPACE) and $(CERTIFICATE_NAME) will be substituted by kustomize. -#apiVersion: admissionregistration.k8s.io/v1 -#kind: MutatingWebhookConfiguration -#metadata: -# labels: -# app.kubernetes.io/name: mutatingwebhookconfiguration -# app.kubernetes.io/instance: mutating-webhook-configuration -# app.kubernetes.io/component: webhook -# app.kubernetes.io/created-by: kratix -# app.kubernetes.io/part-of: kratix -# app.kubernetes.io/managed-by: kustomize -# name: mutating-webhook-configuration -# annotations: -# cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) +apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + labels: + app.kubernetes.io/name: mutatingwebhookconfiguration + app.kubernetes.io/instance: mutating-webhook-configuration + app.kubernetes.io/component: webhook + app.kubernetes.io/created-by: kratix + app.kubernetes.io/part-of: kratix + app.kubernetes.io/managed-by: kustomize + name: mutating-webhook-configuration + annotations: + cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration diff --git a/config/webhook/manifests.yaml b/config/webhook/manifests.yaml index 94f4e89c..ca3fdf6a 100644 --- a/config/webhook/manifests.yaml +++ b/config/webhook/manifests.yaml @@ -1,5 +1,31 @@ --- apiVersion: admissionregistration.k8s.io/v1 +kind: MutatingWebhookConfiguration +metadata: + name: mutating-webhook-configuration +webhooks: +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: webhook-service + namespace: system + path: /mutate-platform-kratix-io-v1alpha1-promise + failurePolicy: Fail + name: mpromise.kb.io + rules: + - apiGroups: + - platform.kratix.io + apiVersions: + - v1alpha1 + operations: + - CREATE + - UPDATE + resources: + - promises + sideEffects: None +--- +apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: name: validating-webhook-configuration