Skip to Content
Deploying ApplicationsOpen an application through Portal

Open an application through Portal

On a managed native cluster, supported templates enable Portal ingress by default. Once deployment completes and the route is ready, open the application using its host link in the Runtime tab on its Portal details page. The HTTPS URL works for signed-in members of that application’s Context, including when the cluster runs on your laptop. You do not need a domain, certificate or public cluster IP.

The Runtime link opens the application’s configured starting page, such as /hello. Direct links to another application path keep that path after sign-in.

New URLs include a short persistent identifier and, for non-production deployments, end with -functional, -nft, -integration or -extended before the domain. Production URLs omit the stage suffix. Existing URLs stay unchanged.

In the creation wizard, Ingress follows the selected template’s defaults. Disable it when the application should have no browser endpoint. Public is shown as unavailable until public ingress is configured and supported.

The generated app.yaml records your choice:

config: ingress: enabled: true type: portal

Disabling ingress removes the generated Ingress on the next deployment. It does not change the application’s Service or prevent Service-based pipeline tests. Portal access does not forward your Portal identity or credentials to the app; an app may provide its own login and cookies.

Access requires a fresh ready report from the managed route. If the URL is unavailable, check deployment status and the cluster’s Ingress and VPN add-on status, then refresh. Your operator must configure the hosted application gateway and wildcard domain once for the platform instance.

Legacy platform ingress

The following configuration applies to the predecessor platform and its platform-ingress class. It does not configure native Portal ingress.

To expose an HTTP service over TLS, you add a Kubernetes Ingress resource, e.g.

apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: external-dns.alpha.kubernetes.io/hostname: { { service-host } } external-dns.alpha.kubernetes.io/target: { { ingress-host } } name: reference-service namespace: golang-dev spec: ingressClassName: platform-ingress rules: - host: { { service-host } } http: paths: - backend: service: name: reference-service port: number: 80 path: / pathType: ImplementationSpecific

The important parts are:

  • external-dns.alpha.kubernetes.io/target must match one of the ingress domains defined in environment config yaml file in Environments Repo
  • external-dns.alpha.kubernetes.io/hostname has to be a subdomain of the target
  • ingressClassName must be platform-ingress

Your service will now be available over the Internet over TLS.

To have a deeper understanding of how the Platform Ingress feature is designed, check the Platform Ingress Overview.