private static Ingress buildIngress()

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();
  }