in operator/controllers/operator/javaagent_controller.go [182:205]
func (r *JavaAgentReconciler) getSwAgent(ctx context.Context, req ctrl.Request,
swAgentList *operatorv1alpha1.SwAgentList, pod *core.Pod,
) (*operatorv1alpha1.SwAgent, error) {
if err := r.Client.List(ctx, swAgentList, client.InNamespace(req.Namespace)); err != nil {
return nil, err
}
// selector
var lastMatchedSwAgent *operatorv1alpha1.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 {
lastMatchedSwAgent = &swAgent
}
}
return lastMatchedSwAgent, nil
}