Routes are in preview and aren’t enabled by default. Contact Ryvn support to enable them.
Server installations
Each port you expose on a server installation automatically gets a Route that serves it on path/.
You can also write Routes that target server installations, for example to
route paths to different installations. A server installation’s Service has
the installation’s name, and its ports have the names you configured on the installation. Put the Route in the
installation’s namespace, for example with the ryvn-routes chart below.
Helm chart installations
Add a Route to your chart next to the Service it exposes:to is a Service in the Route’s namespace and one of its ports, by name or number. Once the installation deploys, the
Route serves https://web.production.acme-7fk2q.ryvn.run. Ryvn creates the DNS record and the certificate, and
redirects HTTP to HTTPS.
Routes deploy, update, roll back, and uninstall with their installation. Their URLs show up in the installation’s
Settings > Networking tab and in ryvn describe installation.
To use the same chart in every environment, set the hostname in your installation config and read it from your chart’s
values:
ingress.enabled: false, zitadel.configmapConfig.ExternalDomain to
auth.production.acme-7fk2q.ryvn.run, and zitadel.configmapConfig.ExternalPort to 443. Install the ryvn-routes
chart from https://charts.ryvn.app in the same namespace with these values:
zitadel on the chart’s default named port, http2-server (8080). If your chart uses a
different Service name or port, change to to match. The Route serves https://auth.production.acme-7fk2q.ryvn.run.
On Ryvn-managed clusters, Gateway API routes can’t attach to Ryvn’s gateways, so use Routes for those. Gateway API
resources for your own gateways work as usual.
Public and internal
exposure sets where a Route is reachable. For the billing installation’s http port:
Public
This serveshttps://billing.production.acme-7fk2q.ryvn.run on the internet:
Internal
This serveshttp://billing.internal.production.acme-7fk2q.ryvn.run only to your environment’s private network and
connected networks:
Route paths to different installations
Use paths to send one domain to different installations. This Route serves theweb installation on app.acme.com
and the api installation under /api, stripping the prefix so a request for /api/users reaches the API as
/users:
Use your own domain
Routes withpublic exposure can also serve domains you own, such as app.acme.com. If you manage the domain’s DNS
outside Ryvn, create two CNAME records for it at your DNS provider:
- A certificate record, which lets Ryvn issue and renew the domain’s TLS certificate.
- A routing record, which points the domain at your environment’s public load balancer.
Check required DNS records
You can check a domain’s DNS records in the Ryvn Dashboard or with the CLI. In the dashboard, open the installation’s Settings > Networking tab. A domain that still needs records shows Complete DNS setup, which lists each record’s type, name, value, and status. With the CLI, describe the installation:Endpoints section of the output lists the domain’s records and their status:
Missing until Ryvn finds it, Mismatch if it points to a different value, and Valid once it’s
correct.
Troubleshooting
Use Ryvn Connect to inspect a Route and its backend Service. Your access must allow reading Routes, Services, and events in the installation’s namespace. If access requires approval, follow the request and resume steps in the Connect guide first. For the Zitadel example in theproduction namespace:
Ready condition and endpoint messages. For InvalidTarget, compare the Service’s name and
spec.ports with the Route’s to entry. For DNSNotConfigured, check the required DNS records.
An installation can finish deploying before its Route is ready.