Skip to main content

Documentation Index

Fetch the complete documentation index at: https://akua-1dce587a.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Every deployment gets a public HTTPS URL on *.cnap.app, with no DNS records, no certificates, and no configuration. Toggle Expose externally on a port and Akua assigns a managed hostname that works with Cloudflare’s standard wildcard certificate. For custom domains or more control over routing, Akua also supports bringing your own Cloudflare Tunnel or routing directly to your nodes. Other platforms offer preview URLs too (Vercel, Cloudflare Workers, Fly.io), but they run your app on shared infrastructure. Akua preview domains are different: your app stays on your clusters, on your servers. Cloudflare only handles the edge routing; traffic flows through a tunnel directly to the workload running on your infrastructure.

How it works

  1. You expose a port on your app.
  2. Akua assigns a managed hostname, for example frontend-acme.cnap.app or pr-42-frontend-acme.cnap.app.
  3. Your cluster publishes the tunnel endpoint for that app.
  4. Cloudflare handles TLS, then Akua routes the request through the selected tunnel to your app.
Browser → Cloudflare Edge (TLS) → Tunnel → Your Cluster → App

Why use preview domains

  • Zero setup: no DNS provider, no certificate authority, no gateway configuration.
  • Instant sharing: send a link to a teammate or client the moment you deploy.
  • Your infrastructure: traffic routes to your own cluster, not a shared platform. You keep full control over where your workload runs.
  • Automatic HTTPS: TLS is terminated at Cloudflare’s edge; every URL is secure by default.

Limitations

Preview domains are fully managed by Akua (the tunnel, the subdomain, and the DNS), which means you don’t control the Cloudflare configuration. There are no options for access policies, custom headers, or tunnel-level settings. For production workloads that need custom domains or fine-grained tunnel configuration, Akua supports bringing your own Cloudflare Tunnel: you connect your own Cloudflare account and manage the tunnel settings yourself. You can also point your DNS directly at your worker nodes for full control over the routing stack.

Under the hood

Preview domains use the same Cloudflare Tunnel infrastructure as custom domain tunnels, but Akua manages the Cloudflare account and credentials on your behalf. One tunnel per cluster. The first time you expose a port with a preview domain, Akua provisions a Cloudflare Tunnel for your cluster and deploys a cloudflared agent. Subsequent preview domains on the same cluster reuse the same tunnel; no additional infrastructure is created. Akua assigns a managed hostname. When you expose a port, Akua creates a flat hostname under cnap.app, such as frontend-acme.cnap.app. Preview builds use the same shape with a short prefix, such as pr-42-frontend-acme.cnap.app. Flat hostnames keep managed URLs covered by the standard wildcard certificate; deeper nested names such as frontend.acme.cnap.app are not used for managed preview domains. Routing is Kubernetes-native. Exposing a port creates a standard Gateway API route on your cluster. A controller watches for these routes and publishes tunnel endpoint metadata back to Akua. Because routing is defined through standard Kubernetes Gateway API resources, it works with GitOps workflows, custom Helm charts, and kubectl apply. Akua’s UI is one way to create routes, not the only way. DNS is managed centrally. Preview domains share Akua-managed wildcard DNS and edge routing. Akua does not create a DNS record for every deployment hostname, so creating and deleting preview URLs stays fast even when a workspace has many installs or short-lived previews. Routing records are updated by Akua. Unlike custom domain tunnels where you manage a domain in your own Cloudflare account, managed preview domains route through Akua’s edge. When an app is created, updated, or removed, Akua updates the routing record for the hostname and Cloudflare sends future requests to the current tunnel endpoint. Credentials never touch your cluster. Akua’s Cloudflare credentials are managed centrally. The controller on your cluster authenticates with Akua’s API using a scoped service account token and never holds Cloudflare API keys directly.

API

Manage preview hostnames programmatically to create preview URLs in CI/CD pipelines or automate cleanup.

Preview hostnames API

Bind, list, and delete preview hostnames for an installation.

Domain routing API

Overview of all domain routing resources and authentication.

Networking overview

Compare all options for exposing apps.

Cloudflare Tunnel

Use your own custom domain with Cloudflare.

Direct IP

Route directly to worker IPs instead.

Domain routing API

Automate hostname management through the API.