Routing to multiple apps behind same DNS
When multiple applications want to use the same DNS of <subdomain>.endress.com there needs to be routing configurations. To allow this kind of setup we can provide a gateway.

HTTPRoute
The HTTPRoute has to be deployed by the application developers. A basic configuration of the route looks as follows:
apiVersion: gateway.networking.k8s.io/v1kind: HTTPRoutemetadata: name: <route name>spec: parentRefs: - name: gateway-waf namespace: next-gateway-waf sectionName: https-<company>-<project>[-<suffix>] rules: - matches: - path: type: PathPrefix value: /<routing path> backendRefs: - name: <name of kubernetes service> port: <port of kubernetes service>- route name : The name of the route can be chosen freely.
- parentRefs.name : needs to point to the section of the project (follows convention
https-<company>-<project>[-<suffix>]with a configurable suffix if there are multiple configurations in the same project. If used from another project, the name of the source project needs to be used). - routing path : path(s) that should route to the services configured in the
backendRefs. Other routing options than the path are possible ( see HTTPRoute). - backendRefs.name : Name of the Kubernetes service that routes to the application pods.
- backendRefs.port : Port of Kubernetes service.
Usage from other project
If project X creates a gateway behind DNS <subdomain>.endress.com, it is also possible to route traffic to other applications in a different project. This needs to be explicitly allowed and can be configured by the NEXT-Platform team.
Routing rules
There can be an unlimited number of HTTPRoute in potentially different namespaces, but the incoming request will only be routed to exactly one endpoint. It is in the responsibility of the application developers to configure routes that do not conflict. The matching rules can be found in the HTTPRouteRule reference.