in spark-submission-worker/src/main/java/org/apache/spark/k8s/operator/utils/DriverServiceIngressUtils.java [66:94]
private static Ingress buildIngress(DriverServiceIngressSpec spec, Service service) {
ObjectMeta metadata = new ObjectMetaBuilder(spec.getIngressMetadata()).build();
IngressSpec ingressSpec = new IngressSpecBuilder(spec.getIngressSpec()).build();
if ((ingressSpec.getRules() == null || ingressSpec.getRules().isEmpty())
&& service.getSpec().getPorts() != null
&& !service.getSpec().getPorts().isEmpty()) {
// if no rule is provided, populate default path with backend to the associated service
ingressSpec =
new IngressSpecBuilder()
.addNewRule()
.withNewHttp()
.addNewPath()
.withPath("/")
.withPathType("ImplementationSpecific")
.withNewBackend()
.withNewService()
.withName(service.getMetadata().getName())
.withNewPort()
.withNumber(service.getSpec().getPorts().get(0).getPort())
.endPort()
.endService()
.endBackend()
.endPath()
.endHttp()
.endRule()
.build();
}
return new IngressBuilder().withMetadata(metadata).withSpec(ingressSpec).build();
}