diff --git a/pkg/controller/nodepodprobe/node_pod_probe_controller.go b/pkg/controller/nodepodprobe/node_pod_probe_controller.go index 73410980b5..95d9f7ee9a 100644 --- a/pkg/controller/nodepodprobe/node_pod_probe_controller.go +++ b/pkg/controller/nodepodprobe/node_pod_probe_controller.go @@ -63,7 +63,9 @@ var ( // Add creates a new NodePodProbe Controller and adds it to the Manager with default RBAC. The Manager will set fields on the Controller // and Start it when the Manager is Started. func Add(mgr manager.Manager) error { - if !utildiscovery.DiscoverGVK(controllerKind) || !utilfeature.DefaultFeatureGate.Enabled(features.PodProbeMarkerGate) { + if !utildiscovery.DiscoverGVK(controllerKind) || + !utilfeature.DefaultFeatureGate.Enabled(features.PodProbeMarkerGate) || + !utilfeature.DefaultFeatureGate.Enabled(features.KruiseDaemon) { return nil } return add(mgr, newReconciler(mgr)) diff --git a/pkg/webhook/podprobemarker/validating/probe_create_update_handler.go b/pkg/webhook/podprobemarker/validating/probe_create_update_handler.go index 8870766f9b..b552046871 100644 --- a/pkg/webhook/podprobemarker/validating/probe_create_update_handler.go +++ b/pkg/webhook/podprobemarker/validating/probe_create_update_handler.go @@ -24,6 +24,9 @@ import ( "regexp" "strings" + "github.com/openkruise/kruise/pkg/features" + utilfeature "github.com/openkruise/kruise/pkg/util/feature" + "github.com/openkruise/kruise/apis/apps/pub" appsv1alpha1 "github.com/openkruise/kruise/apis/apps/v1alpha1" admissionv1 "k8s.io/api/admission/v1" @@ -68,6 +71,12 @@ func (h *PodProbeMarkerCreateUpdateHandler) Handle(ctx context.Context, req admi if err != nil { return admission.Errored(http.StatusBadRequest, err) } + if !utilfeature.DefaultFeatureGate.Enabled(features.PodProbeMarkerGate) { + return admission.Errored(http.StatusForbidden, fmt.Errorf("feature-gate %s is not enabled", features.PodProbeMarkerGate)) + } + if !utilfeature.DefaultFeatureGate.Enabled(features.KruiseDaemon) { + return admission.Errored(http.StatusForbidden, fmt.Errorf("feature-gate %s is not enabled", features.KruiseDaemon)) + } var old *appsv1alpha1.PodProbeMarker //when Operation is update, decode older object if req.AdmissionRequest.Operation == admissionv1.Update {