{{- define "karmada.webhook.configuration" -}} {{ $name := include "karmada.name" .}} {{ $namespace := include "karmada.namespace" .}} --- apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: name: mutating-config labels: app: mutating-config webhooks: - name: propagationpolicy.karmada.io rules: - operations: ["CREATE", "UPDATE"] apiGroups: ["policy.karmada.io"] apiVersions: ["*"] resources: ["propagationpolicies"] scope: "Namespaced" clientConfig: url: https://{{ $name }}-webhook.{{ $namespace }}.svc:443/mutate-propagationpolicy {{- include "karmada.webhook.caBundle" . | nindent 6 }} failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] timeoutSeconds: 3 - name: clusterpropagationpolicy.karmada.io rules: - operations: ["CREATE", "UPDATE"] apiGroups: ["policy.karmada.io"] apiVersions: ["*"] resources: ["clusterpropagationpolicies"] scope: "Cluster" clientConfig: url: https://{{ $name }}-webhook.{{ $namespace }}.svc:443/mutate-clusterpropagationpolicy {{- include "karmada.webhook.caBundle" . | nindent 6 }} failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] timeoutSeconds: 3 - name: overridepolicy.karmada.io rules: - operations: ["CREATE", "UPDATE"] apiGroups: ["policy.karmada.io"] apiVersions: ["*"] resources: ["overridepolicies"] scope: "Namespaced" clientConfig: url: https://{{ $name }}-webhook.{{ $namespace }}.svc:443/mutate-overridepolicy {{- include "karmada.webhook.caBundle" . | nindent 6 }} failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] timeoutSeconds: 3 - name: clusteroverridepolicy.karmada.io rules: - operations: ["CREATE", "UPDATE"] apiGroups: ["policy.karmada.io"] apiVersions: ["*"] resources: ["clusteroverridepolicies"] scope: "Cluster" clientConfig: url: https://{{ $name }}.{{ $namespace }}.svc:443/validate-clusteroverridepolicy {{- include "karmada.webhook.caBundle" . | nindent 6 }} failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] timeoutSeconds: 3 - name: work.karmada.io rules: - operations: ["CREATE", "UPDATE"] apiGroups: ["work.karmada.io"] apiVersions: ["*"] resources: ["works"] scope: "Namespaced" clientConfig: url: https://{{ $name }}-webhook.{{ $namespace }}.svc:443/mutate-work {{- include "karmada.webhook.caBundle" . | nindent 6 }} failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] timeoutSeconds: 3 --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: name: validating-config labels: app: validating-config webhooks: - name: propagationpolicy.karmada.io rules: - operations: ["CREATE", "UPDATE"] apiGroups: ["policy.karmada.io"] apiVersions: ["*"] resources: ["propagationpolicies"] scope: "Namespaced" clientConfig: url: https://{{ $name }}-webhook.{{ $namespace }}.svc:443/validate-propagationpolicy {{- include "karmada.webhook.caBundle" . | nindent 6 }} failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] timeoutSeconds: 3 - name: clusterpropagationpolicy.karmada.io rules: - operations: ["CREATE", "UPDATE"] apiGroups: ["policy.karmada.io"] apiVersions: ["*"] resources: ["clusterpropagationpolicies"] scope: "Cluster" clientConfig: url: https://{{ $name }}-webhook.{{ $namespace }}.svc:443/validate-clusterpropagationpolicy {{- include "karmada.webhook.caBundle" . | nindent 6 }} failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] timeoutSeconds: 3 - name: overridepolicy.karmada.io rules: - operations: ["CREATE", "UPDATE"] apiGroups: ["policy.karmada.io"] apiVersions: ["*"] resources: ["overridepolicies"] scope: "Namespaced" clientConfig: url: https://{{ $name }}-webhook.{{ $namespace }}.svc:443/validate-overridepolicy {{- include "karmada.webhook.caBundle" . | nindent 6 }} failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] timeoutSeconds: 3 - name: config.karmada.io rules: - operations: ["CREATE", "UPDATE"] apiGroups: ["config.karmada.io"] apiVersions: ["*"] resources: ["resourceinterpreterwebhookconfigurations"] scope: "Cluster" clientConfig: url: https://{{ $name }}-webhook.{{ $namespace }}.svc:443/validate-resourceinterpreterwebhookconfiguration {{- include "karmada.webhook.caBundle" . | nindent 6 }} failurePolicy: Fail sideEffects: None admissionReviewVersions: ["v1"] timeoutSeconds: 3 {{- end -}}