in operator/pkg/operator/injector/webhook.go [76:99]
func (r *JavaagentInjector) findMatchedSwAgentL(ctx context.Context, req admission.Request, pod *corev1.Pod) *v1alpha1.SwAgentList {
swAgentList := &v1alpha1.SwAgentList{}
if err := r.Client.List(ctx, swAgentList, client.InNamespace(req.Namespace)); err != nil {
javaagentInjectorLog.Error(err, "get SwAgent error")
}
// selector
var availableSwAgentL []v1alpha1.SwAgent
for _, swAgent := range swAgentList.Items {
isMatch := true
if len(swAgent.Spec.Selector) != 0 {
for k, v := range swAgent.Spec.Selector {
if !strings.EqualFold(v, pod.Labels[k]) {
isMatch = false
}
}
}
if isMatch {
availableSwAgentL = append(availableSwAgentL, swAgent)
}
}
swAgentList.Items = availableSwAgentL
return swAgentList
}