in appconfigmgrv2/controllers/services.go [126:161]
func services(t *appconfig.AppEnvConfigTemplateV2) []*corev1.Service {
var list []*corev1.Service
for i := range t.Spec.Services {
typ := corev1.ServiceTypeClusterIP
if t.Spec.Services[i].Ingress != nil {
typ = corev1.ServiceTypeNodePort
}
s := &corev1.Service{
ObjectMeta: metav1.ObjectMeta{
Name: serviceName(t, i),
Namespace: t.Namespace,
},
Spec: corev1.ServiceSpec{
Type: typ,
Selector: map[string]string{
"app": t.Spec.Services[i].DeploymentApp,
},
Ports: []corev1.ServicePort{
{
// NOTE: Istio requires prefixed port names such as `http-___`.
Name: "http-default",
Protocol: t.Spec.Services[i].DeploymentPortProtocol,
Port: t.Spec.Services[i].ServicePort,
TargetPort: intstr.IntOrString{
IntVal: t.Spec.Services[i].DeploymentPort,
},
},
},
},
}
list = append(list, s)
}
return list
}