in pkg/manifests/nginx.go [305:349]
func newNginxIngressControllerService(conf *config.Config, ingressConfig *NginxIngressConfig) *corev1.Service {
annotations := make(map[string]string)
if ingressConfig != nil && ingressConfig.ServiceConfig != nil {
for k, v := range ingressConfig.ServiceConfig.Annotations {
annotations[k] = v
}
}
ret := &corev1.Service{
TypeMeta: metav1.TypeMeta{
Kind: "Service",
APIVersion: "v1",
},
ObjectMeta: metav1.ObjectMeta{
Name: ingressConfig.ResourceName,
Namespace: conf.NS,
Labels: AddComponentLabel(GetTopLevelLabels(), "ingress-controller"),
Annotations: annotations,
},
Spec: corev1.ServiceSpec{
ExternalTrafficPolicy: corev1.ServiceExternalTrafficPolicyTypeLocal,
Type: corev1.ServiceTypeLoadBalancer,
Selector: ingressConfig.PodLabels(),
Ports: []corev1.ServicePort{
{
Name: "https",
Port: 443,
TargetPort: intstr.FromString("https"),
},
},
},
}
if !ingressConfig.HTTPDisabled {
ret.Spec.Ports = append([]corev1.ServicePort{
{
Name: "http",
Port: 80,
TargetPort: intstr.FromString("http"),
},
}, ret.Spec.Ports...)
}
return ret
}