func newDeploymentForCR()

in pkg/controller/console/console_controller.go [187:229]


func newDeploymentForCR(cr *rocketmqv1alpha1.Console) *appsv1.Deployment {
	env := corev1.EnvVar{
		Name:  "JAVA_OPTS",
		Value: fmt.Sprintf("-Drocketmq.namesrv.addr=%s -Dcom.rocketmq.sendMessageWithVIPChannel=false", share.NameServersStr),
	}

	dep := &appsv1.Deployment{
		ObjectMeta: metav1.ObjectMeta{
			Name:      cr.Name,
			Namespace: cr.Namespace,
		},
		Spec: appsv1.DeploymentSpec{
			Replicas: cr.Spec.ConsoleDeployment.Spec.Replicas,
			Selector: &metav1.LabelSelector{
				MatchLabels: cr.Spec.ConsoleDeployment.Spec.Selector.MatchLabels,
			},
			Template: corev1.PodTemplateSpec{
				ObjectMeta: metav1.ObjectMeta{
					Labels:      cr.Spec.ConsoleDeployment.Spec.Template.ObjectMeta.Labels,
					Annotations: cr.Spec.ConsoleDeployment.Spec.Template.ObjectMeta.Annotations,
				},
				Spec: corev1.PodSpec{
					ServiceAccountName: cr.Spec.ConsoleDeployment.Spec.Template.Spec.ServiceAccountName,
					Affinity:           cr.Spec.ConsoleDeployment.Spec.Template.Spec.Affinity,
					ImagePullSecrets:   cr.Spec.ConsoleDeployment.Spec.Template.Spec.ImagePullSecrets,
					Containers: []corev1.Container{{
						Resources:       cr.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].Resources,
						Image:           cr.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].Image,
						Args:            cr.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].Args,
						Name:            cr.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].Name,
						ImagePullPolicy: cr.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].ImagePullPolicy,
						Env:             append(cr.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].Env, env),
						Ports:           cr.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].Ports,
						VolumeMounts:    cr.Spec.ConsoleDeployment.Spec.Template.Spec.Containers[0].VolumeMounts,
					}},
					Volumes: cr.Spec.ConsoleDeployment.Spec.Template.Spec.Volumes,
				},
			},
		},
	}

	return dep
}