diff --git a/pkg/KubeArmorController/handlers/pod_mutation.go b/pkg/KubeArmorController/handlers/pod_mutation.go index 2d2d98cfba..563a50f63e 100644 --- a/pkg/KubeArmorController/handlers/pod_mutation.go +++ b/pkg/KubeArmorController/handlers/pod_mutation.go @@ -19,7 +19,7 @@ import ( // PodAnnotator Structure type PodAnnotator struct { Client client.Client - decoder *admission.Decoder + Decoder *admission.Decoder Logger logr.Logger Enforcer string } @@ -33,7 +33,7 @@ const appArmorAnnotation = "container.apparmor.security.beta.kubernetes.io/" func (a *PodAnnotator) Handle(ctx context.Context, req admission.Request) admission.Response { pod := &corev1.Pod{} - if err := a.decoder.Decode(req, pod); err != nil { + if err := a.Decoder.Decode(req, pod); err != nil { return admission.Errored(http.StatusBadRequest, err) } @@ -103,12 +103,6 @@ func (a *PodAnnotator) Handle(ctx context.Context, req admission.Request) admiss return admission.PatchResponseFromRaw(req.Object.Raw, marshaledPod) } -// InjectDecoder gets a decoder injected for us -func (a *PodAnnotator) InjectDecoder(d *admission.Decoder) error { - a.decoder = d - return nil -} - // == Add AppArmor annotations == // func appArmorAnnotator(pod *corev1.Pod) { podAnnotations := map[string]string{} diff --git a/pkg/KubeArmorController/main.go b/pkg/KubeArmorController/main.go index ce03bc66bd..2fe01b17fa 100644 --- a/pkg/KubeArmorController/main.go +++ b/pkg/KubeArmorController/main.go @@ -21,6 +21,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/healthz" "sigs.k8s.io/controller-runtime/pkg/log/zap" "sigs.k8s.io/controller-runtime/pkg/webhook" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" "github.com/go-logr/logr" securityv1 "github.com/kubearmor/KubeArmor/pkg/KubeArmorController/api/security.kubearmor.com/v1" @@ -97,6 +98,7 @@ func main() { Client: mgr.GetClient(), Logger: setupLog, Enforcer: detectEnforcer(setupLog), + Decoder: admission.NewDecoder(mgr.GetScheme()), }, })