in pkg/controller/sub_controller/disaggregated_cluster/disaggregated_fe/statefulset.go [121:165]
func (dfc *DisaggregatedFEController) NewFEContainer(ddc *v1.DorisDisaggregatedCluster, cvs map[string]interface{}) corev1.Container {
c := resource.NewContainerWithCommonSpec(&ddc.Spec.FeSpec.CommonSpec)
c.Lifecycle = resource.LifeCycleWithPreStopScript(c.Lifecycle, sub.GetDisaggregatedPreStopScript(v1.DisaggregatedFE))
cmd, args := sub.GetDisaggregatedCommand(v1.DisaggregatedFE)
c.Command = cmd
c.Args = args
c.Name = "fe"
c.Ports = resource.GetDisaggregatedContainerPorts(cvs, v1.DisaggregatedFE)
c.Env = ddc.Spec.FeSpec.CommonSpec.EnvVars
c.Env = append(c.Env, resource.GetPodDefaultEnv()...)
c.Env = append(c.Env, dfc.newSpecificEnvs(ddc)...)
if ddc.Spec.FeSpec.ElectionNumber != nil {
c.Env = append(c.Env, corev1.EnvVar{
Name: resource.ENV_FE_ELECT_NUMBER,
Value: strconv.FormatInt(int64(*ddc.Spec.FeSpec.ElectionNumber), 10),
})
}
resource.BuildDisaggregatedProbe(&c, &ddc.Spec.FeSpec.CommonSpec, v1.DisaggregatedFE)
_, vms, _ := dfc.BuildVolumesVolumeMountsAndPVCs(cvs, v1.DisaggregatedFE, &ddc.Spec.FeSpec.CommonSpec)
_, cmvms := dfc.BuildDefaultConfigMapVolumesVolumeMounts(ddc.Spec.FeSpec.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(ddc.Spec.FeSpec.Secrets) != 0 {
_, secretVolumeMounts := resource.GetMultiSecretVolumeAndVolumeMountWithCommonSpec(&ddc.Spec.FeSpec.CommonSpec)
c.VolumeMounts = append(c.VolumeMounts, secretVolumeMounts...)
}
return c
}