in internal/controller/pod_controller.go [82:105]
func (a *PodAdmissionWebhook) handleCreatePodRequest(ctx context.Context, p corev1.Pod) (*corev1.Pod, error) {
l := logf.FromContext(ctx)
wl := &workload.PodWorkload{Pod: &p}
proxies, err := findMatchingProxies(ctx, a.Client, a.updater, wl)
if err != nil {
return nil, err
}
if len(proxies) == 0 {
return nil, nil
}
// Configure the pod, adding containers for each of the proxies
wlConfigErr := a.updater.ConfigureWorkload(wl, proxies)
if wlConfigErr != nil {
l.Error(wlConfigErr, "Unable to reconcile workload result in webhook: "+wlConfigErr.Error(),
"kind", wl.Pod.Kind, "ns", wl.Pod.Namespace, "name", wl.Pod.Name)
return nil, fmt.Errorf("there is an AuthProxyWorkloadConfiguration error reconciling this workload %v", wlConfigErr)
}
return wl.Pod, nil // updated pod
}