For the complete documentation index, see llms.txt. This page is also available as Markdown.

Ingress

Ingress is how traffic from the outside world reaches Supervisely running inside your cluster. The Helm chart generates the right ingress resources for you — you just tell it which controller you use and which domain to serve.

The chart does not install an ingress controller. You need one already running in the cluster (see the links below). The chart only creates the routing rules for it.

The two values you almost always set

ingress:
  enabled: true              # set false only if you handle routing yourself
  controller: traefik        # which controller to generate rules for
  host: supervisely.mycompany.com   # your domain
  • ingress.controller — which ingress controller you have. This decides which kind of resources the chart generates.

  • ingress.host — the domain name where Supervisely is reachable. This becomes the host in the generated ingress rule. Create a DNS record for it pointing at your ingress controller's external address.

Supported controllers

ingress.controller

Controller

Install docs

traefik (default)

Traefik

nginx

NGINX Ingress

projectcontour

Contour

gateway

Kubernetes Gateway API

istio

Istio

Sensible defaults for each controller are applied automatically, so most installs only need controller and host.

Per-controller options

Extra options go under ingress.options. You only need these if the defaults don't match your setup.

NGINX

Traefik

Istio

Istio routes through an existing Gateway, so you reference it instead of setting a TLS secret:

Gateway API

Gateway API is the official successor to the Ingress API and the direction the ecosystem is moving in. Note that it's a specification, not a controller — you run an implementation of it (Traefik, Envoy Gateway, Istio, NGINX Gateway Fabric, the AWS Load Balancer Controller, and others all support it). Install the Gateway API CRDs and an implementation, create a Gateway, then point the chart at it:

The chart generates HTTPRoutes that attach to the Gateway you reference — it does not install the CRDs, the implementation, or the Gateway itself.

Contour

Enabling HTTPS (TLS)

For nginx and traefik, create a Kubernetes TLS secret with your certificate and reference it:

For istio, gateway and projectcontour, TLS is configured on the Gateway / HTTPProxy that you reference, not on the chart — follow your controller's documentation.

Supervisely also has a built-in HTTPS option that terminates TLS inside the platform. For Kubernetes deployments, terminating TLS at the ingress controller (as above) is usually simpler. See HTTPS for the built-in option.

Custom annotations

You can add your own annotations to the generated ingress resources — for example, to work with external-dns or cert-manager:

Checking it works

Confirm the resource shows your host and an external address, then verify DNS for that host resolves to your ingress controller. If the site doesn't load, double-check that the ingress controller is installed and its external IP/hostname is reachable.

Last updated