kad.dev alpha
kad.dev · docs

Commit URLs, promote and visibility

Updated Oct 8, 2026

Each deployed commit runs at its own your-app-a1b2c3.kad.dev for as long as the deploy exists; exactly one is canonical and also answers on your-app.kad.dev. Promote moves that pointer. Promoting an older commit is the rollback.

The two addresses

A commit URL never changes. It goes silent while the commit is stopped and dies only when you delete the commit. The canonical host moves on Promote and Demote. Hostnames are assigned by the platform: read them from the dashboard, or from deploy_files and list_deployments. A custom domain follows the canonical commit.

Starting a build

Deploy on a commit in the graph, or deploy_project / deploy_files from an agent. No webhook: git push builds nothing. Auto-promote builds of the tracked branch (Settings → Deploy) promotes a successful build of its newest commit; it starts no build, and an older commit's build does not move production. Deploy and promote in an unbuilt commit's More menu does both.

Promote, demote, roll back

Promote a built commit and the previous one keeps running at its own URL, minus the bare host. Rollback is Promote on an older commit: no rebuild if it is still deployed; a stopped one must be started first, a deleted one deployed again.

Code moves, data stays, unless you pick a Restore point instead of Keep current data in the dialog: that loses everything written since (restore points).

illustration
Promote an older commit twice: Keep current data moves only the code; Restore point moves the data back too and the writes since are lost

Demote canonical clears the pointer and picks nothing: the bare host serves nothing until you promote again. Stop and Delete refuse the canonical commit; demote first.

Private by default

A new commit answers 302 to the sign-in page for everyone but you. To you, signed in, it looks fine; to your client it looks broken. Our most reported non-bug.

Select the commit in the graph, Actions → Make public; Make private takes it back; agents call expose_commit. The default lives in Settings → Deploy → Access, Private or Public for new commits; it applies to commits created afterwards, and redeploying changes nothing.

Stop, start, delete, redeploy

  • Stop shuts the app down and keeps its data (stop_commit); Start brings it back from the built image, no rebuild (start_commit).
  • Delete is final: deployment, data and restore points go; logs stay readable. Deploying the commit again gives a fresh deployment.
  • Redeploy restarts a deployment without rebuilding.

Limits

  • Previews are per commit, not per pull request.
  • A private preview cannot be shared as is: make it public.
  • Static assets sit in an edge cache for a few hours; Promote and a visibility change clear it.
BUILT SLOWLY · SOLO · EU-HOSTED | BUILD 2a0ff80