Waypoint URL Service
Warning
This content is part of the legacy version of Waypoint that is no longer actively maintained. For additional information on the new vision of Waypoint, check out this blog post and the HCP Waypoint documentation.
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.
For Development Only! Waypoint URLs should only be used for development purposes and do not currently support production-level traffic at this time. We do plan to add production-level support to the URL service in the future.
Warning: The URLs generated by Waypoint are publicly routable. If you do not want the public to view your application, either disable the URL for your app or do not share the URL with others.
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.