in pkg/controller/sub_controller/disaggregated_cluster/computegroups/statefulset.go [124:169]
func (dcgs *DisaggregatedComputeGroupsController) NewCGContainer(ddc *dv1.DorisDisaggregatedCluster, cvs map[string]interface{}, cg *dv1.ComputeGroup) corev1.Container {
if cg.EnableWorkloadGroup {
if cg.ContainerSecurityContext == nil {
cg.ContainerSecurityContext = &corev1.SecurityContext{}
}
cg.ContainerSecurityContext.Privileged = pointer.Bool(true)
}
c := resource.NewContainerWithCommonSpec(&cg.CommonSpec)
c.Lifecycle = resource.LifeCycleWithPreStopScript(c.Lifecycle, sub.GetDisaggregatedPreStopScript(dv1.DisaggregatedBE))
cmd, args := sub.GetDisaggregatedCommand(dv1.DisaggregatedBE)
c.Command = cmd
c.Args = args
c.Name = "compute"
c.Ports = resource.GetDisaggregatedContainerPorts(cvs, dv1.DisaggregatedBE)
c.Env = cg.CommonSpec.EnvVars
c.Env = append(c.Env, resource.GetPodDefaultEnv()...)
c.Env = append(c.Env, dcgs.newSpecificEnvs(ddc, cg)...)
resource.BuildDisaggregatedProbe(&c, &cg.CommonSpec, dv1.DisaggregatedBE)
_, vms, _ := dcgs.BuildVolumesVolumeMountsAndPVCs(cvs, dv1.DisaggregatedBE, &cg.CommonSpec)
_, cmvms := dcgs.BuildDefaultConfigMapVolumesVolumeMounts(cg.ConfigMaps)
c.VolumeMounts = vms
if c.VolumeMounts == nil {
c.VolumeMounts = cmvms
} else {
c.VolumeMounts = append(c.VolumeMounts, cmvms...)
}
// add basic auth secret volumeMount
if ddc.Spec.AuthSecret != "" {
c.VolumeMounts = append(c.VolumeMounts, corev1.VolumeMount{
Name: auth_volume_name,
MountPath: basic_auth_path,
})
}
if len(cg.Secrets) != 0 {
_, secretVolumeMounts := resource.GetMultiSecretVolumeAndVolumeMountWithCommonSpec(&cg.CommonSpec)
c.VolumeMounts = append(c.VolumeMounts, secretVolumeMounts...)
}
return c
}