func createApiService()

in controllers/api_reconcile.go [29:56]


func createApiService(cluster *dsv1alpha1.DSApi) *corev1.Service {
	service := corev1.Service{
		ObjectMeta: metav1.ObjectMeta{
			Name:      dsv1alpha1.DsApiServiceValue,
			Namespace: cluster.Namespace,
			Labels:    map[string]string{dsv1alpha1.DsAppName: dsv1alpha1.DsApiServiceValue},
		},
		Spec: corev1.ServiceSpec{
			Type:     corev1.ServiceTypeLoadBalancer,
			Selector: map[string]string{dsv1alpha1.DsAppName: dsv1alpha1.DsApi},
			Ports: []corev1.ServicePort{
				{
					Protocol: corev1.ProtocolTCP,
					Port:     *int32Ptr(int32(dsv1alpha1.DsApiPort)),
					TargetPort: intstr.IntOrString{
						IntVal: dsv1alpha1.DsApiPort,
					},
				},
			},
		},
	}
	if cluster.Spec.NodePort > 0 {
		apiLogger.Info("the nodePort is not nil", "nodePort", cluster.Spec.NodePort)
		service.Spec.Type = corev1.ServiceTypeNodePort
		service.Spec.Ports[0].NodePort = cluster.Spec.NodePort
	}
	return &service
}