Preview domains
Instant
*.cnap.app URLs for every installation. No DNS, no certificates, no configuration.Cloudflare Tunnel
Route through Cloudflare’s network using your own account. No public IPs required.
Direct IP
Point your DNS at your worker nodes. Full control over routing and TLS.
Domain routing API
Automate workspace subdomains, preview hostnames, and custom domains.
Choosing an approach
| Preview domains | Cloudflare Tunnel | Direct IP | |
|---|---|---|---|
| Public IP required | No | No | Yes |
| DNS setup | Automatic | Automatic (Akua-managed) | You manage A records |
| TLS | Automatic | Cloudflare edge | Bring your own |
| Best for | Development, demos, quick sharing | Production custom domains without public IPs | Full control, existing infrastructure |
| Traffic path | Cloudflare edge → tunnel → app | Cloudflare edge → tunnel → app | DNS → worker node → app |
How routing works
All three options use Gateway API routing on your cluster. When you expose a hostname, a route is created that matches incoming requests by hostname and forwards them to the correct application. A gateway controller on the cluster detects the route and configures the appropriate gateway (Cloudflare Tunnel, Cilium’s built-in envoy proxy, or another compatible controller). Because routing is defined through standard Kubernetes Gateway API resources, it works with GitOps workflows, authored Packages, chart sources, andkubectl apply. Akua’s UI is one way to create routes, not the only way.
For Packages that expose web ports through Akua’s generated install flow, Akua can automate routing setup: toggle Expose externally on a port, enter a hostname, and Akua creates the route for you. Chart sources can also create routes through their own values when the Package exposes those inputs.
Related topics
Domain routing API
Manage preview hostnames, workspace subdomains, and custom domains programmatically.
Installations
Deploy applications to your clusters.
Clusters
Create and manage the clusters your applications run on.
API authentication
Set up API tokens for programmatic access.