> ## Documentation Index
> Fetch the complete documentation index at: https://docs.akua.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Networking

> Routes, gateways, and domains for your applications

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/akua-1dce587a/NTgnQstkErDoAPAb/images/heros/networking-light.svg?fit=max&auto=format&n=NTgnQstkErDoAPAb&q=85&s=1f98dcb4aa2d004e37683590e8b27294" alt="Preview, tunnel, and direct IP arrival methods converging on one gateway route and app inside a cluster" width="1536" height="864" data-path="images/heros/networking-light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/akua-1dce587a/NTgnQstkErDoAPAb/images/heros/networking-dark.svg?fit=max&auto=format&n=NTgnQstkErDoAPAb&q=85&s=2e7e19133133769e6900aa61c5b59642" alt="Preview, tunnel, and direct IP arrival methods converging on one gateway route and app inside a cluster" width="1536" height="864" data-path="images/heros/networking-dark.svg" />
</Frame>

Networking covers how your applications become reachable from the internet. Every access method uses standard Gateway API routing on your cluster. The difference is how traffic arrives at your workers and who manages DNS and certificates.

<CardGroup cols={2}>
  <Card title="Preview domains" icon="globe" href="/networking/preview-domains">
    Instant `*.akua.run` URLs for every installation. No DNS, no certificates, no configuration.
  </Card>

  <Card title="Cloudflare Tunnel" icon="cloud" href="/networking/cloudflare-tunnel">
    Route through Cloudflare's network using your own account. No public IPs required.
  </Card>

  <Card title="Direct IP" icon="server" href="/networking/direct-ip">
    Point your DNS at your worker nodes. Full control over routing and TLS.
  </Card>

  <Card title="Domain routing API" icon="code" href="/apis/domain-routing">
    Automate workspace subdomains, preview hostnames, and custom domains.
  </Card>
</CardGroup>

## 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, and `kubectl 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

<CardGroup cols={2}>
  <Card title="Domain routing API" icon="code" href="/apis/domain-routing">
    Manage preview hostnames, workspace subdomains, and custom domains programmatically.
  </Card>

  <Card title="Installations" icon="box" href="/installs">
    Deploy applications to your clusters.
  </Card>

  <Card title="Clusters" icon="server" href="/clusters">
    Create and manage the clusters your applications run on.
  </Card>

  <Card title="API authentication" icon="key" href="/apis/authentication">
    Set up API tokens for programmatic access.
  </Card>
</CardGroup>
