in pkg/cmd/podidentity/detect.go [362:403]
func (dc *detectCmd) addProxyContainer(containers []corev1.Container) []corev1.Container {
if containers == nil {
containers = make([]corev1.Container, 0)
}
for _, container := range containers {
if strings.HasPrefix(container.Image, fmt.Sprintf("%s/%s", imageRepository, proxyImageName)) {
return containers
}
}
logLevel := mlog.LevelInfo // somewhat arbitrary decision
proxyContainer := corev1.Container{
Name: proxyContainerName,
Image: proxyImage,
ImagePullPolicy: corev1.PullIfNotPresent,
Args: []string{
fmt.Sprintf("--proxy-port=%d", dc.proxyPort),
fmt.Sprintf("--log-level=%s", logLevel),
},
Ports: []corev1.ContainerPort{
{
ContainerPort: dc.proxyPort,
},
},
Lifecycle: &corev1.Lifecycle{
PostStart: &corev1.LifecycleHandler{
Exec: &corev1.ExecAction{
Command: []string{
"/proxy",
fmt.Sprintf("--proxy-port=%d", dc.proxyPort),
"--probe",
fmt.Sprintf("--log-level=%s", logLevel),
},
},
},
},
}
containers = append(containers, proxyContainer)
return containers
}