»Waypoint URL Service

When you deploy your app with Waypoint, you will receive a public waypoint.run URL with a valid TLS certificate automatically generated via Let's Encrypt. You can use this URL to quickly view your deployed applications and to share your applications with others.

A Waypoint URL looks like this: outspoken-laughing-duck.waypoint.run.

The Waypoint URL service is a free, public service hosted by HashiCorp. The URL service is open source, and you can host it yourself, if you choose. We have put limits on the public service to prevent abuse. Operational status for the Hashicorp-hosted version of the service is available on the HashiCorp Services status page.

»App URLs

When you first deploy an application, the Waypoint server registers it a unique URL per-application. Waypoint also registers unique URLs for each workspace.

By default, Waypoint routes an app's URL only to released deployments.

»URL Format

The Waypoint service randomly generates the URL using this pattern: adjective-gerund-noun.waypoint.run. For example: outspoken-laughing-duck.waypoint.run.

»Per-Deployment URLs

You can route an app's URL to a specific deployment, even if that deployment is not released. Waypoint applies a deployment version number to your application each time that you deploy it.

For example, if your app has been deployed three times, Waypoint will associate the version of v3 to the app.

You can route directly to a version of the deployed app by appending the version number to the deployment URL. For example, to route directly to the v2 deployment of the app, append the version number to the URL by using this format: --v2.

Here's an example URL that routes to v2 of the app's deployment: outspoken-laughing-duck--v2.waypoint.run (note the double hyphen).

»Configuration

The URL service is configured in two places: the server and in an app's configuration file (waypoint.hcl).

»Server Configuration

The Waypoint server configuration specifies whether the URL service is enabled and what address is used for the service.

The URL service is enabled by default and points to the public Waypoint URL service. If you want to use the URL service for any of your app's deployed with Waypoint, you must enable the service on the server.

You must enable the URL service on the Waypoint server and also use the Waypoint entrypoint with your app to use Waypoint URLs. You must also accept the Waypoint Terms of Service and Privacy Policy by specifying the "-accept-tos" flag when you install Waypoint. The service is enabled by default. To opt-out of the using the hosted URL service, you must manually run the Waypoint server. To configure the URL service on the server, you use flags with the waypoint server command.

»Project and App-Level Configuration

You can also configure whether the URL service is enabled for each project and app. To learn how to configure the URL service for a project or app, see the waypoint.hcl URL stanza for details.

You must have the URL service enabled on the server to use it for a project or app.

»Protocols

The URL service today only supports HTTP services. We automatically provision and serve a valid TLS certificate and will reject any insecure connections. In the future, we will support other protocols such as general TCP.

»Limits

We apply the following limits to the URL service to prevent abuse:

  • Requests per second. There is a req/s limitation applied per URL to prevent excessive traffic. When this limit is reached connections will be rejected.

  • Bandwidth. There is a bandwidth limitation applied to all URLs to prevent using the URL service for large file transfers. When this limit is reached, bandwidth will be throttled.

These limits cannot be raised today. In the future, we plan on providing account registration to raise limits. HashiCorp has no intention of profiting from this service, but we may charge for increased limits in the future to offset costs. A free tier will always remain.

»Self-Hosting

You may choose to self-host the Waypoint URL service if you would like. Doing this will allow you to use a custom domain and may increase security for you. As a warning, note that the Waypoint URL service was not built with ease of deployment in mind and also requires additional infrastructure resources such as databases. Self-hosting is advanced and is not generally recommended.

The Waypoint URL service is open source and requires two separate components along with their supporting infrastructure. You may find installation instructions in the README files of the services.

The two projects you'll need to deploy are hashicorp/horizon and hashicorp/waypoint-hzn.