Waypoint utilizes "runners" to execute operations. Every build, deploy, or release operation happens on a Waypoint runner. Waypoint has three kinds of runners:
When you trigger an action with the CLI, i.e. by running
waypoint deploy, the CLI acts as a runner
capable of performing your operation. If your deployment needs AWS credentials, or a valid kubectl context,
it can access the credentials on the developer workstation that it's running on.
If you only use Waypoint from the CLI, this is the only kind of runner that is used.
Not every operation in Waypoint needs to happen in response to a CLI invocation from a privileged workstation. Waypoint can trigger deployments from the UI or automatically based on git changes, or automatically poll the status of applications in the background. In these cases, Waypoint needs a "remote runner", a long-lived runner that is always available to run these operations.
Waypoint automatically installs a single remote runner by default when the Waypoint
server is installed with
While the remote runner is capable of performing operations on its own, it also supports plugins to spawn on-demand runners for a given platform. These on-demand runners are ephemeral container instances that perform one operation before exiting. These on-demand runners can perform container builds without any privileged access, offer more isolation between operations, and allow Waypoint to scale further.
On-demand runners are configured with
profiles: see runner profiles for more information.
Runners can be disabled if desired. With runners disabled, Waypoint executes all operations via the local CLI (even when communicating with a remote server).
With runners disabled, certain functionality becomes unavailable:
- Remote operations
- Git polling
In addition to disabled functionality, consider that all clients must now have proper credentials for the target platforms (such as AWS, GCP, etc.) since without runners they must execute all operations locally.
»Disabling Runner Installation
Prior to installation, runners can be disabled by specifying the
-runner=false flag to the
waypoint install command.
This will not install a runner.
To uninstall a runner that is already installed, the only option today is to uninstall and reinstall Waypoint with a data snapshot and restore. You may also manually go into your platform and delete the runner, but Waypoint can't automate this for you today.