in controllers/api_reconcile.go [58:116]
func createApiDeployment(cluster *dsv1alpha1.DSApi) *v1.Deployment {
ApiDeployment := v1.Deployment{
ObjectMeta: metav1.ObjectMeta{
Name: dsv1alpha1.DsApiDeploymentValue,
Namespace: cluster.Namespace,
},
Spec: v1.DeploymentSpec{
Replicas: int32Ptr(cluster.Spec.Replicas),
Selector: &metav1.LabelSelector{
MatchLabels: map[string]string{
dsv1alpha1.DsAppName: dsv1alpha1.DsApi,
},
},
Template: corev1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
dsv1alpha1.DsAppName: dsv1alpha1.DsApi,
},
},
Spec: corev1.PodSpec{
ServiceAccountName: dsv1alpha1.DsServiceAccount,
Containers: []corev1.Container{{
Name: dsv1alpha1.DsApi,
Image: ImageName(cluster.Spec.Repository, cluster.Spec.Version),
ImagePullPolicy: corev1.PullIfNotPresent,
Env: []corev1.EnvVar{
{
Name: dsv1alpha1.EnvZookeeper,
Value: cluster.Spec.ZookeeperConnect,
},
{
Name: dsv1alpha1.DataSourceDriveName,
Value: cluster.Spec.Datasource.DriveName,
},
{
Name: dsv1alpha1.DataSourceUrl,
Value: cluster.Spec.Datasource.Url,
},
{
Name: dsv1alpha1.DataSourceUserName,
Value: cluster.Spec.Datasource.UserName,
},
{
Name: dsv1alpha1.DataSourcePassWord,
Value: cluster.Spec.Datasource.Password,
},
},
Ports: []corev1.ContainerPort{{
ContainerPort: dsv1alpha1.DsApiPort,
},
},
},
},
},
},
},
}
return &ApiDeployment
}