Generated URLs
The teral.run addresses every deployment gets.
Every deployment gets several teral.run addresses as soon as it's ready, with HTTPS and no DNS setup. Some always point at that one deployment. Others move to newer deployments.
The patterns
In the patterns below, <name> is <project>-<app>, made of the project and app slugs. For an app whose slug is default, it's only the project slug. <workspace> is your workspace slug.
| URL | Points to | Moves? |
|---|---|---|
<name>-<workspace>.teral.run | The live production deployment | Yes, production only |
<name>-<environment>-<workspace>.teral.run | The newest deployment in the environment | Yes |
<name>-git-<branch>-<workspace>.teral.run | The newest deployment of the branch | Yes |
<name>-git-<commit>-<workspace>.teral.run | The deployment of that commit, using the first 7 characters of the SHA | No |
<name>-<deployment-id>-<workspace>.teral.run | Exactly that deployment | No |
For a project shop with an app web, in the workspace acme, and a branch feature/login:
shop-web-acme.teral.run live production
shop-web-production-acme.teral.run newest production deployment
shop-web-preview-acme.teral.run newest preview deployment
shop-web-git-feature-login-acme.teral.run newest deployment of feature/login
shop-web-git-3f9a2b1-acme.teral.run commit 3f9a2b1Which one to use
- Share a preview: the branch URL. It stays the same while you keep pushing.
- Point tests at an environment: the environment URL.
- Reference an exact version, in a bug report for example: the commit or deployment URL. They never change.
- Real users: a custom domain.
How names are formed
Branch names are lowercased, and every character other than a letter or digit becomes a hyphen: feature/Login_v2 becomes feature-login-v2. A domain label can be 63 characters at most. If a URL would be longer, Teral shortens it and adds a short hash, so long branch names still get a stable URL.
Pull requests from forks also include the fork's owner, as <name>-fork-<owner>-git-….