func()

in operator/pkg/operator/injector/injector.go [239:266]


func (s *SidecarInjectField) OverlaySwAgentCR(swAgentL *v1alpha1.SwAgentList) bool {
	// chose the last matched SwAgent
	if len(swAgentL.Items) > 0 {
		swAgent := swAgentL.Items[len(swAgentL.Items)-1]
		log.Info(fmt.Sprintf("agent %s loaded.", swAgent.Name))
		// shared volume, mount path is fixed
		s.SidecarVolume.Name = swAgent.Spec.SharedVolumeName
		s.SidecarVolume.VolumeSource.EmptyDir = &corev1.EmptyDirVolumeSource{}
		s.SidecarVolumeMount.Name = swAgent.Spec.SharedVolumeName
		s.SidecarVolumeMount.MountPath = mountPath

		// init container
		s.Initcontainer.Name = swAgent.Spec.JavaSidecar.Name
		s.Initcontainer.Image = swAgent.Spec.JavaSidecar.Image
		s.Initcontainer.Args = swAgent.Spec.JavaSidecar.Args
		s.Initcontainer.Command = swAgent.Spec.JavaSidecar.Command
		s.Initcontainer.VolumeMounts = append(s.Initcontainer.VolumeMounts, corev1.VolumeMount{
			Name:      swAgent.Spec.SharedVolumeName,
			MountPath: mountPath,
		})

		// target container
		s.Envs = swAgent.Spec.JavaSidecar.Env
		s.InjectContainer = swAgent.Spec.ContainerMatcher
	}

	return true
}