in controllers/flinkcluster/flinkcluster_converter.go [344:415]
func newJobManagerIngress(
flinkCluster *v1beta1.FlinkCluster) *networkingv1.Ingress {
var jobManagerIngressSpec = flinkCluster.Spec.JobManager.Ingress
if jobManagerIngressSpec == nil {
return nil
}
var clusterNamespace = flinkCluster.Namespace
var clusterName = flinkCluster.Name
var jobManagerServiceName = getJobManagerServiceName(clusterName)
var ingressName = getJobManagerIngressName(clusterName)
var ingressAnnotations = jobManagerIngressSpec.Annotations
var ingressHost string
var ingressTLS []networkingv1.IngressTLS
var labels = mergeLabels(
getComponentLabels(flinkCluster, "jobmanager"),
getRevisionHashLabels(&flinkCluster.Status.Revision))
var pathType = networkingv1.PathTypePrefix
if jobManagerIngressSpec.HostFormat != nil {
ingressHost = getJobManagerIngressHost(*jobManagerIngressSpec.HostFormat, clusterName)
}
if jobManagerIngressSpec.UseTLS != nil && *jobManagerIngressSpec.UseTLS {
var secretName string
var hosts []string
if ingressHost != "" {
hosts = []string{ingressHost}
}
if jobManagerIngressSpec.TLSSecretName != nil {
secretName = *jobManagerIngressSpec.TLSSecretName
}
if hosts != nil || secretName != "" {
ingressTLS = []networkingv1.IngressTLS{{
Hosts: hosts,
SecretName: secretName,
}}
}
}
var jobManagerIngress = &networkingv1.Ingress{
ObjectMeta: metav1.ObjectMeta{
Namespace: clusterNamespace,
Name: ingressName,
OwnerReferences: []metav1.OwnerReference{
ToOwnerReference(flinkCluster)},
Labels: labels,
Annotations: ingressAnnotations,
},
Spec: networkingv1.IngressSpec{
TLS: ingressTLS,
Rules: []networkingv1.IngressRule{{
Host: ingressHost,
IngressRuleValue: networkingv1.IngressRuleValue{
HTTP: &networkingv1.HTTPIngressRuleValue{
Paths: []networkingv1.HTTPIngressPath{{
Path: "/",
PathType: &pathType,
Backend: networkingv1.IngressBackend{
Service: &networkingv1.IngressServiceBackend{
Name: jobManagerServiceName,
Port: networkingv1.ServiceBackendPort{
Name: "ui",
},
},
},
}},
},
},
}},
},
}
return jobManagerIngress
}