Every app is reachable over HTTPS the moment it deploys, joins a private account network, and serves its static files from every edge. None of that requires configuration.

HTTPS and domains

Every app gets https://<name>.kedge.run; previews use https://<name>--<branch>.kedge.run. Certificates are issued and replicated automatically.

For a custom domain, add it on the app page or with kedge domain add, then create the shown ownership TXT record and CNAME or apex A/AAAA/ALIAS records. kedge domain check reports verification and DNS diagnostics. Kedge issues the certificate when verification passes.

To register a new name rather than attach one you already own:

kedge domains search notes
kedge domains buy notes.example --app myapp

Registration draws on your credit balance and attaches the domain to the app. New registrations auto-renew; kedge domains autorenew <name> off stops that, and kedge domains list and kedge domains renew cover the rest.

public ingress and CDN

Compose ports publishes a service at the app's HTTPS hostname. expose remains private. Services with persistent volumes stay private; put a public service in front of them.

Static site files and the static half of handler sites are cached at every edge with ETag support. Known route misses return 404 without waking a VM. Deploys purge changed paths automatically; X-Cache shows edge hits. See sites & routing for route-tree and fallback behavior.

private networking

Apps join the account network by default. Sibling services resolve by bare name, and services in your other apps resolve under .internal. Other accounts and the public internet cannot initiate traffic.

name target
<service> sibling service in the same app
<service>.<app>.internal service in one of your apps
<app>.internal single-service app
<ordinal>.<service>.<app>.internal one stable member

Autoscaled services use a stable virtual address that wakes an instance on connect. Stable members keep one private address across pause, migration, and re-home.

Explicit project networks are not yet supported. Compose may omit networks or attach every service to the reserved external network named kedge. See the Compose reference.

Static addresses, host networking, custom network drivers, and cross-account networks are not exposed.

global routing

Latency-aware DNS and stable anycast addresses route requests to a nearby edge. Static files serve locally; handler and service requests use the encrypted fleet mesh to reach warm capacity. Autoscaled instances follow demand. Each stable member runs in one region at a time and can move without changing identity.

See global coverage for compute regions and measured network latency.